* mips-tdep.c (mips_extract_return_value): Fix returning of
[deliverable/binutils-gdb.git] / gas / ChangeLog
1 Mon Jul 31 21:40:47 1995 Ken Raeburn <raeburn@cygnus.com>
2
3 Sat Jul 29 18:55:23 1995 Pat Rankin <rankin@eql.caltech.edu>
4
5 * config/obj-vms.c (COPY_SHORT, COPY_LONG, PUT_SHORT, PUT_LONG):
6 Make expansion be safe for use in expressions.
7 (PUT_COUNTED_STRING): Bracket expansion with `do {...} while (0)'
8 rather than just `{...}'.
9
10 Mon Jul 31 18:19:26 1995 steve chamberlain <sac@slash.cygnus.com>
11
12 * gasp.c (main): Parse -I option.
13 (do_include): Look through include list.
14 * gasp.c (change_base): Don't modify numbers in strings.
15 (pr7583)
16
17 * testsuite/gasp/*: New.
18 * testsuite/Makefile.in: Use gasp tests.
19 * testsuite/config/default.exp: Add gasp stuff.
20
21 Mon Jul 31 12:16:21 1995 Ian Lance Taylor <ian@cygnus.com>
22
23 * config/tc-ppc.h (SUB_SEGMENT_ALIGN): Define. From Niclas
24 Andersson <nican@ida.liu.se>.
25
26 Thu Jul 27 20:47:12 1995 Ken Raeburn <raeburn@cygnus.com>
27
28 * config/obj-coff.c (fixup_segment): Don't do further pcrel
29 processing after converting difference of two symbols in the
30 same segment. From Jim Wilson.
31
32 * configure.in (i386-*-linuxoldld): Add as synonym for
33 i386-*-linux*aout*. From Fred Fish.
34 * configure: Regenerated.
35
36 Thu Jul 27 16:14:56 1995 Pat Rankin <rankin@eql.caltech.edu>
37
38 * config/obj-vms.c (enum ps_type {ps_TEXT,ps_DATA,ps_COMMON,
39 ps_CONST}): New constants.
40 (VMS_Psect_Spec): Use them instead of literal strings.
41 (vms_write_object_file, global_symbol_directory): Adjust callers.
42
43 Wed Jul 26 18:31:35 1995 Pat Rankin <rankin@eql.caltech.edu>
44
45 * config/obj-vms.c (const_flag): Change from char to unsigned char.
46 * config/obj-vms.h (const_flag): Ditto.
47 (struct nlist): Replace union n_un and n_un.{n_name,n_next,n_strx}
48 fields with just n_name; delete field n_value; change n_other from
49 char to unsigned char and n_desc from short to int; insert explicit
50 padding for alignment.
51
52 Mon Jul 24 20:06:17 1995 Ken Raeburn <raeburn@cygnus.com>
53
54 * subsegs.h (struct seg_info_trash): Make bitfield types valid.
55
56 * config/obj-coff.c (fixup_segment): Local add_number should not
57 be declared register since its address is taken for
58 MD_APPLY_FIX3.
59
60 Fri Jul 21 15:28:18 1995 Pat Rankin <rankin@eql.caltech.edu>
61
62 Split huge vms_write_object_file routine into managable pieces.
63
64 * config/obj-vms.c (vms_fixup_text_section, synthesize_data_segment,
65 vms_fixup_data_section, global_symbol_directory, local_symbols_DST,
66 vms_build_DST): New routines.
67 (vms_write_object_file): Call them.
68 (struct vms_obj_state): New file scope variable used by the above.
69
70 Mon Jul 24 14:10:24 1995 Ian Lance Taylor <ian@cygnus.com>
71
72 * config/tc-sh.c (md_pseudo_table): Add "uses".
73 (s_uses): New static function.
74 (sh_coff_frob_file): New function.
75 (md_convert_frag): Call subseg_change before calling fix_new.
76 (sh_handle_align): New function.
77 (SWITCH_TABLE): Define.
78 (sh_force_relocation): New function.
79 (md_apply_fix): Handle R_SH_USES, R_SH_COUNT and R_SH_ALIGN.
80 (sh_coff_reloc_mangle): Likewise. Also handle switch table
81 entries.
82 * config/tc-sh.h (HANDLE_ALIGN): Define.
83 (sh_handle_align): Declare.
84 (TC_FORCE_RELOCATION): Define.
85 (sh_force_relocation): Declare.
86 (TC_COUNT_RELOC): Simplify; rely on TC_FORCE_RELOCATION instead.
87 (tc_frob_file): Define.
88 (sh_coff_frob_file): Declare.
89 * config/obj-coff.c (write_object_file): Call tc_frob_file if it
90 is defined.
91 (fixup_mdeps): Call HANDLE_ALIGN if it is defined.
92 (TC_FORCE_RELOCATION): Define if not defined.
93 (fixup_segment): Use TC_FORCE_RELOCATION to decide whether to
94 clear the symbol fields of fixP.
95
96 Fri Jul 21 22:38:00 1995 Michael Meissner <meissner@cygnus.com>
97
98 * config/tc-ppc.c (ppc_elf_suffix): Add support for R_PPC_SDAREL
99 relocation.
100 (md_apply_fix3): Ditto.
101
102 Thu Jul 20 13:00:56 1995 Ken Raeburn <raeburn@cygnus.com>
103
104 * config/tc-m68k.c (md_convert_frag): Rename argument seg to sec,
105 since seg is a macro name in this file.
106
107 * configure.in (arm-*-riscix*): Don't set emulation.
108
109 Wed Jul 19 16:08:29 1995 Doug Evans <dje@canuck.cygnus.com>
110
111 * config/obj-coff.h (TE_PE): Delete.
112 * config/tc-arm.h (BYTE_ORDER): Delete.
113 (TARGET_FORMAT): Provide value for OBJ_COFF and TE_PE.
114 (ARM_BI_ENDIAN): Define if OBJ_COFF and TE_PE.
115 * config/tc-arm.c (byte_order): Delete.
116 (md_number_to_chars): Reference target_big_endian, not byte_order.
117 (md_chars_to_number): Likewise.
118 (md_longopts): Add -EB/-EL if ARM_BI_ENDIAN.
119 (md_parse_options): Recognize -EB/-EL.
120 (md_show_usage): List -EB/-EL.
121
122 Wed Jul 19 11:49:25 1995 Ian Lance Taylor <ian@cygnus.com>
123
124 * gasp.c (process_assigns): Use toupper before comparing against
125 upper case letter.
126 (whatcond): Likewise.
127
128 * config/tc-sh.c (sh_relax): Rename from relax, and make global.
129 Renamed all uses.
130 (insert): Pass a size of 2, not 4.
131 (build_relax): Remove unused len variable.
132 (md_show_usage): Mention -little option.
133 (md_convert_frag): Add segT argument. Rewrite to generate relocs
134 rather than to generate complete instructions here.
135 (md_apply_fix): Adjust and clarify R_SH_PCRELIMM8BY4 case for
136 changes in insert and md_pcrel_from. Add cases for R_SH_PCDISP
137 and R_SH_PCDISP8BY2.
138 (md_pcrel_from): Don't subtract 1, add 2.
139 (tc_coff_fix2rtype): Remove.
140 (sh_coff_reloc_mangle): New function.
141 * config/tc-sh.h (TC_COFF_FIX2RTYPE): Just return fx_r_type.
142 (sh_relax): Declare.
143 (TC_COUNT_RELOC): If relaxing, count PC relative relocs.
144 (TC_RELOC_MANGLE): Define.
145 (sh_coff_reloc_mangle): Declare.
146 (tc_coff_sizemachdep): Declare.
147 * tc.h (md_convert_frag): Add segT parameter to non BFD_ASSEMBLER
148 declaration.
149 * write.c (cvt_frag_to_fill): Add sec argument to non
150 BFD_ASSEMBLER version. Pass it to md_convert_frag.
151 (write_object_file): Pass SEG_TEXT to cvs_frag_to_fill.
152 * config/obj-coff.c (do_relocs_for): Pass segment info to
153 TC_RELOC_MANGLE.
154 (fixup_mdeps): Pass segment type to md_convert_frag.
155 * config/tc-a29k.c (md_convert_frag): Add segT argument.
156 * config/tc-h8300.c (md_convert_frag): Likewise.
157 * config/tc-h8500.c (md_convert_frag): Likewise.
158 * config/tc-i386.c (md_convert_frag): Likewise.
159 * config/tc-i860.c (md_convert_frag): Likewise.
160 * config/tc-i960.c (md_convert_frag): Likewise.
161 * config/tc-m68k.c (md_convert_frag): Likewise.
162 * config/tc-m88k.h (md_convert_frag): Likewise.
163 * config/tc-ns32k.c (md_convert_frag): Likewise.
164 * config/tc-rce.c (md_convert_frag): Likewise.
165 * config/tc-tahoe.c (md_convert_frag): Likewise.
166 * config/tc-vax.c (md_convert_frag): Likewise.
167 * config/tc-w65.c (md_convert_frag): Likewise.
168 * config/tc-z8k.c (md_convert_frag): Likewise.
169 * config/tc-h8300.h (TC_RELOC_MANGLE): Add segment argument.
170 * config/tc-h8500.h (TC_RELOC_MANGLE): Likewise.
171 * config/tc-rce.h (TC_RELOC_MANGLE): Likewise.
172 * config/tc-w65.h (TC_RELOC_MANGLE): Likewise.
173 * config/tc-z8k.h (TC_RELOC_MANGLE): Likewise.
174
175 Mon Jul 17 15:02:54 1995 Pat Rankin <rankin@eql.caltech.edu>
176
177 * config/obj-vms.c (Current_Routine, Text_Psect): Delete as file
178 scope variables.
179 (Define_Routine, Define_Local_Symbols): Take Current_Routine and
180 Text_Psect as arguments.
181 (VMS_DBG_Define_Routine): Delete.
182 (VMS_TBT_Block_End): Change `Size' argument from int to valueT.
183 (vms_write_object_file: text and data fixup loops): Difference
184 of two symbols has type offsetT rather than int; convert with
185 md_number_to_chars before passing to VMS_Store_Immediate_Data.
186 (vms_write_object_file: debug symbol loop): Call Define_Routine
187 instead of VMS_DBG_Define_Routine.
188
189 Sat Jul 15 00:01:35 1995 Michael Meissner <meissner@cygnus.com>
190
191 * config/tc-ppc.c (ppc_elf_suffix): Add @fixup so that the
192 compiler can mark which relocs not to complain about with
193 -mrelocatable.
194 (ppc_elf_validate_fix): Add .fixup to sections not to complain
195 about, and also don't complain for BFD_RELOC_CTOR relocations in
196 writable non-code segments.
197 (md_apply_fix): Treat BFD_RELOC_CTOR just like BFD_RELOC_32.
198
199 Fri Jul 14 19:54:28 1995 Ian Lance Taylor <ian@cygnus.com>
200
201 Add support for SPARC SunOS PIC:
202 * config/tc-sparc.h (sparc_pic_code): Always declare, not just
203 when OBJ_ELF.
204 (TC_RELOC_RTSYM_LOC_FIXUP): Define when OBJ_AOUT.
205 (tc_fix_adjustable): New definition for OBJ_AOUT.
206 * config/tc-sparc.c (sparc_pic_code): Always define, not just when
207 OBJ_ELF.
208 (md_apply_fix): Adjust reloc addend for OBJ_AOUT and PIC. In
209 BFD_RELOC_32_PCREL_S2 case, don't increment val for an external
210 symbol when PIC.
211 (tc_gen_reloc): Generate different PIC relocs when OBJ_AOUT, as
212 well as when OBJ_ELF.
213 (md_shortopts): If OBJ_AOUT, include `k'.
214 (md_parse_option): If OBJ_AOUT, handle 'k'.
215 (md_show_usage): Mention -k if OBJ_AOUT, and -KPIC if OBJ_ELF.
216 (md_pcrel_from): Don't add in size for an external symbol when
217 PIC.
218
219 start-sanitize-arc
220 Fri Jul 14 10:26:43 1995 Doug Evans <dje@canuck.cygnus.com>
221
222 * config/tc-arc.c (byte_order): Provide explicit initial value.
223 end-sanitize-arc
224
225 Thu Jul 13 21:16:43 1995 Jeff Law (law@snake.cs.utah.edu)
226
227 * config/tc-hppa.h (UNDEFINED_DIFFERENCE_OK): Define for SOM.
228 * write.c (adjust_reloc_syms): Set sy_used_in_reloc for both
229 symbols in a fixup where a defined symbol is subtracted from an
230 undefined symbol (when UNDEFINED_DIFFERENCE_OK is defined).
231 (fixup_segment): Do nothing for the difference of two symbols if
232 UNDEFINED_DIFFERENCE_OK is defined.
233
234 Wed Jul 12 23:33:40 1995 Ian Lance Taylor <ian@cygnus.com>
235
236 * config/obj-coff.c (fixup_segment): Support MD_APPLY_FIX3.
237
238 Wed Jul 12 01:12:12 1995 Ken Raeburn <raeburn@kr-pc.cygnus.com>
239
240 * write.c (fix_new): Use int, not short int, for argument type.
241 (fix_new_exp): Ditto.
242
243 * configure.in (arm-*-riscix*): Don't set emulations.
244
245 * config/tc-mips.c (NO_ECOFF_DEBUGGING): Define if ECOFF_DEBUGGING
246 wasn't previously defined.
247 (s_extern): Don't set ecoff_extern_size if NO_ECOFF_DEBUGGING.
248 (nopic_need_relax): Don't check it if NO_ECOFF_DEBUGGING.
249 (macro_build) [!USE_STDARG]: Don't use variadic prototype.
250 (mips_local_label) [NO_ECOFF_DEBUGGING]: Don't preserve potential
251 ECOFF debugging symbols.
252
253 * emul.h (struct emulation): Use unsigned, not unsigned char, for
254 bitfields.
255 * obj.h (struct format_ops): Likewise.
256
257 * config/tc-arm.c (symbol_make_empty) [BFD_ASSEMBLER]: Set
258 udata.p, not udata.
259
260 Tue Jul 11 14:30:19 1995 Ian Lance Taylor <ian@cygnus.com>
261
262 * doc/c-mips.texi: Document -m4010 and -mno-4010.
263
264 Tue Jul 11 14:28:55 1995 Jeff Spiegel <jeffs@lsil.com>
265
266 * config/tc-mips.c (mips_4010): New static variable.
267 (interlocks): New static variable.
268 (md_begin): Check for a cpu of "r4010". Set mips_4010 correctly.
269 If mips_4650 or mips_4010, set interlocks.
270 (append_insn): Check interlocks, not mips_4650.
271 (mips_emit_delays): Likewise.
272 (mips_ip): Only permit INSN_4010 instructions if mips_4010.
273 (md_longopts): Add "m4010" and "no-m4010".
274 (md_parse_option): Accept -mcpu=r4010. Handle -m4010 and
275 -no-m4010.
276 (md_show_usage): Document -m4010 and -no-m4010.
277
278 Tue Jul 11 13:22:50 1995 Ian Lance Taylor <ian@cygnus.com>
279
280 * ecoff.c (struct efdr): Add new field fake.
281 (init_file): Initialize fake.
282 (add_file): Add new parameter fake. Change all callers.
283 (ecoff_build_debug): Don't warn about a missing .end for a fake
284 file.
285
286 Mon Jul 10 16:01:31 1995 Ken Raeburn <raeburn@cygnus.com>
287
288 * doc/as.texinfo: Split out most cpu chapters...
289 * doc/c-*.texi: ...to here.
290
291 * read.c (po_hash): Now static.
292
293 Mon Jul 10 13:47:22 1995 Ian Lance Taylor <ian@cygnus.com>
294
295 Based on patches from H.J. Lu <hjl@nynexst.com>:
296 * config/tc-i386.c (md_apply_fix3): Rename from md_apply_fix1.
297 Accept pointer to value and segment. Fix OBJ_ELF PCREL case to
298 handle global defined symbols correctly.
299 (md_apply_fix): Remove both versions.
300 * config/tc-i386.h (MD_APPLY_FIX3): Define.
301
302 * configure.in: When switching on ${cpu}, use ${cpu}, not
303 $[target_cpu}, in default case.
304 * configure: Rebuild.
305
306 Sat Jul 8 13:27:55 1995 Ian Lance Taylor <ian@cygnus.com>
307
308 * write.c (fixup_segment): Call resolve_symbol_value on
309 sub_symbolP, in case it isn't in the symbol table.
310
311 Fri Jul 7 11:17:27 1995 Ian Lance Taylor <ian@cygnus.com>
312
313 * read.c (s_lcomm): For .lcomm 1, set align to 0, not 1.
314
315 * config/obj-coff.c (coff_frob_symbol): If SF_GET_FUNCTION, set
316 BSF_FUNCTION.
317 (symbol_globalP, symbol_global_lastP): New global variables.
318 (yank_symbols): Sort defined global symbols to the end, just
319 before the undefined symbols.
320 (glue_symbols): Add two arguments, and use them instead of
321 referring directly to global variables.
322 (crawl_symbols): Call glue_symbols twice, once for defined globals
323 and once for undefined. Add corresponding know calls.
324
325 * app.c (do_scrub_next_char): Always accept \v. Don't make it
326 conditional on BACKSLASH_V.
327 * read.c (next_char_of_string): Likewise.
328 * config/obj-bout.h (BACKSLASH_V): Don't define.
329 * config/tc-mips.h (BACKSLASH_V): Don't define.
330
331 Add SPARC ELF PIC support.
332 * write.c (fixup_segment): Pass fixP to TC_RELOC_RTSYM_LOC_FIXUP,
333 not fixP->fx_r_type.
334 * config/tc-sparc.c (sparc_pic_code): New global variable.
335 (md_apply_fix): If generating PIC, adjust fx_addnumber for any non
336 PC relative reloc.
337 (tc_gen_reloc): If generating PIC, adjust various reloc types.
338 Remove fx_pcrel assert, since it is no longer true.
339 (md_parse_option): Handle -K PIC.
340 * config/tc-sparc.h (sparc_pic_code): Declare if OBJ_ELF.
341 (TC_RELOC_RTSYM_LOC_FIXUP): Define if OBJ_ELF.
342 (tc_fix_adjustable): Don't adjust PC relative relocs if PIC.
343 * config/tc-i386.h (TC_RELOC_RTSYM_LOC_FIXUP): Take a fixp, not a
344 reloc type.
345
346 * Makefile.in (Makefile): Add dependency on conf.in, so that conf
347 is rebuilt when conf.in changes.
348
349 Thu Jul 6 16:49:38 1995 Ken Raeburn <raeburn@cygnus.com>
350
351 * All files: Updated FSF address.
352
353 Thu Jul 6 16:30:34 1995 Jim Wilson <wilson@chestnut.cygnus.com>
354
355 * ecoff.c (add_file): Don't collapse multiple .file commands into
356 a single file structure.
357 (ecoff_build_lineno): Set ilineBase to sum of previous file's
358 ilineBase and cline.
359
360 Thu Jul 6 12:54:27 1995 Ian Lance Taylor <ian@cygnus.com>
361
362 Patches from Jerry Blakely <gerry_blakley@wellfleet.com>:
363 * as.c (listing_filename): New static variable.
364 (show_usage): Mention -a=file.
365 (parse_args): Support = option of -a to set name of listing file.
366 (main): Pass listing_filename to listing_print.
367 * listing.c (list_file): New static variable.
368 (various): Replace printf with fprintf to list_file.
369 (listing_print): If name argument is not NULL, open it as
370 list_file.
371 * doc/as.texinfo, doc/as.1: Document -a=file.
372
373 * config/tc-sparc.c (s_reserve): Don't permit redefinition, even
374 if the symbol was already in bss_section. Fix warning message.
375
376 * listing.c (struct file_info_struct): Rename end_pending field to
377 at_end.
378 (file_info): Initialize at_end, not end_pending.
379 (buffer_line): If at_end set, just return immediately. Don't
380 worry about end_pending cases. Set at_end when EOF is read.
381 (print_source): Check at_end, not end_pending.
382 (listing_listing): Likewise.
383
384 * config/tc-alpha.h (alpha_do_align): Don't declare.
385 (md_do_align): Don't define.
386 (tc_frob_label): Define.
387 (alpha_define_label): Declare.
388 (md_flush_pending_output): Define.
389 (alpha_flush_pending_output): Declare.
390 * config/tc-alpha.c (insn_label): New static variable.
391 (auto_align): New static variable.
392 (md_pseudo_table): Add cases for .text, .data, .align, .byte,
393 .hword, .int, .long, .octa, .quad, .short, .word, .double, .float,
394 and .single. Change .t_floating, .s_floating, .f_floating,
395 .g_floating, and .d_floating to use s_alpha_float_cons rather than
396 float_cons.
397 (s_alpha_text, s_alpha_data): New static functions.
398 (s_rdata, s_sdata): Clear insn_label and set auto_align.
399 (s_gprel32): If auto_align, align. Clear insn_label.
400 (emit_insn): Clear insn_label.
401 (s_alpha_align): New static function.
402 (alpha_align): Make static. Take label argument.
403 (alpha_flush_pending_output): New static function.
404 (s_alpha_cons, s_alpha_float_cons): New static functions.
405 (alpha_define_label): New function.
406
407 Wed Jul 5 22:49:31 1995 Ken Raeburn <raeburn@cygnus.com>
408
409 * conf.in: Regenerate with autoreconf.
410
411 Mon Jul 3 19:47:53 1995 Pat Rankin (rankin@eql.caltech.edu)
412
413 * config/obj-vms.h (vms_resolve_symbol_redef): Use full prototype.
414 (vms_check_for_special_label, tc_frob_label): Move them to group
415 with other prototypes.
416 [WANT_VMS_OBJ_DEFS]: Only define the many OBJ_x, DBG_x, and DST_x
417 macros when this is defined.
418 * config/obj-vms.c: Fully prototype all local functions.
419 [symbolS, fragS]: Use consistently instead of their struct tags.
420 [WANT_VMS_OBJ_DEFS]: Define this.
421 (s_const): Make definition correctly match actual usage.
422 (VMS_stab_parse): Make `expected_type' arg be int rather than char.
423 (get_VMS_time_on_unix): Define as `static void'.
424 (hash_string): Make definition match actual usage; argument is
425 `char const *' rather than `unsigned char *'.
426 (VMS_Case_Hack_Symbol, VMS_Modify_Psect_Attributes, VMS_Psect_Spec,
427 VMS_Global_Symbol_Spec): Declare string args as `const char *'.
428 [IS_GXX_VTABLE]: New macro.
429 (vms_write_object_file: GSD loop): Use it.
430 (vms_write_object_file: data segment): Reorganize `fill' loop.
431
432 Wed Jul 5 12:01:49 1995 Ian Lance Taylor <ian@cygnus.com>
433
434 * config/tc-sparc.c (md_shortopts): Add "K:" if OBJ_ELF.
435 (md_parse_option): If OBJ_ELF, check for -K. Die if -K PIC, since
436 PIC code is not currently supported.
437
438 * as.c (parse_args): Change std_shortopts to be an array rather
439 than a constant string. Only include 'K' if WORKING_DOT_WORD is
440 not defined. Only check for 'K' in that case as well.
441 * as.h (flag_warn_displacement): Only declare if WORKING_DOT_WORD
442 is not defined.
443
444 * conf.in: Add undef of HAVE_SBRK.
445
446 * config/obj-coff.c (obj_coff_line): Call listing_source_line, in
447 both BFD_ASSEMBLER and non BFD_ASSEMBLER versions of the function.
448
449 * symbols.c (S_SET_EXTERNAL): Warn if symbol is weak.
450 (S_CLEAR_EXTERNAL): Likewise.
451 (S_SET_WEAK): Warn if symbol is global.
452
453 * config/obj-aout.c (obj_aout_frob_symbol): Warn about an attempt
454 to put an undefined symbol into a set.
455
456 * Makefile.in: Remove @configure_input@; it's not needed in
457 files named Makefile.
458
459 * config/tc-m88k.c (md_pseudo_table): Add ".set" so that the
460 explicit pseudo-op works, while continuing to treat "set" as an
461 instruction.
462
463 * ecoff.c (ecoff_debugging_seen): New global variable.
464 (ecoff_directive_def): Set ecoff_debugging_seen.
465 (ecoff_stab): Likewise.
466 * ecoff.h: Make idempotent.
467 (ecoff_debugging_seen): Declare.
468 * config/tc-mips.c: Include ecoff.h.
469 (mips_debug): New static variable.
470 (s_stringer, s_mips_space): Remove unneeded declarations.
471 (md_parse_option): In case 'g', set mips_debug to debugging level.
472 (mips_local_label): New function.
473 * tc-mips.h (LOCAL_LABEL): Call mips_local_label.
474 (mips_local_label): Declare.
475
476 Wed Jul 5 00:59:22 1995 Fred Fish (fnf@cygnus.com)
477
478 * as.c (main): Only use sbrk when HAVE_SBRK defined.
479 * configure.in: Add test for sbrk.
480 * configure: Regenerate using autoconf 2.4.
481
482 Mon Jul 3 15:58:16 1995 Jeff Law (law@snake.cs.utah.edu)
483
484 * config/tc-hppa.h (MAX_RELOC_EXPANSION): Bump to 6.
485 * config/tc-hppa.c (tc_gen_reloc, SOM version): Handle
486 relocations for the difference of two (possibly external)
487 symbols.
488 (hppa_fix_adjustable): For SOM, reject reductions involving
489 the difference of two symbols.
490 (hppa_force_relocation): Force relocations for expressions
491 involving the difference of two symbols.
492
493 Mon Jul 3 14:22:59 1995 Steve Chamberlain <sac@slash.cygnus.com>
494
495 * configure[.in] (i386-*-win32): New host and target.
496
497 Thu Jun 29 17:25:43 1995 Steve Chamberlain <sac@slash.cygnus.com>
498
499 Support for long filenames non-bfd coff.
500 * config/obj-coff.c (filename_list_head, filename_list_tail): New.
501 (yank_symbols): Notice and record filenames which are too long.
502 (w_strings): Write out filename strings.
503 (c_dot_file_symbols): Put long filenames onto list.
504
505 Wed Jun 28 17:33:13 1995 Steve Chamberlain <sac@slash.cygnus.com>
506
507 * config/obj-coff.c (fixup_segment): PE doesn't use
508 the strange common symbol format that other 386s formats
509 do.
510 * config/tc-i386.c (md_begin): If LEX_AT defined then
511 '@' is in the set of identifiers.
512 (i386_operand): If LEX_AT, then don't look for @goto stuff.
513 * config/te-pe.h: Define LEX_AT.
514
515 Wed Jun 28 17:49:59 1995 Ken Raeburn <raeburn@cygnus.com>
516
517 * doc/as.texinfo (H8/500 Floating Point): Indicate that IEEE FP
518 numbers are for the standard emulation code.
519 (SH Floating Point): Ditto.
520 (Overview): Describe new --emulation option for MIPS.
521 * doc/*.m4: Deleted.
522
523 Thu Jun 22 19:26:25 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
524
525 Sun May 7 11:53:41 MDT 1995 Bryan Ford <baford@cs.utah.edu>
526
527 * configure.in: Added i386-*-moss* target.
528
529 Thu Jun 22 14:41:23 1995 Michael Meissner <meissner@tiktok.cygnus.com>
530
531 * write.c (write_object_file): Cast decode_local_label_name
532 argument to char * to avoid warning.
533
534 Wed Jun 21 18:07:59 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
535
536 Changes from Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>:
537 * config/tc-m68k.c (insword): Increment the frag offsets.
538 (struct m68k_it): Add reloc[].pcrel_fix field to hold pc-rel
539 fixup.
540 (add_fix): Accept additional parameter, the pc-rel fixup. All
541 callers changed. Fix offset address if width == 'b'.
542 (m68k_ip) [case AINDX]: Allow explicit size spec. Don't make the
543 outer displacement pc-relative.
544 (md_pcrel_from): Make it relative to the first extension word of
545 the operand.
546 (opcode_ptr): Make it a macro if DO_BREAK_UP_BIG_DECL is
547 undefined.
548 (md_convert_frag_1): Don't reference fragP->fr_opcode[2..].
549 (md_estimate_size_before_relax) [case TAB (FBRANCH, SZ_UNDEF)]:
550 Turn on long bit.
551 (m68k_ip) [case 'C']: Don't set set long bit, set it in the opcode
552 table.
553 (md_estimate_size_before_relax) [case TAB (PCINDEX, SZ_UNDEF)]:
554 Variable part increases by four, not six.
555 * write.c (fixup_segment) [TC_M68K]: Don't do further pcrel
556 processing after converting difference of two symbols in the
557 same segment.
558
559 * write.c (fixup_segment): Don't conditionalize the pcrel fix on
560 TC_M68K.
561
562 * config/tc-sparc.c (sparc_ip, case 'A'): If ASI is not a "#"
563 value, don't shift it an extra time.
564
565 Wed Jun 21 14:18:37 1995 Steve Chamberlain <sac@slash.cygnus.com>
566
567 * gasp.c (do_print, do_form, buffer_and_nest): Use case insensitive
568 string compares.
569
570 Tue Jun 20 14:55:02 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
571
572 * config/obj-coff.c (write_object_file): Cast time() argument to
573 time_t *.
574
575 Tue Jun 20 12:00:53 1995 Jeff Law (law@snake.cs.utah.edu)
576
577 * config/tc-hppa.c (pa_build_unwind_subspace): Fix typo in last
578 change.
579
580 Mon Jun 19 15:27:17 1995 Jeff Law (law@snake.cs.utah.edu)
581
582 * config/tc-hppa.c (pa_build_unwind_subspace): Zero out memory
583 from frag_more calls.
584
585 Thu Jun 15 16:53:37 1995 Stan Shebs <shebs@andros.cygnus.com>
586
587 * config/obj-coff.c: Don't use "bfd/" when including libbfd.h
588 and libcoff.h.
589 (fill_section): Call PROGRESS.
590 * Makefile.in (INCLUDES): Add bfd srcdir.
591
592 * mpw-config.in: Add bfd_gas flag and set for each config.
593 (i386-unknown-go32, m68k-unknown-coff): Recognize.
594 * mpw-make.in (HACK_O_RAMA, OBJ_COFF_OMIT_TIMESTAMP): Add to
595 config.h.
596
597 Thu Jun 15 10:04:26 1995 Doug Evans <dje@canuck.cygnus.com>
598
599 * config/tc-arm.h (LOCAL_LABEL): Prepend '.' if not OBJ_AOUT.
600 (FAKE_LABEL_NAME): Likewise.
601
602 Mon Jun 12 22:25:39 1995 Jeff Law (law@snake.cs.utah.edu)
603
604 * config/tc-hppa.c (pa_ip): Check for invalid register in single
605 precision fmpyadd and fmpysub instructions.
606
607 Thu Jun 8 19:33:02 1995 Pat Rankin (rankin@eql.caltech.edu)
608
609 * config/obj-vms.c (myname): Delete all references.
610 (VMS_stab_parse, Write_VMS_MHD_Records, VMS_Case_Hack_Symbol):
611 Replace printf calls with as_tsktsk.
612 (PUT_LONG, PUT_SHORT): Use COPY_LONG, COPY_SHORT.
613 (VMS_Store_Immediate_Data): Move second buffer capacity check
614 below bottom of loop; first check at top suffices for loop itself.
615 (find_file): Remove redundant pointer checks in first two loops;
616 replace third loop with pointer to last list element determined
617 in first loop.
618
619 start-sanitize-arc
620 Thu Jun 8 11:44:35 1995 Doug Evans <dje@chestnut.cygnus.com>
621
622 * config/tc-arc.h (MD_APPLY_FIX3): Define.
623 * config/tc-arc.c (md_apply_fix3): Renamed from md_apply_fix.
624 Undo effects of md_pcrel_from if symbol is in another section.
625 end-sanitize-arc
626
627 Tue Jun 6 13:53:06 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
628
629 * config/tc-sparc.c (sparc_ip): Handle defined absolute symbols as
630 ASI values.
631
632 * config/obj-vms.c (vms_write_object_file, case N_DATA): Use
633 strcmp against FAKE_LABEL_NAME instead of checking third
634 character. (Suggested by Pat Rankin.)
635
636 Mon Jun 5 20:10:46 1995 Pat Rankin (rankin@eql.caltech.edu)
637
638 Add support for N_ABS and N_ABS|N_EXT type symbols.
639
640 * config/obj-vms.h (LSY_S_M_{DEF,REL}, ENV_S_M_{DEF,NESTED}):
641 New macros for local symbols (from <lsydef.h> and <envdef.h>).
642 * config/obj-vms.c (Current_Environment): New file-scope variable.
643 (VMS_Local_Environment_Setup): New routine.
644 (GBLSYM_LCL): New macro.
645 (VMS_Global_Symbol_Spec): Handle local symbols too.
646 (VMS_Psect_Spec): Set GLOBALVALUE_BIT for absolute symbols.
647 (VMS_Emit_Globalvalues): Handle local and global absolute symbols.
648 (VMS_Store_PIC_Symbol_Reference): Ditto.
649 (vms_write_object_file: GSD symbol loop): Ditto.
650
651 Mon Jun 5 16:10:40 1995 Steve Chamberlain <sac@slash.cygnus.com>
652
653 * config/tc-arm.h (LOCAL_LABELS_FB): Define.
654
655 Mon Jun 5 02:17:58 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
656
657 * configure.in (i386-*-gnu*): Always use GNU ELF config.
658
659 Wed May 31 17:49:18 1995 Pat Rankin (rankin@eql.caltech.edu)
660
661 * config/obj-vms.c (obj_crawl_symbol_chain): Update *symbolPP
662 in `else' clause when removing a symbol. Also, revise comments
663 to match the code.
664 (vms_write_object_file (GSD symbol loop, case N_DATA)): Never
665 output symbol definitions for local numeric labels.
666
667 Tue May 30 18:29:10 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
668
669 * configure.in (architecture variants, cases armeb and arm*): Remove
670 spaces round assignment to endian.
671
672 Tue May 30 12:31:31 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
673
674 * write.c (write_object_file): Check for undefined local dollar
675 and fb labels.
676
677 * symbols.c (decode_local_label_name): Extract instance number
678 from the correct location.
679
680 Sat May 27 21:28:49 1995 J.T. Conklin <jtc@rtl.cygnus.com>
681
682 * config/te-dpx2.h: Include obj-format.h.
683 (COFF_MAGIC): Renamed from FILE_HEADER_MAGIC.
684
685 Wed May 24 13:45:32 1995 Steve Chamberlain <sac@slash.cygnus.com>
686
687 * configure, configure.in, config/obj-coff.c, config/obj-coff.h:
688 Add support for ARM pe
689
690 Tue May 23 17:00:32 1995 Doug Evans <dje@canuck.cygnus.com>
691
692 * config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP16
693 and BFD_RELOC_SPARC_WDISP19.
694
695 Tue May 23 19:18:33 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
696
697 * as.c (parse_args) [! USE_EMULATIONS]: Always print an error
698 message.
699
700 * doc/internals.texi: Document obj_app_file and
701 TARGET_BYTES_BIG_ENDIAN.
702
703 Mon May 22 20:03:23 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
704
705 * ecoff.c (ecoff_stab): Add extra leading argument, for 4 May
706 change.
707 * ecoff.h (ecoff_stab): Fix declaration.
708 * obj.h (format_ops.process_stab): Include prototype.
709 * config/obj-elf.h (OBJ_PROCESS_STAB): Pass through seg argument.
710 * config/obj-ecoff.h (OBJ_PROCESS_STAB): Ditto.
711
712 * config/e-mipself.c (mipself): New emulation mode, doesn't change
713 endianness from configured default.
714 * config/e-mipsecoff.c (mipsecoff): Ditto.
715 * configure.in (mips ecoff/elf targets): Include them.
716 * as.c (mipself, mipsecoff): Declare.
717
718 * as.c (emulation_name): New variable.
719 (select_emulation_mode): Set emulation_name. Don't change argv.
720 (parse_args): Handle --emulation; complain if the supplied name
721 isn't what select_emulation_name came up with.
722
723 start-sanitize-arc
724 Mon May 22 16:56:58 1995 Doug Evans <dje@chestnut.cygnus.com>
725
726 * config/tc-arc.c (md_pcrel_from): Return 0 for undefined symbols.
727 end-sanitize-arc
728
729 Sun May 21 21:36:17 1995 Jeff Law (law@snake.cs.utah.edu)
730
731 * config/tc-hppa.c: Reverse changes from Dec. 19th which
732 changed the way unwinds were built for ELF. Rely on relocation
733 symbol reductions to avoid placing the end of function marker
734 symbols into the object file's symbol table.
735
736 Sat May 20 12:31:36 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
737
738 Added improved VMS support from Pat Rankin:
739
740 Fri 19 May 16:51:40 1995 Pat Rankin (rankin@eql.caltech.edu)
741
742 * config/obj-vms.h (AOUT_STABS): Define.
743
744 * config/obj-vms.c (fpush, rpush): New routines.
745 (push): Replaced by the above.
746 (find_symbol): Slight reorganization to expose tail recursion.
747
748 Fri Mar 17 18:40:36 1995 Pat Rankin (rankin@eql.caltech.edu)
749
750 * Makefile.in (VMS_OTHER_OBJS): delete this.
751 * vmsconf.sh (make-gas.com): build ../libiberty/liberty.olb
752 first if necessary; link gas against it.
753
754 Fri May 19 16:37:39 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
755
756 * gasp.c (istrue): Correctly test for string inequality.
757
758 Thu May 18 04:25:11 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
759
760 Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
761
762 * config/tc-arm.c (CP_T_{Pre,UD,WB}): Define, bits in co-processor
763 instructions.
764 ([ls]fm_flags): Correct error in bitmasks.
765 (cp_address_required_here): Delete second parameter, FLAGS. All
766 callers changed. Remove all dead code referring to FLAGS. If
767 address is just "[Reg]" then convert into a PRE-INCREMENT UP format.
768 (do_fp_ldmstm): Handle full-descending and empty-ascending stack
769 formats explicitly.
770
771 * config/tc-arm.c (internalError): Define.
772 (ARM_{1,2,250,3,6,7,7DM,ANY,2UP,ALL,3UP,6UP,LONGMUL}): Define processor
773 variants.
774 (FPU_{CORE,FPA10,FPA11,NONE,ALL,MEMMULTI}): Define floating point
775 variants.
776 ({CPU,FPU}_DEFAULT): Define.
777 (cpu_variant): New variable.
778 (asm_flg): Change more_flags to flag_bits.
779 Add prototypes for new functions.
780 (FLAG_{S,P,B,T,ED,FD,FA,EA,IB,IA,DB,DA,L}): Delete.
781 (s_flag[], ldst_flags[], byte_flag[], cmp_flags[], ldm_flags[],
782 stm_flags[], lfm_flags[], sfm_flags[], round_flags[], except_flags[],
783 cplong_flag[]): New variables.
784 (asm_opcode, insns[]): New format, add version support.
785 (arm_flg_hsh): Delete.
786 (do_mul, do_mla): Remove "Warning" from warning messages.
787 (do_arit): Simplify.
788 (do_swap): Make error message more appropriate.
789 (md_begin): Build hash tables starting at first entry in tables.
790 (md_number_to_chars): Cope with big/little-endian selection.
791 (md_chars_to_number): New function.
792 (md_apply_fix): Rewrite to make endian independent.
793 (tc_gen_reloc): Better error messages.
794 (md_assemble): Reject opcodes forbidden by the currently selected cpu
795 variant. Rewrite handling code for instruction flags.
796 (md_shortopts): Add option "m:".
797 (md_parse_option): Get the desired cpu/fpu variant.
798
799 From: David Taylor (dtaylor@armltd.co.uk)
800 * configure.in (architecture variants): Check for "armeb" and "arm*",
801 set endianness accordingly.
802 * read.c (read_a_source_file): New hooks md_start_line_hook and
803 md_after_pass_hook.
804 * config/arm-{big,lit}.mt: New files
805 * config/tc-arm.h ({LITTLE,BIG}_ENDIAN, BYTE_ORDER): Define.
806 (TARGET_FORMAT): Select depending on endianness and emulation and
807 object format.
808 (md_after_pass_hook, md_start_line_hook): Define.
809 * config/tc-arm.c: Include subsegs.h, symbols.h and listing.h.
810 (shift[]): Add uppper case equivalents.
811 (CP_T_[XY], TRANS_BIT): Define.
812 (conds[]): Delete initial NULL entry, add "lo" entry as synonym for
813 "cc".
814 (LONGEST_FLAG, flags[]): Delete.
815 (arm_psr): New structure.
816 (psrs[]): New variable.
817 (PSR_ALL): Define.
818 (LONGEST_INST): Bump to 5.
819 (LITERAL_MASK, COND_MASK, OPCODE_MASK, DATA_OP_SHIFT): Define.
820 (OPCODE_{AND,EOR,SUB,RSB,ADD,ADC,SBC,RSC,TST,TEQ,CMP,CMN,ORR,MOV,BIC,
821 MVN}): Define.
822 (insns[]): Add smull, umull, smlal, umlal, ldfm, stfm, msr and mrs
823 instructions. Add nop and adr pseudo ops.
824 (reg_table): Add APCS register name variants.
825 (arm_psr_hsh): New hash table.
826 (md_pseudo_table): Add "ltorg", "pool", "extend", "ldouble" and
827 "packed".
828 (MAX_LITERAL_POOL_SIZE): Define.
829 (struct literalS): New structure.
830 (literals, next_literal_pool_place, lit_pool_num, current_poolP): New
831 variables.
832 (add_to_lit_pool, symbol_locate, symbol_make_empty): New functions.
833 (validate_immediate): Return FAIL on failure.
834 (s_ltorg): New function.
835 (psr_required_here, psrf_required_here): New functions.
836 (cp_address_required_here): New parameter, flag, all callers changed.
837 If flag is non-zero, restrict the legal addressing modes.
838 (do_nop, do_mrs, do_msr, do_mull): New functions.
839 (negate_data_op): New function.
840 (data_op2): accept #x,y meaning x rotated right by y, but only when
841 suitable constants. If immediate is not legal, try changing the
842 opcode.
843 (do_adr): New function.
844 (do_ldst): accept "ldr reg, =expr". Put expr in the pool if it can't
845 be done as an immediate.
846 (do_fp_ldst): Use CP_T_[XY], not immediate values.
847 (do_fp_ldmstm): New function.
848 (arm_psr_parse): New function.
849 (output_inst): Use INSN_SIZE in call to md_number_to_chars.
850 (md_assemble): Add hack so that "Label instruction" causes alignment of
851 the label.
852 (arm_after_pass_hook, arm_start_line_hook, arm_frob_symbol): New
853 functions.
854
855 Wed May 17 05:25:16 1995 Michael Meissner <meissner@tiktok.cygnus.com>
856
857 * config/tc-ppc.c (md_show_usage): Add \'s at end of lines in
858 strings for non-GCC compilers.
859
860 Tue May 16 19:36:00 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
861
862 * config/obj-ecoff.c (ecoff_pop_insert): New function.
863 (ecoff_format_ops): Use it.
864 (obj_ecoff_frob_symbol): Now static.
865
866 Wed May 17 00:59:12 1995 Andrew Cagney - aka Noid <cagney@highland.com.au>
867
868 * config/tc-ppc.c (md_begin): Was assuming that an instruction was
869 bigendian and hence 16bit relocs withing instructions would
870 ALWAYS be at addresses i+2-i+3. In LE mode it is i+0-i+1.
871
872 Tue May 16 16:29:58 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
873
874 * config/obj-multi.h (obj_frob_symbol, obj_frob_file, S_GET_SIZE,
875 S_SET_SIZE, S_GET_ALIGN, S_SET_ALIGN, obj_copy_symbol_attributes,
876 OBJ_PROCESS_STAB): New macros.
877 * config/tc-mips.c: Protect against redefining them also when
878 including obj-elf.h. Test only OBJ_ELF for including elf/mips.h.
879 (mips_init_after_args): New function. Set byte_order here.
880 (md_parse_option): Not here.
881 (byte_order): Don't bother initializing.
882 * config/tc-mips.h (mips_init_after_args): Declare.
883 (tc_init_after_args): New macro.
884
885 * read.c (s_lcomm): Do ELF/ECOFF test at run time, not compile
886 time.
887
888 Fri May 12 14:17:47 1995 Steve Chamberlain <sac@slash.cygnus.com>
889
890 Initial support for PE object files.
891 * configure.in, configure (i386-*-pe, i386-*-*nt): Add.
892 * config/obj-coff.c (fixup_segment): Cope with PE wierdness.
893 * config/obj-coff.h (TE_PE): New target format.
894
895 Thu May 11 14:58:21 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
896
897 * config/obj-elf.c (NEED_ECOFF_DEBUG): Define if ECOFF_DEBUGGING
898 was defined by header files. Test in preprocessor conditionals
899 instead of ECOFF_DEBUGGING.
900 (ecoff_debug_pseudo_table): Make empty if NEED_ECOFF_DEBUG is not
901 defined.
902 (obj_read_begin_hook, obj_symbol_new_hook, elf_frob_symbol,
903 elf_frob_file): Only call ecoff routines if NEED_ECOFF_DEBUG is
904 defined.
905 (elf_ecoff_set_ext, elf_get_extr, elf_set_index): Define only if
906 NEED_ECOFF_DEBUG is defined.
907 (elf_format_ops): Reference elf_ecoff_set_ext only if
908 NEED_ECOFF_DEBUG.
909
910 Wed May 10 18:09:12 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
911
912 * Makefile.in (OBJS): Include @extra_objects@.
913 (obj-elf.o, obj-ecoff.o, e-mipself.o, e-mipsecoff.o): New rules
914 for building these independently.
915 * emul-target.h, config/e-mipself.c, config/e-mipsecoff.c: New
916 files.
917
918 * acconfig.h (DEFAULT_EMULATION, EMULATIONS, USE_EMULATIONS,
919 OBJ_MAYBE_*, I386COFF, M68KCOFF, M88KCOFF): New macros.
920 * aclocal.m4 (GAS_UNIQ): New macro.
921
922 * as.c (emulations, n_emulations) [USE_EMULATIONS]: New variable.
923 (select_emulation_mode, default_emul_bfd_name, common_emul_init)
924 [USE_EMULATIONS]: New functions.
925 (main) [USE_EMULATIONS]: Call select_emulation_mode before other
926 initialization.
927 * emul.h: New file.
928 * as.h [USE_EMULATIONS]: Include it.
929
930 * configure.in: Handle enable-targets option. Iterate over target
931 list, building up a list of object file formats and emulation
932 configurations. (Only supports emulations for MIPS CPU so far.)
933 If multiple formats are needed, set obj_format to multi and add
934 format config files to extra_files. If emulation modes are
935 needed, add the relevant files to extra_files.
936
937 * configure.in: Define I386COFF, M68KCOFF, M88KCOFF for those
938 configurations.
939
940 * ecoff.c (ecoff_generate_asm_lineno): Filename argument now
941 points to const.
942 * ecoff.h (ecoff_generate_asm_lineno): Updated declaration.
943
944 * obj.h (obj_read_begin_hook): Don't declare function if it's
945 already a macro.
946
947 * read.c (s_space, cons, stringer): If md_flush_pending_output is
948 defined, call it on entry.
949 * config/obj-elf.c (obj_elf_section): If md_flush_pending_output
950 is defined, call it on entry. If md_elf_section_change_hook is
951 defined, call it before returning normally.
952
953 * read.h (target_big_endian): Declare.
954
955 * obj.h (struct format_ops): Added new function pointer fields
956 ecoff_set_ext, read_begin_hook, symbol_new_hook.
957 (ecoff_format_ops, elf_format_ops): Declare.
958 * config/obj-elf.c (elf_s_get_size, elf_s_set_size,
959 elf_s_get_align, elf_s_set_align, elf_copy_symbol_attributes,
960 elf_sec_sym_ok_for_reloc): New functions.
961 (elf_format_ops): New variable.
962 (elf_frob_symbol): Now takes additional int* argument.
963 * config/obj-elf.h (elf_frob_symbol): Update declaration.
964 (elf_pop_insert): Declare.
965 (obj_pop_insert): Define to call elf_pop_insert.
966 * config/obj-ecoff.c (ecoff_sec_sym_ok_for_reloc,
967 obj_ecoff_frob_symbol): New functions.
968 (ecoff_format_ops): New variable.
969
970 * config/te-generic.h: If OBJ_HEADER is defined, use it as the
971 filename to include in place of obj-format.h.
972 * config/te-multi.h: New file, copied from te-generic.h.
973 * config/obj-elf.c (OBJ_HEADER): Define it to "obj-elf.h".
974 * config/obj-ecoff.c (OBJ_HEADER): Define it to "obj-ecoff.h".
975
976 * config/obj-elf.c (ECOFF_DEBUGGING): Default to 0.
977 (obj_read_begin_hook, obj_symbol_new_hook, elf_frob_symbol,
978 elf_frob_file): Test it at run time.
979 (obj_ecoff_set_ext, elf_get_extr, elf_set_index): Define
980 unconditionally.
981 (elf_pseudo_table): Renamed from obj_pseudo_table, now static.
982 (ecoff_debug_pseudo_table): Split off into separate table. Define
983 it unconditionally.
984 (elf_pop_insert): New function.
985 * config/obj-elf.h (elf_pop_insert): Declare.
986 (obj_pop_insert): New macro.
987 (obj_ecoff_set_ext) [!OBJ_MAYBE_ELF]: Define to elf_ecoff_set_ext.
988 * config/obj-ecoff.h (obj_ecoff_set_ext): Define to ecoff_set_ext.
989
990 * config/tc-mips.h: Protect against multiple inclusions.
991 (mips_pop_insert): Declare.
992 (md_pop_insert): Call it.
993
994 * config/tc-mips.c: If OBJ_MAYBE_ELF is defined, include
995 obj-elf.h, but preserve OUTPUT_FLAVOR and protect some other
996 macros from redefinition.
997 (ECOFF_DEBUGGING): Default to 0. All references changed to
998 run-time tests or made unconditional.
999 (s_stringer, s_mips_space, s_elf_section): Deleted.
1000 (md_pseudo_table): Don't refer to them. Split table into three
1001 sections, for MIPS, non-ECOFF_DEBUGGING, and ELF.
1002 (mips_pop_insert): New function.
1003 (mips_flush_pending_output): New function.
1004 (mips_enable_auto_align): New function.
1005 * config/tc-mips.h (mips_pop_insert): Declare.
1006 (md_pop_insert): New macro.
1007 (mips_flush_pending_output): Declare.
1008 (md_flush_pending_output): New macro.
1009 (mips_enable_auto_align): Declare.
1010 (md_elf_section_change_hook): New macro, calls
1011 mips_enable_auto_align.
1012
1013 Tue May 9 17:07:41 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1014
1015 * configure.in: Add little endian PowerPC support.
1016 * configure: Rebuild with autoconf.
1017 * config/ppc-big.mt: New file for big endian PowerPC systems.
1018 * config/ppc-lit.mt: New file for little endian PowerPC systems.
1019
1020 * config/tc-ppc.h (target_big_endian): Declare.
1021 (TARGET_FORMAT): Deal with little and big endian ELF variants.
1022 (TARGET_BYTES_BIG_ENDIAN): Define as 1, not empty.
1023
1024 * config/tc-ppc.c (ppc_big_endian): Delete variable, use
1025 target_big_endian instead.
1026 (md_parse_option): Parse -mlittle and -mlittle-endian to use
1027 little endian support. Parse -mbig and -mbig-endian to use big
1028 endian support.
1029 (md_show_usage): Update to reflect current switches.
1030 (ppc_set_cpu): Recognize powerpcle as little endian PowerPC. Use
1031 as_fatal, not abort if unknown machine.
1032
1033 Tue May 9 10:58:41 1995 Jeff Law (law@snake.cs.utah.edu)
1034
1035 * config/tc-hppa.c (md_apply_fix): Cast *valp to an integer when
1036 comparing against signed values.
1037 (hppa_force_relocation): Make "distance" an integer.
1038
1039 Tue May 9 00:47:03 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com)
1040
1041 * obj.h (struct format_ops) [BFD_ASSEMBLER]: New type.
1042 (this_format) [BFD_ASSEMBLER]: Declare new variable, if not
1043 already defined as a macro.
1044
1045 Mon May 8 21:44:13 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1046
1047 * subsegs.h (seg_info): Provide dummy version for
1048 non-BFD_ASSEMBLER, non-MANY_SEGMENTS configuration. It should
1049 never get invoked, but this is easier than conditionalizing some
1050 of the uses.
1051 (struct seg_info_trash): Dummy type used by above to make code
1052 compile.
1053
1054 Fri May 5 14:47:13 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1055
1056 * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define to 1, not
1057 empty.
1058 * config/obj-elf.h (SEPARATE_STAB_SECTIONS): Ditto.
1059 * config/obj-som.h (SEPARATE_STAB_SECTIONS): Ditto.
1060
1061 Thu May 4 19:26:55 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1062
1063 * stabs.c (get_stab_string_offset): Always define. If
1064 SEPARATE_STAB_SECTIONS isn't set, abort.
1065 (SEPARATE_STAB_SECTIONS): Default to zero.
1066 (aout_process_stab): New function, split out from s_stab_generic.
1067 (OBJ_PROCESS_STAB) [AOUT_STABS]: Define to call aout_process_stab,
1068 if not already defined.
1069 (s_stab_generic): Test SEPARATE_STAB_SECTIONS at run time. If
1070 it's not set, and OBJ_PROCESS_STAB isn't defined, abort. Always
1071 pass six arguments to OBJ_PROCESS_STAB.
1072 * read.h (get_stab_string_offset): Declare unconditionally.
1073 * config/obj-aout.h (AOUT_STABS): Define.
1074 * config/obj-bout.h (AOUT_STABS): Define.
1075 * config/obj-ecoff.h (OBJ_PROCESS_STAB): Add new first argument,
1076 ignored.
1077 * config/obj-elf.h (OBJ_PROCESS_STAB) [ECOFF_DEBUGGING]: Ditto.
1078
1079 * config/obj-ecoff.h (ECOFF_DEBUGGING): Define to 1, not empty.
1080 * config/obj-elf.h (ECOFF_DEBUGGING): Ditto. Test value, not
1081 whether it's defined.
1082
1083 Wed May 3 21:38:20 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1084
1085 * as.h (LOCAL_LABELS_DOLLAR, LOCAL_LABELS_FB): If not already
1086 defined, define them to zero.
1087 * config/tc-*.h, config/te-*.h: If defining them, define them to
1088 be 1 instead of empty.
1089 * expr.c (integer_constant, operand): Test them at run time
1090 instead of compile time.
1091 * read.c (read_a_source_file): Ditto.
1092 * symbols.c (colon): Ditto.
1093 (dollar_*, define_dollar_label, fb_*): Define unconditionally.
1094 * symbols.h (dollar_*, define_dollar_label, fb_*): Declare
1095 unconditionally.
1096
1097 Wed May 3 13:08:53 1995 Jeff Law (law@snake.cs.utah.edu)
1098
1099 * config/tc-hppa.c (md_apply_fix): Do nothing for an out of range
1100 PC relative call since those only occur in cases where the linker
1101 can fix them up.
1102 (hppa_force_relocation): Force relocations for out of range PC
1103 relative calls.
1104
1105 Tue May 2 16:34:47 1995 Jeff Law (law@snake.cs.utah.edu)
1106
1107 * configure (hppa*-*-lites*): Handle just like hppa*-*-*elf*.
1108 * configure.in: Likewise.
1109
1110 Tue May 2 11:22:00 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1111
1112 * read.c (pop_insert): New function.
1113 (pop_override_ok, pop_table_name): New variables.
1114 (md_pop_insert, obj_pop_insert): New macros.
1115 (pobegin): Use them.
1116
1117 * config/tc-mips.c: Use USE_STDARG and USE_VARARGS instead of
1118 NO_STDARG &c.
1119
1120 * read.c (target_big_endian): If TARGET_BYTES_BIG_ENDIAN is
1121 defined, initialize to 1.
1122 * config/tc-mips.c (mips_target_format): Changed to a function,
1123 checking flavor and byte order at run time.
1124 (md_parse_option, cases OPTION_EB and OPTION_EL): Set
1125 target_big_endian here.
1126 (md_begin): Not here.
1127 * config/tc-mips.h (mips_target_format): Adjust declaration.
1128 (TARGET_FORMAT): Call mips_target_format.
1129
1130 * config/tc-mips.h (USE_GLOBAL_POINTER_OPT): Define in terms of
1131 OUTPUT_FLAVOR.
1132 * config/tc-mips.c (g_switch_value, g_switch_seen): Define
1133 unconditionally.
1134 (md_begin, mips_ip, md_parse_option, s_change_sec, s_option,
1135 s_abicalls, nopic_need_relax): Check USE_GLOBAL_POINTER_OPT at run
1136 time, instead of compiling conditionally on GPOPT.
1137 (GPOPT): Don't define.
1138 (md_shortopts): Always include -G.
1139 (RDATA_SECTION_NAME): Select at run time.
1140 (md_begin): Test for ELF format at run time instead of compile time.
1141 (mips_ip, s_change_sec): Ditto.
1142 (md_parse_option, cases OPTION_CALL_SHARED and OPTION_NON_SHARED):
1143 Ditto.
1144 (OPTION_CALL_SHARED, OPTION_NON_SHARED, mips_regmask_frag): Define
1145 unconditionally.
1146
1147 Tue May 2 00:17:04 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com)
1148
1149 * Makefile.in (TARG_CPU_DEP_*): New variables.
1150 (targ-cpu.o): Depend on one, selected by autoconf substitution,
1151 instead of TARG_CPU_DEPENDENTS.
1152 * configure.in: Substitute $cpu_type, $obj_format, $atof, and
1153 $emulation into Makefile.in.
1154 start-sanitize-arc
1155 * config/arc.mt: Deleted.
1156 end-sanitize-arc
1157 * config/h8300.mt: Deleted.
1158 * config/h8500.mt: Deleted.
1159 * config/i386coff.mt (TARG_CPU_DEPENDENTS): Deleted.
1160 * config/m68k.mt: Deleted.
1161 * config/m68kcoff.mt (TARG_CPU_DEPENDENTS): Deleted.
1162 * config/m88kcoff.mt (TARG_CPU_DEPENDENTS): Deleted.
1163 * config/mips-big.mt (TARG_CPU_DEPENDENTS): Deleted.
1164 * config/mips-lit.mt (TARG_CPU_DEPENDENTS): Deleted.
1165 start-sanitize-rce
1166 * config/rce.mt: Deleted.
1167 end-sanitize-rce
1168 * config/sh.mt: Deleted.
1169 * config/w65.mt: Deleted.
1170 * config/z8k.mt: Deleted.
1171
1172 * config/te-dpx2.h (dpx2): Deleted unused macro.
1173 * config/te-generic.h (TE_GENERIC): Ditto.
1174 * config/te-go32.h (TE_GO32): Ditto.
1175 * config/te-hp300.h (TE_HP300): Ditto.
1176 * config/te-hppa.h (PA, _TE_PA_H): Ditto.
1177 * config/te-ic960.h (TE_IC960): Ditto.
1178 * config/te-nbsd532.h (TE_NETBSD532): Ditto.
1179 * config/te-pc532mach.h (TE_PC532MACH): Ditto.
1180 * config/te-ppcnw.h (TE_PPCNW): Ditto.
1181 * config/te-sco386.h (scounix): Ditto.
1182
1183 Mon May 1 15:59:56 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1184
1185 * read.c (s_app_file): If obj_app_file is defined, call it with
1186 string as argument. Don't call c_dot_file_symbol or
1187 elf_file_symbol.
1188 * config/obj-coff.h (obj_app_file): Define as c_dot_file_symbol.
1189 * config/obj-elf.h (obj_app_file): Define as elf_file_symbol.
1190
1191 * as.h (OUTPUT_FLAVOR): Don't define here.
1192 * config/obj-aout.h (OUTPUT_FLAVOR) [BFD_ASSEMBLER]: Define.
1193 * config/obj-bout.h (OUTPUT_FLAVOR): Define.
1194 * config/obj-coff.h (OUTPUT_FLAVOR) [BFD_ASSEMBLER]: Define.
1195 * config/obj-ecoff.h (OUTPUT_FLAVOR): Define.
1196 * config/obj-elf.h (OUTPUT_FLAVOR): Define.
1197
1198 start-sanitize-arc
1199 Sat Apr 29 21:44:57 1995 Doug Evans <dje@chestnut.cygnus.com>
1200
1201 * config/tc-arc.c (delay_slot_type): Deleted.
1202 (md_assemble): Remember suffixes seen.
1203 Issue warnings for 8 byte jump with delay slot, and conditional
1204 branch immediately following set of condition codes.
1205 end-sanitize-arc
1206
1207 Thu Apr 27 20:07:33 1995 Doug Evans <dje@canuck.cygnus.com>
1208
1209 * Makefile.in (RUNTEST): Use one in srcdir if present.
1210 (RUNTESTFLAGS): Define.
1211
1212 Wed Apr 26 15:54:10 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1213
1214 Support for more portable alignment handling in assembly code,
1215 based on patches from Bryan Ford <baford@schirf.cs.utah.edu>:
1216 * read.c (potable): Added balign and p2align, for aligning by
1217 bytes or powers of two independent of what ".align" does for a
1218 given target.
1219 * doc/as.texinfo: Document them.
1220
1221 Tue Apr 25 11:12:04 1995 Rob Savoye <rob@thepub.cygnus.com>
1222
1223 * configure, configure.in: Look for m68k-*-vxworks* rather than
1224 just m68k-wrs-vxworks so gas can be configured for
1225 m68k-vxworks5.1.
1226
1227 Fri Apr 21 15:19:06 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1228
1229 * config/tc-sh.c (md_apply_fix): If fx_r_type is zero, handle
1230 fx_size of 1, and abort on unrecognized sizes.
1231
1232 * config/tc-m68k.c (m68k_ip): Fix bug in last change regarding
1233 non-isvar case.
1234
1235 Sun Apr 16 01:52:52 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
1236
1237 * config/tc-m68k.h (md_relax_table, TC_GENERIC_RELAX_TABLE):
1238 Missed this one in 11 Apr changes.
1239
1240 * config/tc-i386.h (TC_GENERIC_RELAX_TABLE): Fix typo.
1241
1242 Thu Apr 13 18:18:08 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1243
1244 * config/tc-sh.c (md_convert_frag): Instead of aborting on large
1245 displacements, print an error message. Don't invoke the code that
1246 followed the abort call until it's been verified.
1247
1248 * config/tc-m68k.c (md_show_usage): Add 68060 to list. Split cpu
1249 list into three lines.
1250
1251 Thu Apr 13 14:34:36 1995 Torbjorn Granlund <tege@adder.cygnus.com>
1252
1253 * tc-m68k.c (m68k_init_after_args): Test for m68360.
1254 (md_parse_option): Likewise.
1255 (md_show_usage): Mention m68360.
1256 * tc-m68k.h (TARGET_WORD_SIZE): Define.
1257 (TARGET_ARCH): Define.
1258
1259 * expr.c (integer_constant): If TARGET_WORD_SIZE is defined,
1260 sign-extend appropriately.
1261
1262 Thu Apr 13 11:20:17 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1263
1264 * config/tc-ppc.c (ppc_elf_validate_fix): Properly use PARAMS to
1265 hide prototype from non-ANSI compilers, and don't use ANSI syntax
1266 for arguments.
1267
1268 Wed Apr 12 12:20:19 1995 Stan Shebs <shebs@andros.cygnus.com>
1269
1270 * mpw-config.in (TDEFINES): Put empty definition into
1271 makefile fragment.
1272 * mpw-make.in (xmalloc.c.o): Remove.
1273 (as.new): Depend on Version.r.
1274 (Version.r): Generate from version info.
1275
1276 * mpw-make.in: Delete references to hex-value.c.
1277
1278 * mpw-config.in: Add mapping from configs to object file formats,
1279 get VERSION from Makefile.in and add to mk.tmp.
1280 (mips-idt-ecoff) [TDEFINES]: Add TARGET_BYTES_BIG_ENDIAN.
1281 * mpw-make.in (VERSION, gC): Don't define.
1282 (ALL_CFLAGS): Remove -d flags.
1283 (config.h): Remove definition of MPW, add HAVE_STDARG_H,
1284 BFD_ASSEMBLER.
1285
1286 * mpw-make.in (ALL_CFLAGS): Add definition of HAVE_STDARG_H,
1287 include of ::libiberty:.
1288 (config.h): Ifdef contents on GAS_VERSION.
1289
1290 * mpw-make.in (as.c): Compile with C not gC.
1291 (config-stamp): Touch correctly.
1292 (install-only): New target.
1293 (install): Depend on all and install-only.
1294
1295 * mpw-config.in: Parse target and use to generate forward includes
1296 to tc-, obj-, and atof- files, use te-generic.h for emulation.
1297 * mpw-make.in (VERSION): Define.
1298 (as.c): Compile with GCC.
1299 (TARG_OBJECTS, CLIBS): Define.
1300 (as.new): Use LDFLAGS, TARG_OBJECTS, CLIBS and EXTRALIBS in link
1301 command.
1302 (config.h, config-stamp): Build.
1303
1304 * mpw-make.in (C, CFLAGS): Removed definitions.
1305 (ALL_CFLAGS): Define.
1306 Set default rule to use {CC} instead of {C}.
1307
1308 * mpw-make.in (install): Moved here from mpw-build.in.
1309 * mpw-build.in: Removed, functionality in mpw-make.in
1310
1311 * mpw-make.in (CFLAGS): Add more include paths.
1312
1313 * mpw-config.in (varargs.h, sys/*.h): Don't create when
1314 configuring.
1315 * mpw-make.in (CFLAGS): Add -w flag.
1316
1317 * mpw-make.in: Replace 8-bit chars with their names.
1318
1319 * mpw-config.in: New file, MPW version of configure.in.
1320 * mpw-make.in: New file, MPW version of Makefile.in.
1321
1322 start-sanitize-arc
1323 Wed Apr 12 07:35:44 1995 Doug Evans <dje@canuck.cygnus.com>
1324
1325 * config/tc-arc.c (delay_slot_type): New function.
1326 (md_assemble): Use hashed list of insns.
1327 Print warning if 8 byte insn appears in delay slot.
1328 (md_operand): Handle %st(sym1-sym2).
1329 (get_arc_exp_reloc_type): Likewise.
1330 (md_apply_fix, case BFD_RELOC_ARC_B26): Now using implicit addends
1331 so must store them here.
1332 end-sanitize-arc
1333
1334 Tue Apr 11 01:42:36 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1335
1336 * configure.in: Require at least autoconf 2.3, because earlier
1337 versions lose on some AIX versions.
1338 * configure: Regenerated.
1339
1340 * configure.in: Add m68k-*-elf.
1341 * config/tc-m68k.c (comment_chars) [OBJ_ELF]: Include '#'.
1342 (md_pseudo_table) [OBJ_ELF]: Ignore "swbeg".
1343 (md_begin): Set alt_notend_table['&'], so svr4-style immediate
1344 operands are accepted.
1345 (md_apply_fix): Argument VALP should point to valueT.
1346 (md_convert_frag): Argument SEC should be type segT.
1347 (md_shortopts) [OBJ_ELF]: Accept 'Q' with an argument.
1348 (md_parse_option): Ignore it.
1349 (md_convert_frag_1): Add in frag address for the symbol in the
1350 displacement calculation.
1351 * config/tc-m68k.h (TARGET_FORMAT) [OBJ_ELF]: Use "elf32-m68k".
1352 (TARGET_ARCH): Define.
1353 (REGISTER_PREFIX_OPTIONAL) [OBJ_ELF]: Default to 0.
1354 (LOCAL_LABEL, FAKE_LABEL_NAME, REGISTER_PREFIX_OPTIONAL): Handle
1355 these the same way for OBJ_ELF as for M68KCOFF.
1356
1357 * gdbinit.in: Add breakpoint in as_abort.
1358
1359 * write.c (cvt_frag_to_fill): If offset is less than zero,
1360 complain about it specifically, instead of reporting an assertion
1361 failure.
1362 (relax_segment): Complain about .org backwards, then ignore it.
1363 Do generic rs_machine_dependent relaxation only if
1364 TC_GENERIC_RELAX_TABLE is defined, and use its value for the base
1365 of the table.
1366 * tc.h (md_relax_table): Delete declaration.
1367 * as.h (struct relax_type): Add forward declaration for type.
1368 * config/tc-a29k.c: Deleted md_relax_table.
1369 * config/tc-{alpha,arm,h8300,hppa,i860,m88k,mips,ppc,sparc,z8k}.c:
1370 Ditto.
1371 * config/tc-{h8500,i386,i960,ns32k,sh,tahoe,vax,w65}.h: Declare
1372 md_relax_table here, and define TC_GENERIC_RELAX_TABLE to expand
1373 to md_relax_table.
1374 * config/tc-h8500.c (md_relax_table): No longer const.
1375 * config/tc-w65.c (md_relax_table): Ditto.
1376 * config/tc-sparc.c (md_short_jump_size, md_long_jump_size):
1377 Deleted.
1378 start-sanitize-arc
1379 * config/tc-arc.c (md_relax_table, md_short_jump_size,
1380 md_long_jump_size): Deleted.
1381 end-sanitize-arc
1382 start-sanitize-rce
1383 * config/tc-rce.h: Declare md_relax_table here, and define
1384 TC_GENERIC_RELAX_TABLE to expand to it.
1385 end-sanitize-rce
1386 * doc/internals.texi: Describe TC_GENERIC_RELAX_TABLE and
1387 WORKING_DOT_WORD. Mention md_*_jump_size (but description needs
1388 to be fleshed out later). Note m68k PCINDEX mode has been checked
1389 in.
1390
1391 Mon Apr 10 15:57:42 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1392
1393 * config/tc-mips.c (nopic_need_relax): New static function, split
1394 out from md_estimate_size_before_relax.
1395 (md_estimate_size_before_relax): Call it.
1396 (load_address, macro): In NO_PIC branches, if nopic_need_relax
1397 returns nonzero, don't attempt GP optimization.
1398
1399 * config/tc-m68k.c (PCINDEX): New macro.
1400 (md_relax_table): No longer const. Add PCINDEX entries.
1401 (m68k_ip): For AINDX with simple symbol operand, generate a
1402 PCINDEX frag if PC is used, or do normal non-AINDX processing for
1403 address register.
1404 (m68k_init_after_args): If cpu is 68000 or 68010, fix
1405 md_relax_table to prevent relaxation of PCINDEX/BYTE mode to
1406 SHORT, since they don't support that mode.
1407 (md_convert_frag_1, case PCLEA/LONG): Add 4 to offset, not 2. Add
1408 support for new PCINDEX modes.
1409 (md_estimate_size_before_relax): Process PCINDEX/SZ_UNDEF mode.
1410
1411 * config/tc-m68k.c (md_convert_frag_1, case PCLEA/SHORT): Add 2 to
1412 offset.
1413 (m68k_ip, case most punctuation/AOFF): If using PC, call add_frag
1414 using PCLEA.
1415
1416 * config/tc-m68k.c: Don't explicitly include config.h. Deleted a
1417 bunch of "#if 0" code and useless comments.
1418 (struct m68k_cpu): New type.
1419 (archs, n_archs): New variables, with single list of name/enum
1420 mapping and aliases.
1421 (m68k_ip): Delete the table here.
1422 (m68k_init_after_args): Use the new table here instead of
1423 open-coding it.
1424 (md_parse_option, case 'm'): Ditto.
1425
1426 * doc/Makefile.in (Makefile): Fix rule for running config.status.
1427 (internals.dvi, internals.ps, internals.ps4): New targets, not
1428 built by default.
1429
1430 * doc/internals.texi: Add loud disclaimer. Refill to 79 columns,
1431 specify fill-column in local-variables section. Change
1432 subheadings to subsections so they can be cross-referenced.
1433 Describe broken words, frags, frag chains, generic relaxation,
1434 relax table, m68k relaxation, m68k addressing modes, test suite
1435 code. Add a few words about various file formats.
1436
1437 * doc/as.texinfo (m68k): Recommend using `%' with registers as the
1438 normal case, instead of the exceptional case.
1439
1440 start-sanitize-arc
1441 Thu Apr 6 20:00:11 1995 Doug Evans <dje@chestnut.cygnus.com>
1442
1443 * config/tc-arc.c (arc_condition_codes): Deleted.
1444 (init_opcode_tables): Delete cpu_type_map, call
1445 arc_get_opcode_mach instead.
1446 (arc_common): Delete non-ELF stuff. Require leading '.' in .data.
1447 (md_apply_fix): Delete non-ELF stuff.
1448 Disable special handling of limm values, treat them normally.
1449 (get_arc_exp_reloc_type): New argument `data_p'. Callers updated.
1450 (md_assemble): All limm operands must be output by gas, the opcode
1451 insertion routines cannot be used (they don't do anything and we're
1452 using implicit addends now so we need to output something).
1453 * config/tc-arc.h (FAKE_LABEL_NAME): Define.
1454 end-sanitize-arc
1455
1456 Thu Mar 30 14:38:47 1995 H.J. Lu (hjl@nynexst.com)
1457
1458 * configure.in: Change linux to default to elf. Using
1459 i[345]86-*-linuxaout will defaults to a.out.
1460 * configure: Rebuild.
1461
1462 Wed Mar 29 17:16:30 1995 Torbjorn Granlund <tege@adder.cygnus.com>
1463
1464 * config/tc-m68k.c (md_apply_fix_2): Cast negative offsets to offsetT
1465 (for hosting on 64 bit machines).
1466
1467 Tue Mar 21 16:53:27 1995 Ian Lance Taylor <ian@cygnus.com>
1468
1469 * config/tc-mips.c (md_show_usage): Mention -mips4 and -m4650.
1470
1471 Fri Mar 17 16:47:13 1995 Stan Shebs <shebs@andros.cygnus.com>
1472
1473 * write.c (write_object_file): Add PROGRESS macros.
1474
1475 Fri Mar 17 12:40:34 1995 Jeff Law (law@snake.cs.utah.edu)
1476
1477 * config/tc-hppa.c (pa_comm): Make sure to always reset the frag
1478 and section for common symbols.
1479
1480 Thu Mar 16 17:26:18 1995 Michael Meissner <meissner@cygnus.com>
1481
1482 * config/tc-ppc.c (ppc_elf_validate_fix): Allow non PC relative
1483 pointers in the .ctors and .dtors section also when using the
1484 -mrelocatable option.
1485 (md_parse_option): Support -m403 as a PowerPC computer.
1486 (md_show_usage): Ditto.
1487
1488 Wed Mar 15 14:45:42 1995 Ian Lance Taylor <ian@cygnus.com>
1489
1490 * ecoff.c (ecoff_build_debug): The cur_scope field of a fil_ptr
1491 may be NULL when given strange input. Don't core dump.
1492
1493 Tue Mar 14 21:36:34 1995 Ian Lance Taylor <ian@cygnus.com>
1494
1495 * config/tc-mips.c (load_register): Don't use addiu for dli of an
1496 unsigned seemingly negative number. Don't bother shifting a zero
1497 value.
1498 (mips_ip): For case 'j', if there are more alternatives, and the
1499 ISA level is at least 3, don't accept an unsigned seemingly
1500 negative number.
1501
1502 Tue Mar 14 19:16:43 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1503
1504 * read.c (s_app_line): Fix last patch to deal with a line number
1505 of 1.
1506
1507 Tue Mar 14 17:00:57 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1508
1509 * config/tc-ppc.c (ppc_elf_validate_fix): Use as_warn_where, not
1510 as_bad_where to give a warning instead of an error.
1511
1512 Mon Mar 13 17:03:46 1995 Pat Rankin (rankin@eql.caltech.edu)
1513
1514 * config/tc-vax.c (md_assemble): issue a warning if a constant
1515 is used as an operand where an immediate value is not allowed.
1516
1517 Fri Mar 10 19:21:19 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1518
1519 * config/obj-coff.c: Redo my 10 Jan change, but get it right this
1520 time. :-)
1521 (fixup_segment): If linkrelax is set, just return.
1522 (write_object_file): Don't treat h8300 and z8k specially with
1523 regard to fixups.
1524 * config/tc-h8300.c (md_begin): Set linkrelax.
1525 * config/tc-z8k.c (md_begin): Ditto.
1526
1527 Thu Mar 9 18:01:37 1995 Ian Lance Taylor <ian@cygnus.com>
1528
1529 * config/obj-coff.c (coff_header_append): Check return value of
1530 bfd_coff_swap_scnhdr_out.
1531
1532 Thu Mar 9 13:51:30 1995 Doug Evans <dje@canuck.cygnus.com>
1533
1534 Delete this patch, it breaks the h8300 assembler.
1535 Tue Jan 10 13:34:14 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1536 * config/obj-coff.c (write_object_file): Don't treat h8300 and z8k
1537 specially with regard to fixups.
1538
1539 Thu Mar 9 12:28:18 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1540
1541 * config/tc-ppc.c (mrelocatable): Change type to boolean.
1542 (md_begin): Set the EF_PPC_RELOCATABLE if -mrelocatable.
1543
1544 Wed Mar 8 15:39:39 1995 Ian Lance Taylor <ian@cygnus.com>
1545
1546 * config/tc-mips.c (md_begin): Check for a cpu string of r8000 or
1547 r10000. If mips_isa is 4, set the machine number to 8000.
1548 (append_insn): If mips_isa is at least 4, don't generate nops for
1549 coprocessor delays. Check INSN_READ_FPR_R when setting
1550 mips_cprmask[1].
1551 (mips_emit_delays): If mips_isa is at least 4, don't generate nops
1552 for coprocessor delays.
1553 (mips_ip): Check for INSN_ISA4 instructions. Handle new argument
1554 types 'h', 'R', 'N', and 'M'.
1555 (md_longopts): Accept "mips4".
1556 (md_parse_option): Handle -mips4, and -mcpu=10000 and -mcpu=8000.
1557 (s_mipsset): Permit .set mips4.
1558
1559 Wed Mar 8 09:36:05 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1560
1561 * config/tc-ppc.c (ppc_elf_validate_fix): Allow .stab sections to
1562 have non PC relative relocations with -mrelocatable.
1563
1564 Wed Mar 8 02:57:53 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1565
1566 * config/tc-m68k.c (opcode_ptr): Return pointer to const.
1567 (md_begin): Make hash table errors fatal. Process opcode aliases
1568 after main opcode table.
1569 (md_apply_fix_2, case 4): Recode setting of lower_limit to avoid
1570 gcc warning.
1571
1572 start-sanitize-arc
1573 Tue Mar 7 20:42:35 1995 Doug Evans <dje@chestnut.cygnus.com>
1574
1575 * config/tc-arc.h (LITTLE_ENDIAN, BIG_ENDIAN): Define.
1576 (DEFAULT_TARGET_FORMAT): Define.
1577 (DEFAULT_BYTE_ORDER): Define to little endian.
1578 (TARGET_FORMAT): Byte order is now selectable.
1579 * config/tc-arc.c (arc_target_format): New variable.
1580 (byte_order): New variable.
1581 (md_longopts): New options -EL, -EB.
1582 (md_parse_option): Recognize them.
1583 (md_show_usage): Print them.
1584 (md_begin): Set target_big_endian.
1585 end-sanitize-arc
1586
1587 Tue Mar 7 16:07:10 1995 Ian Lance Taylor <ian@cygnus.com>
1588
1589 * doc/as.texinfo: Add documentation for SPARC V9, from Doug Evans
1590 <dje@cygnus.com>.
1591
1592 Mon Mar 6 09:58:34 1995 Jeff Law (law@snake.cs.utah.edu)
1593
1594 * config/tc-hppa.c: Change all occurences of pa-89 with pa-11 to
1595 be consistent with current naming conventions.
1596 (md_begin): Set a default architecture and machine type.
1597 (pa_ip): If the current instruction specifies a newer machine type
1598 than the current machine type, then update the current machine
1599 type.
1600 (need_pa11_opcode): Likewise.
1601
1602 Sun Mar 5 19:38:09 1995 Jeff Law (law@snake.cs.utah.edu)
1603
1604 * config/tc-hppa.c (pa_ip, case 'z'): Don't lose argument
1605 relocation bits for absolute calls.
1606
1607 Fri Mar 3 17:41:50 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1608
1609 * config/tc-h8300.* (md_operand): Change empty function to empty
1610 macro.
1611
1612 * config/tc-h8300.c (build_bytes): Make H8/300-H warning message
1613 clearer.
1614
1615 * write.c (write_contents): If bfd_set_section_contents fails,
1616 print a message and exit, instead of aborting.
1617
1618 Fri Mar 3 16:26:19 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1619
1620 * tc.h (md_apply_fix3): If MD_APPLY_FIX3 is defined, declare
1621 md_apply_fix3.
1622
1623 * write.c (fixup_segment): If MD_APPLY_FIX3 is defined, call
1624 md_apply_fix3 with the normal 2 arguments and the current segment
1625 pointer instead of md_apply_fix.
1626
1627 * config/tc-ppc.h (MD_APPLY_FIX3): Define.
1628
1629 * config/tc-ppc.c (ppc_elf_validate_fix): Warn if -mrelocatable
1630 and a non PC relative relocation that isn't in the .got2 segment
1631 was performed.
1632 (md_apply_fix3): Rename from md_apply_fix and take segment pointer
1633 as third argument. If ELF object format, call ppc_elf_validate_fix
1634 for normal relocations.
1635 (md_parse_option): If ELF object format, recognize the
1636 -mrelocatable switch.
1637
1638 Thu Mar 2 16:34:44 1995 Ian Lance Taylor <ian@cygnus.com>
1639
1640 * config/tc-i386.h (AOUT_MACHTYPE): Define as 100, not 0.
1641
1642 Tue Feb 28 18:29:27 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1643
1644 * config/tc-arm.c, config/tc-arm.h (md_operand): Replaced empty
1645 function in .c file with empty macro in .h file.
1646 * config/tc-h8500.*, config/tc-hppa.*, config/tc-i386.*,
1647 config/tc-i860.*, config/tc-i960.*, config/tc-ns32k.*,
1648 config/tc-ppc.*, config/tc-sh.*, config/tc-sparc.*,
1649 config/tc-tahoe.*, config/tc-vax.*, config/tc-w65.*,
1650 config/tc-z8k.*: Ditto.
1651 start-sanitize-rce
1652 * config/tc-rce.*: Ditto.
1653 end-sanitize-rce
1654 * config/tc-m68k.*: Ditto.
1655
1656 * config/tc-m68k.c (mote_pseudo_table): Removed dots from opcode
1657 names.
1658
1659 * read.c (s_app_line): Ignore non-positive line numbers.
1660
1661 Tue Feb 28 15:34:14 1995 Ian Lance Taylor <ian@cygnus.com>
1662
1663 * config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust PLT or
1664 GOT relocs either.
1665
1666 Mon Feb 27 13:03:41 1995 Kung Hsu <kung@mexican.cygnus.com>
1667
1668 * configure.in: add a29k-*-vxworks configuration.
1669
1670 Fri Feb 24 14:41:15 1995 Ian Lance Taylor <ian@cygnus.com>
1671
1672 * config/tc-mips.c (load_register): Take dbl argument to determine
1673 handling of signed 32 bit values in 64 bit modes. Change all
1674 callers.
1675 (macro): Handle M_DLI and M_DLA_AB.
1676
1677 Wed Feb 22 23:10:56 1995 Jeff Law (law@snake.cs.utah.edu)
1678
1679 * config/tc-hppa.c (md_apply_fix): Don't subtract the value of the
1680 add symbol if it's a common symbol (the value of a common symbol
1681 is its size, not a value in the traditional sense).
1682
1683 Wed Feb 22 21:12:28 1995 Ian Lance Taylor <ian@cygnus.com>
1684
1685 * config/tc-mips.c (append_insn): If listing_prev_line is called,
1686 call frag_grow to make sure there is still room for a variant.
1687
1688 Fri Feb 17 14:50:08 1995 Ian Lance Taylor <ian@cygnus.com>
1689
1690 * config/tc-mips.c (md_pseudo_table): Add 2byte, 4byte and 8byte
1691 if OBJ_ELF. From gary@Intrepid.COM (Gary Funck).
1692
1693 * config/obj-elf.c (elf_frob_symbol): Warn if a symbol is both
1694 weak and common.
1695 * config/obj-aout.c (obj_aout_frob_symbol): Likewise.
1696
1697 Fri Feb 17 12:43:47 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1698
1699 * config/tc-ppc.c (md_pseudo_table): Don't redefine byte under
1700 ELF.
1701 (ppc_elf_cons): Don't support @pcrel any more, since DIFF_EXPR_OK
1702 allows the normal expressions to generate it.
1703 (md_apply_fix): Convert BFD_RELOC_32 with pcrel bit set into
1704 BFD_RELOC_32_PCREL. Abort if either BFD_RELOC_16 or BFD_RELOC_8
1705 need PC relative relocations.
1706
1707 * config/tc-ppc.h (DIFF_EXPR_OK): Define to allow PC relative
1708 expressions to be handled.
1709
1710 Thu Feb 16 14:30:13 1995 Doug Evans <dje@cygnus.com>
1711
1712 * expr.c (operand): Move md_operand handling to default case
1713 (so it works).
1714
1715 Wed Feb 15 16:08:47 1995 Jason Molenda <crash@cygnus.com>
1716
1717 * config/tc-h8500.c (tc_coff_symbol_emit_hook): Add ignored
1718 parameter, to match prototype.
1719
1720 Wed Feb 15 15:07:00 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1721
1722 * config/tc-ppc.c (md_pseudo_table): If ELF, go to ppc_elf_cons
1723 instead of cons.
1724 (md_show_usage): Show all of the PowerPc options.
1725 (ppc_elf_suffix): New function to recognize ELF suffixes that
1726 specify a relocation, such as @GOT.
1727 (ppc_elf_cons): Replacement for the standard cons function that
1728 knows about the ELF suffixes.
1729 (ppc_fixup): Add reloc field to hold non-standard relocation.
1730 (md_assemble): Handle ELF suffixes like @GOT.
1731 (md_create_short_jump): Dummy in case WORKING_DOT_WORD is not
1732 defined.
1733 (md_create_long_jump): Ditto.
1734 (md_short_jump_size): Ditto.
1735 (md_long_jump_size): Ditto.
1736 (md_apply_fix): Handle BFD_RELOC_32_PCREL, BFD_RELOC_LO16,
1737 BFD_RELOC_HI16, BFD_RELOC_HI16_S, BFD_RELOC_PPC_TOC16, and
1738 BFD_RELOC_16 relocations. If relocation can not be found, print
1739 the decimal value of the relocation.
1740
1741 Wed Feb 15 11:46:02 1995 Ian Lance Taylor <ian@cygnus.com>
1742
1743 * config/tc-mips.c (md_apply_fix): Accept BFD_RELOC_16, for
1744 DWARF. From gary@Intrepid.COM (Gary Funck).
1745
1746 * config/tc-mips.c (macro): Handle M_U{L,S}D[_A] (unaligned double
1747 loads and stores).
1748
1749 * config/tc-i386.c (tc_i386_fix_adjustable): Do adjust global
1750 symbols if OBJ_AOUT.
1751
1752 * config/tc-mips.c (macro): Don't use the target register as a
1753 base register when building the address for M_L{W,D}{L,R}_AB.
1754
1755 Mon Feb 13 14:44:32 1995 Ian Lance Taylor <ian@cygnus.com>
1756
1757 * config/tc-mips.c (KT0, KT1): Define.
1758 (mips_ip): Recognize $kt0 and $kt1 as register names.
1759
1760 * config/tc-sparc.h (tc_fix_adjustable): Define if OBJ_ELF.
1761 * config/tc-sparc.c (md_apply_fix): If OBJ_ELF, subtract out the
1762 value of a defined symbol; the value was added in by
1763 fixup_segment. This was previously corrected, if the reloc was
1764 changed to be against a section symbol, in tc_gen_reloc.
1765
1766 start-sanitize-arc
1767 Mon Feb 13 10:02:35 1995 Doug Evans <dje@canuck.cygnus.com>
1768
1769 * config/tc-arc.h (TC_PARSE_CONS_EXPRESSION): Define.
1770 (TC_CONS_FIX_NEW): Define.
1771 * config/tc-arc.c (get_arc_exp_operand_type): New function.
1772 (init_opcode_tables): Insert registers into global symbol table.
1773 (md_assemble): Call `expression' to parse all expressions.
1774 Call `get_arc_exp_operand_type'.
1775 (md_operand): Recognize %st(foo).
1776 (arc_parse_cons_expression): New function.
1777 (arc_cons_fix_new): New function.
1778 (md_apply_fix): Handle new reloc BFD_RELOC_ARC_B26.
1779 end-sanitize-arc
1780
1781 Fri Feb 10 14:04:04 1995 Ian Lance Taylor <ian@cygnus.com>
1782
1783 * config/tc-i386.c (tc_i386_fix_adjustable): Use S_IS_EXTERN
1784 rather than !S_IS_LOCAL.
1785
1786 start-sanitize-arc
1787 Thu Feb 9 17:44:29 1995 Doug Evans <dje@canuck.cygnus.com>
1788
1789 * config/tc-arc.c (md_pseudo_table): Add .cpu.
1790 (comment_chars): Add ';'.
1791 (arc_mach_type, mach_type_specified, cpu_tables_init_p): New globals.
1792 (md_parse_option): Delete support for -mmult. Add -mcpu=xxx.
1793 (md_begin): Current ARCs are little endian.
1794 Call bfd_set_arch_mach to set the cpu type.
1795 (init_opcode_tables): New function.
1796 (md_begin): Ignore suffixes and registers not supported by cpu.
1797 (md_assemble): Initialize opcode tables here.
1798 Ignore opcodes not supported by selected cpu.
1799 Always ask for more memory in one piece.
1800 (arc_cpu): New function.
1801 (md_numbers_to_chars): Support both endians (will probably be needed
1802 eventually anyway).
1803 (md_apply_fix): Likewise.
1804 * config/tc-arc.h (LOCAL_LABEL): Delete "_.L_", gcc works around
1805 dwarfout.c quirk.
1806 end-sanitize-arc
1807
1808 Thu Feb 9 18:16:34 1995 Ian Lance Taylor <ian@cygnus.com>
1809
1810 * config/tc-i386.c (md_assemble): Adjust conditions for changing
1811 BFD_RELOC_32 to BFD_RELOC_386_GOTPC to handle a switch in frags.
1812 Patch originally from Rob Ryan <robr@cmu.edu>.
1813
1814 * config/tc-i386.c: Include subsegs.h.
1815 (tc_i386_fix_adjustable): Declare return value.
1816 (i386_operand): Don't use an assignment directly as a condition.
1817
1818 Thu Feb 9 10:37:13 1995 Jeff Law (law@snake.cs.utah.edu)
1819
1820 * config/tc-hppa.c (md_apply_fix): In some cases subtract the
1821 value of the add symbol from valp. Offsets braindamage in the
1822 "machine independent" fixup_segment.
1823
1824 Wed Feb 8 18:51:23 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1825
1826 * messages.c (as_abort): New function.
1827 * as.h (as_abort): Declare it.
1828 (abort): New macro.
1829
1830 Thu Jan 19 18:10:05 1995 Pat Rankin (rankin@eql.caltech.edu)
1831
1832 * config/vms-conf.h (HAVE_UNISTD_H): define it unconditionally.
1833 * config-gas.com: test for availability of <unistd.h>; create a
1834 rudimentary one if necessary.
1835
1836 Tue Feb 7 13:34:46 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1837
1838 * configure.in: Add powerpc-*-eabi support, which is the same as
1839 powerpc-*-elf.
1840 (configure): Rebuild with autoconf.
1841
1842 Mon Feb 6 03:37:00 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1843
1844 Changes from Bryan Ford <baford@schirf.cs.utah.edu> for i386
1845 16-bit and msdos support:
1846 * config/tc-i386.c (flag_16bit_code): New variable.
1847 (set_16bit_code_flag): New function.
1848 (md_pseudo_table): Added entries "code16" and "code32".
1849 (md_assemble): Ensure that correct data-size prefixes get emitted,
1850 based on the current mode. Ensure that 32-bit addressing will
1851 always be done. Move segment-prefix handling code. (Why?) Use
1852 16-bit jumps for 16-bit code, 32-bit jumps for 32-bit code.
1853 * config/tc-i386.h (MAX_PREFIXES): Bump to 5.
1854 (Data16, Data32): Define.
1855 * doc/as.texinfo (i386-16bit): New node.
1856 * configure.in (i386-*-msdos*): New target, using a.out format.
1857 * configure: Regenerated.
1858
1859 Thu Feb 2 15:21:24 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1860
1861 * config/tc-m68k.c (cpu32_control_regs): New macro.
1862 (m68k_init_after_args): Use it, for cpu32 processors.
1863
1864 Tue Jan 31 17:20:45 1995 Pat Rankin (rankin@eql.caltech.edu)
1865
1866 * config/obj-vms.c (vms_tir_stack_psect): new routine;
1867 (VMS_Set_Data, VMS_Set_Psect, VMS_Store_PIC_Symbol_Reference,
1868 VMS_TBT_Routine_Begin, VMS_TBT_Line_PC_Correlation): use it;
1869 (VMS_Global_Symbol_Spec, VMS_Procedure_Entry_Pt): treat
1870 Psect_Number as `unsigned'.
1871
1872 Thu Jan 26 17:06:28 1995 Pat Rankin (rankin@eql.caltech.edu)
1873
1874 * config/obj-vms.c: performance tuning.
1875 (VMS_Symbol_type_list): convert from single list head to small
1876 array of list heads;
1877 (SYMTYP_HASH): new macro for accessing VMS_Symbol_type_list[];
1878 (find_symbol, setup_basic_type, VMS_typedef_parse): use it;
1879 (VMS_RSYM_Parse): move S_GET_VALUE() inside switch to avoid
1880 calling it for uninteresting cases.
1881
1882 Wed Feb 1 23:52:45 1995 Jeff Law (law@snake.cs.utah.edu)
1883
1884 * config/tc-hppa.c (md_apply_fix): Go ahead and call
1885 hppa_field_adjust to get a new value for R_DATA_ONE_SYMBOL
1886 relocations in SOM.
1887 (hppa_fix_adjustable): Refine somewhat.
1888
1889 Fri Jan 27 21:29:53 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1890
1891 * config/tc-ppc.h (NO_STRING_ESCAPES): Don't define if we are
1892 using ELF.
1893
1894 Thu Jan 26 19:03:42 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1895
1896 * config/tc-h8300.c (get_specific): Add parens around | inside &.
1897 (skip_colonthing): Set L_8 if ":8" is specified.
1898
1899 Thu Jan 26 18:38:01 1995 Ian Lance Taylor <ian@cygnus.com>
1900
1901 * config/tc-ppc.c (md_begin): Permit mfdec to be duplicated on the
1902 601. Check that the error return from hash_insert is "exists".
1903
1904 Thu Jan 26 11:35:33 1995 Michael Meissner <meissner@cygnus.com>
1905
1906 * configure: Add support for configuring powerpc-*-eabi.
1907
1908 * config/tc-ppc.c (GOT_symbol): Define if object format is ELF.
1909
1910 * config/tc-ppc.h (GLOBAL_OFFSET_TABLE_NAME): Define if object
1911 format is ELF and not defined to be "_GLOBAL_OFFSET_TABLE_".
1912
1913 Wed Jan 25 16:23:13 1995 Jim Wilson <wilson@chestnut.cygnus.com>
1914
1915 * tc-sh.c (little): Add argument IGNORE to avoid compiler warnings.
1916 (md_pseudo_table): Add space for consistent formatting.
1917 (COND8_RANGE, COND12_RANGE): Delete unused macros.
1918 (COND8_F, COND8_M, COND12_F, COND12_M, UNCOND12_F, UNCOND12_M):
1919 Correct minimum and maximum branch offsets. Add comments explaining
1920 why these numbers are correct.
1921
1922 Wed Jan 25 15:32:09 1995 David Edelsohn <edelsohn@mhpcc.edu>
1923
1924 * config/tc-ppc.c (md_parse_option): Accept mpwr2 as a synonym for
1925 mpwrx; mppc32, m603, and m604 as synonyms for mppc; and mppc64 and
1926 m620 for PowerPC64 mode.
1927 (ppc_symbol_new_hook): Add T0 as synonym for TC0 suffix.
1928
1929 Tue Jan 24 16:44:23 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1930
1931 * config/tc-vax.c (vip): Introduce new ptr-to-const local variable
1932 for scanning operand string.
1933
1934 Sat Jan 21 17:50:38 1995 Pat Rankin (rankin@eql.caltech.edu)
1935
1936 * config/vax-inst.h (struct vop, fields `vop_warn', `vop_error'):
1937 make them pointers to const char;
1938 (struct vit, field `vit_error'): ditto.
1939 * config/atof-vax.c (md_atof): rename local `littlenum_pointer'
1940 to `littlenumP' to avoid shadowing file scope variable.
1941 * config/tc-vax.c (vip_begin, vip_op_defaults, vip_op_1): make
1942 string arguments be pointers to const char;
1943 (vip): make `alloperr' const char *;
1944 (vip_op): make `err' and `wrn' const char *; rename `access' to
1945 `access_mode' to avoid shadowing library function.
1946 * config/obj-vms.c (`symbol_name'): make it const char *;
1947 (get_struct_name): cast one use of `symbol_name' to char *
1948 [caller guarantees that it won't modify the pointer's target];
1949 (PUT_COUNTED_STRING): use pointer to const char;
1950 (VMS_typedef_parse): make `pnt2' const char *;
1951 (Write_VMS_MHD_Records): make `cp' const char *;
1952 (VMS_Modify_Psect_Attributes, array `Attributes'): make const,
1953 and make field `Name' pointer to const char;
1954
1955 * as.h (`seg_name[]' declaration): pointers to const char;
1956 (struct _pseudo_type, field `poc_name'): pointer to const char.
1957 * subsegs.c (`seg_name[]' definition): ditto;
1958 * hash.c (hash_ask): rename argument `access' to `access_type'
1959 to avoid shadowing library function.
1960 * write.c (variable `the_object_file'): move from file scope
1961 to block scope within write_object_file(); free it after use;
1962 (fixup_segment): conditionally exclude it for OBJ_VMS.
1963 (cvt_frag_to_fill): rename argument `headers' to `headersP'
1964 to avoid shadowing file scope variable.
1965
1966 Mon Jan 23 21:42:39 1995 Jeff Law (law@snake.cs.utah.edu)
1967
1968 * config/tc-hppa.c (pa_ip, case 'D'): Fix typo which caused
1969 miscompilation of "diag" instructions.
1970
1971 Mon Jan 23 15:51:41 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1972
1973 * configure: Regenerated.
1974
1975 * config/tc-mips.c: Include libiberty.h.
1976
1977 Mon Jan 23 14:07:58 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
1978
1979 * config/tc-sh.h (tc_init_after_args): Don't define.
1980 * config/tc-sh.c (md_begin): Remove unused variable table.
1981 (md_assemble): Remove unused variable p.
1982 (md_convert_frag): Cast fr_address to unsigned long for printf.
1983 (md_apply_fix): Use as_warn_where rather than as_warn.
1984 (sh_init_after_args): Remove empty function.
1985
1986 * configure.in (i386-*-gnu*elf*): New target.
1987
1988 Sat Jan 21 19:02:23 1995 Ian Lance Taylor <ian@tweedledumb.cygnus.com>
1989
1990 * hash.c (hash_ask): If we find the slot after wrapping around,
1991 break out of the loop. Fixes bug in Jan 18 change.
1992
1993 Fri Jan 20 17:07:31 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1994
1995 * hash.c (hash_code): Undo last change.
1996
1997 Thu Jan 19 14:49:47 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1998
1999 * config/tc-alpha.c (alpha_ip): Initialize local variables to keep
2000 gcc quiet.
2001 (gpdisp_hi16_howto): Don't use "const" with reloc_howto_type.
2002 (in_range_signed): Add parens around subtraction inside shift.
2003 * gasp.c (do_data): Initialize local variable "opname".
2004 (istrue): Provide a default case to set "res" and keep "gcc -Wall"
2005 quiet.
2006 * write.c (write_contents): Deleted unused variable.
2007 (print_symbol_value_1): Declare.
2008 * hash.c (hash_ask): Delete disabled non-strcmp version of the
2009 code, and automatic variables used only in those sections.
2010 * write.c (chain_frchains_together_1): Only define local variable
2011 "prev_fix" if BFD_ASSEMBLER.
2012 * flonum-konst.c (dummy1): Return void.
2013 * config/tc-vax.c (md_assemble): Remove two comparisons of
2014 unsigned numbers versus zero.
2015 * as.h (bcopy): If neither memcpy nor bcopy is defined as a macro,
2016 define to use memcpy.
2017
2018 * config/tc-alpha.c, config/alpha-opcode.h: Revert 2 June changes.
2019 Turns out we never got the assignment done after all.
2020
2021 Cleanup of VAX and VMS code, from Pat Rankin:
2022 * config/obj-vms.c: Changed exported function names to lower case.
2023 (Changed call sites in write.c.) Declare VMS system function
2024 names used, conditional on actually being on VMS. Changed many
2025 functions that returned no useful value to now be declared to
2026 return void. Removed many unused variables. Supply missing
2027 return statements or values. Supply `default' case in switch
2028 statements. Ensure local variables get initialized.
2029 * config/tc-vax.c: Minor changes to silence "gcc -Wall".
2030 * config/obj-vms.h, config/tc-vax.h: Added some missing
2031 declarations.
2032
2033 Wed Jan 18 13:49:26 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2034
2035 * atof-generic.c (flonum_print) [TRACE]: New function.
2036 (atof_generic) [TRACE]: Print multiplier before multiplication,
2037 and print multiplication result before and after copy.
2038
2039 * flonum-mult.c (flonum_multip): Avoid sign extension problems
2040 around multiplication operation.
2041
2042 * atof-generic.c (ASSUME_DECIMAL_MARK_IS_DOT): Define.
2043 (atof_generic) [ASSUME_DECIMAL_MARK_IS_DOT]: Check for '.'
2044 explicitly instead of calling strchr.
2045
2046 * config/tc-sparc.c (sparc_ip): When scanning successive opcode
2047 table entries, check names for pointer equality before doing
2048 string comparisons.
2049
2050 * hash.c (hash_ask): Call strcmp instead of expanding it inline.
2051 (hash_code): Replaced with a version from bfd.
2052
2053 * config/obj-coff.c (write_object_file): If COFF_FLAGS isn't
2054 defined, default it to zero.
2055
2056 Wed Jan 18 12:16:07 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
2057
2058 * write.c (fix_new_internal): Clear fx_bsr on those targets which
2059 use it.
2060
2061 * expr.c (operand): Parenthesize && within ||.
2062 * listing.c (listing_newline): Likewise.
2063 (list_symbol_table): Use %lu to print sizeof.
2064 * symbols.c: Comment out unused function indent.
2065 (print_symbol_value_1): Cast pointer to unsigned long for printf.
2066 * config/obj-coff.c (do_relocs_for): Only declare symbol_ptr if it
2067 will be used.
2068 * config/tc-h8300.c (md_begin): Remove unused variable reg.
2069 (get_operand): Declare type of parameter direction. Remove unused
2070 variable size.
2071 (get_specific): Fix comment to avoid nested comments.
2072 (check_operand): Cast X_add_number to unsigned long for printf.
2073 (build_bytes): Remove unused local variables output_ptr, part, and
2074 high.
2075 (build_bytes): Cast X_add_number to unsigned long for printf.
2076 (clever_message): Remove unused variable scan.
2077 (md_assemble): Remove unused variable i.
2078 (tc_coff_sizemachdep): Remove unused function.
2079 * tc-h8300.h (tc_reloc_mangle): Declare.
2080
2081 Tue Jan 17 10:58:06 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
2082
2083 * config/tc-mips.c (mips_4650): New static variable.
2084 (md_begin): Handle a cpu string of "4650". If mips_4650 was not
2085 initialized, set it to 0.
2086 (append_insn): Don't insert nops around HI and LO on a 4650.
2087 (mips_emit_delays): Likewise.
2088 (mips_ip): Use INSN_ISA mask to check ISA of instruction. Check
2089 for INSN_4650.
2090 (md_longopts): Add m4650 and no-m4650.
2091 (md_parse_option): Handle mips-cpu=4650. Handle -m4650 and
2092 -no-m4650.
2093 * doc/as.texinfo: Document new MIPS options.
2094
2095 Sat Jan 14 23:48:13 1995 Steve Chamberlain <sac@jonny>
2096
2097 * config/tc-w65.c, config/tc-w65.h, config/w65.mt: Newfiles.
2098 * config/obj-coff.h: Cope with w65.
2099 * configure, configure.in: Recognize w65.
2100
2101 Thu Jan 12 17:56:24 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2102
2103 * app.c (do_scrub_next_char) [__GNUC__ && __OPTIMIZE__]: If `get'
2104 function is scrub_from_file, call scrub_from_file directly, and
2105 get gcc's inlining capability into the act.
2106
2107 * Makefile.in (VMS_OTHER_OBJS): Add ../libiberty/hex.o.
2108 (OBJS): Delete hex-value.o.
2109 (REAL_SOURCES): Delete hex-value.c.
2110 (hex-value.o): Delete dependencies.
2111 * hex-value.c: Deleted.
2112 * as.c (main): Call hex_init.
2113 * expr.c, config/tc-mips.c: Include libiberty.h. Replace
2114 hex_value array references with hex_* macros.
2115
2116 Wed Jan 11 17:51:38 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2117
2118 * config/tc-h8300.h (COFF_FLAGS): Don't define.
2119 * config/tc-h8500.h (COFF_FLAGS), config/tc-sh.h (COFF_FLAGS),
2120 config/tc-z8k.h (COFF_FLAGS): Ditto.
2121 start-sanitize-rce
2122 * config/tc-rce.h (COFF_FLAGS): Ditto.
2123 end-sanitize-rce
2124
2125 * config/obj-coff.c (KEEP_RELOC_INFO): Make sure it's always
2126 defined.
2127
2128 * config/tc-m68k.c (m68k_ip, cases AOFF and AINDEX): Don't
2129 generate 68020 addressing modes for a 68000 processor.
2130 (md_estimate_size_before_relax, cases PCREL and PCLEA): Ditto.
2131
2132 Tue Jan 10 13:34:14 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2133
2134 * config/obj-coff.c (write_object_file): Don't treat h8300 and z8k
2135 specially with regard to fixups.
2136
2137 Mon Jan 9 16:22:28 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2138
2139 * config/tc-mips.c (RELAX_RELOC1, RELAX_RELOC2): Cast values to
2140 bfd_vma before subtracting.
2141
2142 * config/obj-coff.c (size_section): Handle rs_space like rs_fill,
2143 but make sure fr_symbol is null.
2144 (fill_section): Ditto.
2145
2146 Sun Jan 8 16:14:19 1995 Ian Lance Taylor <ian@tweedledumb.cygnus.com>
2147
2148 * config/tc-mips.c (mips_ip): Fix handling of floating point
2149 values when GPOPT is not defined.
2150
2151 Fri Jan 6 16:59:41 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2152
2153 * gasp.c: Include string.h. Put config.h before other includes.
2154
2155 * config/tc-alpha.c (alpha_ip): Delay calls to emit_add64 until
2156 after any remaining operands are also known to match.
2157
2158 Fri Dec 30 18:21:41 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2159
2160 * listing.c (list_symbol_table): Build a format string based on
2161 the size of the value to be printed, as long as "unsigned long" is
2162 at least as wide, after handling the special case of 4-byte
2163 values.
2164
2165 * Makefile.in (dependencies): Make $(OBJS) depend on as.h and
2166 everything it includes. Delete those files from per-file
2167 dependencies.
2168
2169 * as.h (relax_substateT): Now defined to be unsigned int.
2170 (relax_stateT): Separate typedef from enum definition.
2171 (enum _relax_state): Reordered for better punctuation. Added new
2172 values rs_align_code and rs_space.
2173 (lineno, struct lineno_struct): Unused, deleted.
2174
2175 * as.h: No longer include assert.h.
2176 (as_assert): Declare.
2177 (assert): New definition, calls as_assert longer needed.
2178 (__PRETTY_FUNCTION__): Provide default for older versions of gcc.
2179 * messages.c (as_assert): New function.
2180 * gdbinit.in: Put a breakpoint there.
2181
2182 * read.c (s_space): Rewrite to handle general expressions.
2183 Generate rs_space frags for non-constant values.
2184 * write.c (cvt_frag_to_fill): Treat rs_align_code and rs_space
2185 like rs_align and rs_org. Verify that fr_offset is non-negative,
2186 and force frag type to rs_fill only after assertion checks.
2187 (relax_segment): Treat rs_align_code like rs_align. Treat
2188 rs_space like rs_org in the first switch; in the second, force the
2189 operand to a constant, and use it for the growth size.
2190
2191 Wed Dec 28 20:57:37 1994 Jeff Law (law@snake.cs.utah.edu)
2192
2193 * config/tc-hppa.c (pa_subspace): For sections with the ZERO
2194 attribute, set the "bss" field in the appropriate seginfo structure.
2195
2196 Wed Dec 28 15:01:01 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2197
2198 * subsegs.h: Include obstack.h.
2199
2200 Tue Dec 27 18:16:04 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2201
2202 * as.h (struct frag): Enable align* components now.
2203
2204 Tue Dec 20 14:56:31 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2205
2206 * frags.c (frag_init): Call obstack_begin on `frags'.
2207 * subsegs.c (subsegs_begin): Don't do it here.
2208 * as.c (main): Call frag_init before subsegs_begin.
2209
2210 * frags.c (frag_append_1_char): New function.
2211 * frags.h (frag_append_1_char): Declare it.
2212 (FRAG_APPEND_1_CHAR): Call it. Old definition is commented out
2213 for now.
2214
2215 * as.h (struct frag): Added (but commented out) new fields for
2216 tracking current alignment.
2217 (frag_now_fix): Changed macro to function declaration.
2218 * frags.c (frag_now_fix): Define function here.
2219 (frag_new): Use it instead of accessing `frags' directly.
2220 * frags.h (frags): Change comment to indicate it shouldn't be
2221 accessed directly.
2222 * subsegs.h (struct frchain): New field frch_obstack, intended to
2223 eventually replace global `frags' obstack.
2224 * subsegs.c (subseg_set_rest): Use frag_now_fix instead of
2225 accessing `frags' directly. Initialize fields of new frchainS
2226 explicitly instead of with memset.
2227 * config/obj-coff.c (obj_coff_ln) [!BFD_ASSEMBLER]: Use
2228 frag_now_fix.
2229 * config/tc-mips.c (s_loc), config/obj-vms.c
2230 (vms_resolve_symbol_redef), symbols.c (colon): Likewise.
2231
2232 * config/tc-m68k.c (md_apply_fix_2): Use offsetT and addressT
2233 instead of long and unsigned long.
2234 (md_apply_fix): Cast value before passing it.
2235
2236 * config/obj-aout.h, config/obj-coff.c, config/obj-elf.h,
2237 config/obj-som.h, config/tc-h8500.c, config/tc-hppa.c,
2238 config/tc-hppa.h, config/tc-sh.c, config/tc-z8k.c: Don't rely on
2239 use of ".." when including header files.
2240 start-sanitize-rce
2241 * config/tc-rce.c: Ditto.
2242 end-sanitize-rce
2243
2244 * config/obj-coff.c (fixup_segment): Reformat condition in an `if'
2245 statement.
2246
2247 * Makefile.in (SUBDIR_INCLUDES): Deleted.
2248
2249 Tue Dec 20 13:40:36 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2250
2251 * config/obj-coff.h: Include bfd/libcoff.h, not libcoff.h.
2252
2253 start-sanitize-arc
2254 Tue Dec 20 09:10:40 1994 Doug Evans <dje@canuck.cygnus.com>
2255
2256 * config/tc-arc.c: Delete lots of sparc pseudo-ops.
2257 end-sanitize-arc
2258
2259 Mon Dec 19 16:53:36 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2260
2261 * config/tc-mips.c (load_register): Rewrite to handle O_big 64 bit
2262 constants.
2263 (mips_ip): Accept O_big constants in case 'I'. Change case
2264 'i'/'j' to treat an O_big constant as an out of range value.
2265
2266 Mon Dec 19 14:15:07 1994 Jeff Law (law@snake.cs.utah.edu)
2267
2268 * config/tc-hppa.c (pa_subspace): Make sure SEC_HAS_CONTENTS is
2269 clear for a section with the "ZERO" attribute.
2270
2271 * Reduce useless symbols for ELF in an attempt to make smaller
2272 objects and speed up the linker.
2273 * config/tc-hppa.c (struct call_info): Replace end_symbol field
2274 with a size field.
2275 (hppa_elf_mark_end_function): Delete unneeded function.
2276 (pa_build_unwind_subspace): For the 2nd unwind relocation, use
2277 the function symbol + function size instead of a special symbol
2278 for the end of the function.
2279 (process_exit): Compute the function size here. Don't call
2280 hppa_elf_mark_end_of_function anymore.
2281 (pa_procend): Likewise.
2282 (hppa_fix_adjustable): Only reject 32bit relocations for SOM.
2283 (elf_hppa_final_processing): Simplify.
2284
2285 start-sanitize-arc
2286 Mon Dec 19 12:57:09 1994 Doug Evans <dje@canuck.cygnus.com>
2287
2288 * config/tc-arc.c (arc_insert_operand): Change reg parm to pointer
2289 to table entry. All callers changed.
2290 (md_shortopts): New argument -mmult.
2291 (md_parse_option): Recognize it.
2292 (md_show_usage): Print it.
2293 (md_begin): If -mmult, say we have the new multiply and shift insns.
2294 (md_assemble): Fix reloc generation for 32 bit immediate values.
2295 Clean up modifier handling. Try next insn if fake operand says there's
2296 an error. Update to new syntax of insertion/extraction fns.
2297 Recognize predefined aux regs. Don't abort if insertion fn missing.
2298 end-sanitize-arc
2299
2300 Mon Dec 19 13:49:07 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2301
2302 * configure.in: Recognize mips-sony-bsd and mips-dec-bsd, but
2303 reject other vendors until we can be sure we're consistent with
2304 bfd.
2305
2306 * config/obj-vms.c (Create_VMS_Object_File): Instead of formatting
2307 a buffer to pass to `error', just call `as_fatal' directly.
2308 (VMS_Psect_Spec): Ditto.
2309 (VMS_TBT_Module_Begin, VMS_TBT_Source_File, gen1,
2310 VMS_typedef_parse, VMS_LSYM_Parse, VMS_Emit_Globalvalues): Call
2311 as_tsktsk instead of printf.
2312 (VMS_TBT_Module_Begin, VMS_TBT_Line_PC_Correlation,
2313 VMS_TBT_Source_File, VMS_TBT_Source_Lines,
2314 VMS_Store_Repeated_Data, VMS_Check_For_Main): Use explicit
2315 integers rather than sizeof expressions using basic integer types,
2316 in case host and target aren't the same. Use memcpy or COPY_*
2317 macros instead of possibly unaligned word or longword assignment.
2318
2319 * config/obj-vms.h (OBJ_SYMFIELD_TYPE): New macro.
2320 * config/obj-vms.c (VMS_Store_PIC_Symbol_Reference,
2321 VMS_Check_For_Main, VMS_write_object_file): Use sy_obj instead of
2322 forcing sy_number to hold a pointer.
2323
2324 Fri Dec 16 14:40:16 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2325
2326 * config/tc-sh.c (md_begin): Don't fill in md_relax_table here.
2327 (md_relax_table): Use static initialization.
2328
2329 * config/tc-h8300.c (parse_exp, get_operands, clever_message,
2330 md_assemble, tc_crawl_symbol_chain, md_undefined_symbol,
2331 tc_headers_hook, md_operand, md_number_to_chars): Don't use DEFUN.
2332
2333 * Makefile.in (CHECKFLAGS): Don't pass AS_FOR_TARGET,
2334 CC_FOR_TARGET, OBJDUMP_FOR_TARGET, NM_FOR_TARGET; they're not
2335 used.
2336 (AS_FOR_TARGET, CC_FOR_TARGET, OBJDUMP, OBJDUMP_FOR_TARGET, NM,
2337 NM_FOR_TARGET): Don't define.
2338 (VMS_OTHER_OBJS): Add xmalloc.o and xexit.o from libiberty.
2339 (tooldir): Use exec_prefix, not libdir.
2340
2341 Fri Dec 16 11:07:10 1994 Stan Shebs <shebs@andros.cygnus.com>
2342
2343 * config/obj-coff.h: Include libcoff.h, not ../bfd/libcoff.h.
2344
2345 * as.h: Include progress.h.
2346 * as.c (main): Call START_PROGRESS and END_PROGRESS.
2347 (main, perform_an_assembly_pass): Call PROGRESS.
2348
2349 Fri Dec 16 00:46:08 1994 Ian Lance Taylor <ian@tweedledumb.cygnus.com>
2350
2351 * write.c (adjust_reloc_syms): Use bfd_is_und_section and
2352 bfd_is_abs_section rather than comparing against &bfd_und_section
2353 and &bfd_abs_section.
2354
2355 Thu Dec 15 15:27:14 1994 Jim Wilson <wilson@chestnut.cygnus.com>
2356
2357 * config/tc-sh.c (md_begin): Use a local variable when
2358 initializing md_relax_table to avoid errors about modifying a
2359 const data structure.
2360
2361 Tue Dec 13 15:42:27 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2362
2363 * config/tc-ppc.c (tc_gen_reloc): Remove OBJ_ELF hack which
2364 appears to no longer be needed.
2365
2366 Tue Dec 13 08:04:15 1994 Ian Lance Taylor <ian@cygnus.com>
2367
2368 * config/tc-mips.c (macro_build): Accept BFD_RELOC_PCREL* without
2369 requiring that the X_op_symbol be in the text_section.
2370 (macro): Change the test for a legel expression difference to
2371 correspond to changes in pseudo_set in read.c.
2372
2373 Fri Dec 9 21:04:17 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2374
2375 * write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Use
2376 bfd_install_relocation.
2377
2378 * ecoff.c (ecoff_set_gp_prolog_size): If there is no current
2379 routine, just return.
2380
2381 * config/tc-alpha.c (alpha_ip, case 'B', subcase 'c'): Use opcode
2382 value from pattern instead of assuming jsr.
2383 * config/alpha-opcode.h (jmp): Add a "1,Bc" form.
2384
2385 Thu Dec 8 17:48:25 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2386
2387 * Makefile.in (NM_FOR_TARGET): Use ../binutils/nm.new, not just
2388 plain nm.
2389
2390 * configure.in (ns32k-pc532-mach*): Select correct emulation.
2391 (mips-sony-bsd*): Use ecoff.
2392 (mips-*-gnu*): New target, using aout format, from Roland McGrath.
2393 * configure: Regenerated.
2394
2395 start-sanitize-arc
2396 Tue Nov 29 18:12:22 1994 Doug Evans <dje@canuck.cygnus.com>
2397
2398 * configure.in (arc-*-elf*): Recognize.
2399 * configure: "regenerated".
2400 * config/tc-arc.c, config/tc-arc.h, config/arc.mt: New files.
2401 end-sanitize-arc
2402
2403 Tue Nov 29 13:58:10 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2404
2405 Use libiberty version of xmalloc:
2406 * Makefile.in (REAL_SOURCES): Delete xmalloc.c.
2407 (OBJS): Delete xmalloc.o.
2408 (xmalloc.o): Delete dependencies.
2409 * as.c (main): Call xmalloc_set_program_name once program name is
2410 known.
2411
2412 * config/tc-alpha.c (in_range_signed, in_range_unsigned): New
2413 routines, split from in_range.
2414 (in_range): Deleted. All calls changed to in_range_*signed.
2415 (create_lita_section): Macro deleted. Single use expanded in
2416 place.
2417 (alpha_ip): Handle `t' and `8' operand types.
2418 (md_apply_fix): Handle BFD_RELOC_12_PCREL. Print name of
2419 unhandled relocation types.
2420 * config/alpha-opcode.h: Added HALT and DRAINA. Disabled MOVI,
2421 since it doesn't work, and isn't supported by the native
2422 assembler.
2423
2424 * input-scrub.c: Change wording of a comment to avoid interference
2425 with Cygnus source-control tools.
2426
2427 * as.h (errno) [NEED_DECLARATION_ERRNO]: Declare.
2428
2429 * config/tc-m68k.c (init_table): List buscr and pcr control
2430 registers.
2431 (m68k_ip, case 'J'): Handle them.
2432
2433 Delete signal handler code. It's been disabled since March 1993
2434 without complaints.
2435 * as.c: Don't include signal.h.
2436 (got_sig): Unused function deleted, declaration deleted.
2437 (SIGTY): Macro deleted.
2438 (main): Deleted disabled code for establishing signal handler.
2439
2440 start-sanitize-rce
2441 Tiemann should've noted something like this:
2442 * config/tc-rce.c, config/tc-rce.h: New files.
2443 * as.c (main) [TC_RCE]: Call dump_literals.
2444 * configure.in: Handle rce-*-aout.
2445 * configure: Regenerated.
2446 end-sanitize-rce
2447
2448 Mon Nov 28 11:37:35 1994 Doug Evans <dje@canuck.cygnus.com>
2449
2450 * app.c (do_scrub_next_char): Insert missing newline at end of file
2451 like warning says we do.
2452
2453 Mon Nov 28 00:11:15 1994 Jeff Law (law@snake.cs.utah.edu)
2454
2455 * config/tc-hppa.h (pa_check_eof): Declare new extern function.
2456 (tc_frob_file): Define to call pa_check_eof.
2457
2458 * config/tc-hppa.c (pa_check_current_space_and_subspace): New
2459 function to verify the current space and subspace are reasonable.
2460 Call for the appropriate pseudo-ops and before instruction parsing.
2461 (pa_check_eof): New function to verify enter/exit and proc/procend
2462 pairs match at EOF.
2463 (pa_code): Simplify.
2464
2465 * config/obj-som.c: Delete #if 0 code.
2466
2467 Wed Nov 23 19:36:09 1994 Steve Chamberlain (sac@jonny.cygnus.com)
2468
2469 * config/obj-coff.h (TARGET_FORMAT): Select between coff-shl and
2470 coff-sh.
2471 * config/sh.mh (TARG_CPU_DEPENDENTS): Get it right.
2472 * config/tc-sh.c (little): New function.
2473 (md_parse_option): Notice new option.
2474 (build_relax, build_Mytes, md_atof, md_convert_frag, md_apply_fix):
2475 Cope with little endian data.
2476 * config/tc-sh.h (COFF_MAGIC, LISTING_HEADER): Endian dependent.
2477
2478 Wed Nov 23 10:54:38 1994 Jeff Law (law@snake.cs.utah.edu)
2479
2480 * config/tc-hppa.c (tc_gen_reloc, ELF variant): Revert last
2481 change. The real bug was in bfd/elfcode.h and has been fixed.
2482
2483 Tue Nov 22 23:31:20 1994 Jeff Law (law@snake.cs.utah.edu)
2484
2485 * config/tc-hppa.c (tc_gen_reloc, ELF variant): Add section->vma
2486 to the relocation's offset.
2487
2488 Tue Nov 22 14:37:58 1994 Steve Chamberlain (sac@jonny.cygnus.com)
2489
2490 * Makefile.in (INSTALL_XFORM): Fix typo.
2491
2492 Tue Nov 22 10:23:25 1994 J.T. Conklin <jtc@rtl.cygnus.com>
2493
2494 * config/tc-alpha.c (s_alpha_set): Ignore the .set (no)move and
2495 .set (no)volatile directives.
2496
2497 Tue Nov 15 21:44:13 1994 Jeff Law (law@snake.cs.utah.edu)
2498
2499 * config/tc-hppa.c (pa_subspace): Make sure to always reset
2500 current_subspace.
2501 (pa_text, pa_data): Likewise.
2502
2503 * config/tc-hppa.c (pa_align): New function. Aligns the current
2504 offset within the current subspace along with updating the
2505 alignment of the subspace itself.
2506 (pa_subspace): Default alignment to one byte rathern than zero
2507 bytes to avoid setting alignment to log2(0).
2508 (md_pseudo_table): Use pa_alignment for .align.
2509
2510 Tue Nov 15 15:24:45 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2511
2512 * messages.c (as_fatal): Always put a space after "fatal error:"
2513 when printing message.
2514
2515 Tue Nov 15 11:10:43 1994 Jeff Law (law@snake.cs.utah.edu)
2516
2517 * config/tc-hppa.h (obj_frob_symbol): Delete.
2518 (tc_frob_symbol): Make definition conditional on OBJ_SOM or
2519 OBJ_ELF. For ELF subtract out symbol->section->vma for non common
2520 symbols.
2521
2522 Wed Nov 9 14:53:03 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2523
2524 * config/te-delta.h: New file, derived from te-sysv32.h.
2525
2526 Wed Nov 9 11:52:44 1994 Ian Lance Taylor (ian@cygnus.com)
2527
2528 * config/tc-ppc.c (ppc_bf): Always set coff_line_base.
2529
2530 Mon Nov 7 01:58:49 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2531
2532 * Makefile.in (VERSION): Bump to 2.5.3.
2533
2534 * configure.in: Compare generic cpu name against "sparc", not
2535 "sparc*", since sparc variants should be changed to "sparc".
2536 * configure: Regenerated with autoconf 2.1.
2537
2538 * config/tc-a29k.c (octal, toHex): Variables deleted.
2539 (isoctal): Macro deleted.
2540 (md_begin): Don't initialize them.
2541 (machine_ip, case 'P'/'A'): For absolute operand, generate an
2542 error message if it's out of range.
2543 (md_apply_fix, case RELOC_JUMPTARG): Check range for PC-relative
2544 jumps.
2545 (md_apply_fix): Delete code inside "#if 0".
2546
2547 Thu Nov 3 20:20:40 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2548
2549 * config/go32.mh: Unused file deleted.
2550
2551 * read.c (get_absolute_expression): Indicate that the error may
2552 merely be that the expression can't currently be reduced.
2553
2554 Thu Nov 3 16:09:59 1994 J.T. Conklin (jtc@rtl.cygnus.com)
2555
2556 * config/tc-m68k.h (TARGET_FORMAT): If TE_NetBSD define as
2557 "a.out-m68k-netbsd".
2558 * config/tc-sparc.h (TARGET_FORMAT): If TE_NetBSD define as
2559 "a.out-sparc-netbsd".
2560
2561 * config/te-nbsd.h: New file, NetBSD target emulation
2562 * config/te-netbsd.h: Removed.
2563 * configure.in (i[345]86-*-netbsd*,m68*-*-netbsd*,sparc*-*-netbsd*):
2564 Set bfd_gas. Use nbsd emulation.
2565
2566 Thu Nov 3 17:44:47 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2567
2568 Changes from net 2.5.2 release branch:
2569
2570 * configure.in: Put AC_DEFINE(sparcv9) on its own line, so that
2571 the shell variable settings associated with it are permanent. For
2572 CPUs requiring bfd_gas=yes, select it based on CPU only, not
2573 individual target names. Handle m68k-hp-hpux*, not just -hpux.
2574
2575 * config/tc-z8k.c (tc_coff_symbol_emit_hook): Add dummy argument
2576 to match prototype in obj-coff.h.
2577
2578 * configure.in: Skip tests for defining WANT_FOPEN_BIN and
2579 IBM_COMPILER_SUX.
2580 * acconfig.h: Deleted them.
2581 * configure, conf.in: Rebuild with autoconf 2.0.
2582 * config/go32.cfg, config/vms-conf.h: Updated.
2583
2584 * config/tc-m68k.c (md_apply_fix_2, md_convert_frag_1): Always use
2585 IBM_COMPILER_SUX version of code, with comments indicating why.
2586
2587 * listing.c (file_info): Use text mode when opening file for read.
2588 Use "r" directly, no macro.
2589 * input-file.c (input_file_open): Don't use FOPEN_RT, just use
2590 "r".
2591 * read.c (s_include): Ditto.
2592 * output-file.c (output_file_create): Try both "wb" and "w", don't
2593 bother with FOPEN_* macros.
2594 * as.h: Don't include fopen-*.h.
2595
2596 * config/alpha-opcode.h: Make "ret" with no operands equivalent to
2597 "ret zero,(ra)", to match OSF1 and to be consistent with both
2598 one-operand forms.
2599
2600 Patches from DJ Delorie:
2601 * as.h (alloca): undef alloca before defining it just in case
2602 * config/go32.cfg: new file for autoconf values
2603 * config/te-go32.h: new file
2604 * configure.bat: new for autoconf
2605
2606 * config/tc-i386.c (md_assemble): Fix typo in GOTPC check; had =
2607 for ==.
2608
2609 * configure.in: If target_frag doesn't exist, use /dev/null.
2610
2611 * as.c (parse_args): For non-VMS systems, re-add `v' to
2612 std_shortopts. Add "verbose" to list of long options.
2613
2614 * write.c (adjust_reloc_syms): When generating an absolute section
2615 symbol as a placeholder, don't mark it as used in a relocation
2616 entry, here.
2617
2618 * Makefile.in (comparison): Compare using makefile code from gcc,
2619 stripped down to discard subdir stuff and adapted to give a
2620 non-zero exit status if either file differs.
2621
2622 Thu Nov 3 15:43:02 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2623
2624 * config/tc-mips.c (load_address): Fix RELAX_ENCODE arguments for
2625 NO_PIC case.
2626
2627 Tue Nov 1 16:10:59 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2628
2629 * config/tc-mips.c (s_change_sec): If not GPOPT, don't permit
2630 switching to the readonly data section.
2631
2632 * ecoff.c (ecoff_directive_type): Fix warning message.
2633
2634 Sun Oct 30 00:57:35 1994 Jeff Law (law@snake.cs.utah.edu)
2635
2636 * config/tc-hppa.c (pa_proc): Delete disabled code to put each
2637 proc in its own subspace, we're not going to use it.
2638
2639 Tue Oct 25 14:44:33 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2640
2641 * config/tc-mips.c (macro): Ensure that mips2 case of M_LI_DD in
2642 .rdata does not become a variant frag.
2643
2644 * config/tc-mips.c (mips_cpu): Initialize to -1.
2645 (md_begin): Don't mips_cpu if it was already set.
2646 (md_parse_option): For -mipsN, don't set mips_cpu if it was
2647 already set. For -mcpu=, just set mips_cpu, not mips_isa.
2648
2649 Fri Oct 21 20:42:29 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2650
2651 * config/tc-mips.c (md_pseudo_table): If OBJ_ELF, handle .section.
2652 (s_elf_section): New static function.
2653 * ecoff.c (ecoff_build_symbols): Don't abort if we don't recognize
2654 the section when setting the storage class; default to sc_Data.
2655
2656 Thu Oct 20 00:43:38 1994 Jeff Law (law@snake.cs.utah.edu)
2657
2658 * config/tc-hppa.c (md_apply_fix): Set new_val to 8 for all
2659 fixups to branch instructions (not just pc-relative ones) which
2660 will generate SOM relocations.
2661
2662 Wed Oct 19 13:41:56 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2663
2664 * config/tc-a29k.c: Include ctype.h with angle brackets.
2665 (define_some_regs): Add new special register names defined on the
2666 29040.
2667 (parse_operand): Add argument opt. If non-zero, don't warn about
2668 a missing operand.
2669 (machine_ip): If handling argument type 'I', pass opt as non-zero
2670 to parse_operand. Handle new optional operand type 'I'.
2671 (md_undefined_symbol): Handle special register names (srNN).
2672
2673 Tue Oct 18 00:45:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2674
2675 * write.c (renumber_sections): New static BFD_ASSEMBLER function.
2676 (write_object_file): Call it after removing gas created sections.
2677
2678 Mon Oct 17 18:06:05 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2679
2680 * symbols.c (symbol_create): Use udata.p, not just udata.
2681 * config/obj-elf.c (obj_ecoff_set_ext): Likewise.
2682 (elf_get_extr): Likewise.
2683
2684 * read.c (read_a_source_file): The second argument to as_where is
2685 unsigned int *, not int *.
2686
2687 Mon Oct 17 02:26:32 1994 Jeff Law (law@snake.cs.utah.edu)
2688
2689 * config/tc-hppa.c: Eliminate all uses of fx_addnumber.
2690 (tc_gen_reloc): Simplify. It's no longer necessary to set a
2691 reloc's addend field to zero for function symbols.
2692 (md_apply_fix): Simplify. For fixups which will require a SOM
2693 reloc, just clear out the necessary bits in the output file.
2694
2695 Fri Oct 14 19:06:46 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2696
2697 * Makefile.in (BISON): Use bison -y, not bison.
2698
2699 Thu Oct 13 19:22:54 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2700
2701 * Makefile.in (VERSION): Updated to 2.5.
2702 (clean-here): Delete stamp-mk.com.
2703 (distclean): Delete .gdbinit.
2704 * Version 2.5 released.
2705
2706 Wed Oct 12 20:30:51 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2707
2708 * config/te-nbsd532.h: Renamed from te-netbsd532.h.
2709 * configure.in, configure: Adjusted.
2710
2711 Wed Oct 12 16:33:38 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
2712
2713 * config/cplus-dem.c: Removed. It isn't used. Even if it was,
2714 it's better to use the one in libiberty.
2715
2716 Wed Oct 12 18:48:39 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2717
2718 * symbols.c (resolve_symbol_value, case O_symbol): Undo last
2719 change; it breaks the rs6000 support, and doesn't seem to be
2720 needed.
2721
2722 Wed Oct 12 11:56:50 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
2723
2724 * config/tc-i386.h,te-netbsd532.h (TARGET_FORMAT): Changed to
2725 a.out-<arch>-netbsd to match corresponding changes in BFD.
2726
2727 Wed Oct 12 11:06:11 1994 Ian Lance Taylor (ian@cygnus.com)
2728
2729 * config/tc-ppc.c (ppc_fix_adjustable): Resolve symbol values
2730 rather than explicitly adding the frag address.
2731 * config/obj-coff.c (coff_frob_symbol): Add a zero entry to mark
2732 the end of the line numbers; this replaces the zero entry which
2733 used to be added by coff_add_linesym, removed Oct 7.
2734 (coff_adjust_section_syms): Ignore sections with no seginfo.
2735
2736 Wed Oct 12 01:41:37 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2737
2738 * Makefile.in (bootstrap, bootstrap2, bootstrap3): Create a
2739 "stage" symlink to the appropriate stage* directory, and use it
2740 instead in the -B options.
2741 (comparison): Revert yesterday's change.
2742
2743 Tue Oct 11 16:48:11 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2744
2745 * config/tc-sparc.c (tc_gen_reloc): For non-a.out relocations, if
2746 pc-relative, use fx_offset only, ignore address of relocation.
2747
2748 Tue Oct 11 15:24:00 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2749
2750 * config/tc-mips.c (mips_ip): Don't use S_IS_LOCAL when checking
2751 for an embedded PIC switch expression, since the definition of
2752 S_IS_LOCAL was changed.
2753
2754 Tue Oct 11 15:05:11 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
2755
2756 * Makefile.in (comparison): When comparing as.new or gasp.new, try
2757 running the binary through sed to avoid differences due to
2758 "stage1" or "stage2" having been written into the binary.
2759
2760 Sat Oct 8 01:48:04 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
2761
2762 ELF symbol size handling, based on code from Eric Youngdale:
2763 * config/obj-elf.h (OBJ_SYMFIELD_TYPE): New macro. Adds an
2764 expression pointer to the symbol structure, used for `size'
2765 expressions that couldn't be reduced to constants when initially
2766 processed.
2767 (elf_frob_symbol): Declare.
2768 (obj_frob_symbol): Call elf_frob_symbol always, rather than
2769 ecoff_frob_symbol only if ECOFF_DEBUGGING defined.
2770 * config/obj-elf.c (obj_symbol_new_hook): Deleted unused code.
2771 Clear sy_obj field.
2772 (obj_elf_size): Deleted unused code. If size is non-reducible
2773 expression, allocate some storage for the sy_obj field and copy
2774 the expression.
2775 (elf_frob_symbol): New function. Computes sizes, calls
2776 ecoff_frob_symbol if appropriate.
2777
2778 * write.c (fixup_segment): For i386 elf and coff (for now), don't
2779 add in value of symbol from another defined section of the file.
2780
2781 Fri Oct 7 17:54:02 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2782
2783 * config/tc-m88k.h (TC_KEEP_FX_OFFSET): Define.
2784 * config/obj-coff.c (do_relocs_for): Test only TC_KEEP_FX_OFFSET,
2785 rather than both it and TC_M88K.
2786 (coff_adjust_section_syms): New function.
2787 (coff_frob_section): For non-empty sections, create aux entry for
2788 the section symbol, indicating the size.
2789 (n_line_nos): New variable.
2790 (add_lineno): Increment it.
2791 (coff_add_linesym): Increment n_line_nos, don't call add_lineno.
2792 (coff_frob_file): New function; map coff_adjust_section_syms over
2793 sections.
2794 (obj_coff_line): Only reset line_base for .bf symbols.
2795 * config/obj-coff.h (coff_adjust_section_syms, coff_frob_file):
2796 Declare.
2797 (obj_frob_file): New macro.
2798
2799 * config/obj-coff.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Renamed from
2800 obj_frob_forward_symbol, and rewritten for new parameter list.
2801
2802 Mon Oct 3 21:02:38 1994 Pat Rankin (rankin@eql.caltech.edu)
2803
2804 * config/obj-vms.h (S_IS_LOCAL): fix obsolete flagseen[] reference.
2805
2806 Wed Oct 5 11:49:26 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
2807
2808 * config/obj-ecoff.c (obj_pseudo_table): Accept .esize and .etype
2809 as synonyms for .size and .type.
2810
2811 Wed Oct 5 00:08:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2812
2813 * config/obj-coff.c (coff_frob_section): Remove assert about
2814 section alignment.
2815 * config/tc-sparc.c (md_section_align): Use section alignment, not
2816 xvec align_power_min field.
2817
2818 Fri Sep 30 19:05:20 1994 Pat Rankin (rankin@eql.caltech.edu)
2819
2820 * vmsconf.sh (make-gas.com): handle DCL verification to enable
2821 sensible feedback to the user while gas is being built.
2822
2823 Fri Sep 30 16:23:31 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2824
2825 * Makefile.in (DISTSTUFF): New variable, listing only make-gas.com
2826 for now.
2827 (diststuff): New target; builds DISTSTUFF.
2828 (realclean): Separate target, depend on clean and distclean, then
2829 delete DISTSTUFF.
2830 * make-gas.com: Deleted.
2831
2832 * config/tc-i386.c (i386_validate_fix) [BFD_ASSEMBLER]: New
2833 function. Converts reloc for "foo-GOT" to BFD_RELOC_386_GOTOFF
2834 reloc for "foo".
2835 (i386_operand): Don't look up section symbol for
2836 undefined_section.
2837 (reloc): Always permit return of 8- and 16-bit relocation types.
2838 Add a space after "pc-relative" in the error message.
2839 (tc_i386_fix_adjustable) [BFD_ASSEMBLER]: Reject
2840 BFD_RELOC_386_GOTOFF relocs.
2841 (i386_operand): For any GOTOFF reloc, convert it to a BFD_RELOC_32
2842 with a "foo-GOT" value.
2843 * config/tc-i386.h (i386_validate_fix): Declare it.
2844 (TC_VALIDATE_FIX): New macro -- call it.
2845 (NOP_OPCODE): Cast to `char' to avoid compiler warnings.
2846
2847 * as.h: If __STDC__ is not defined and varargs.h is available, use
2848 it rather than stdarg.h.
2849
2850 * write.h (struct fix): Added new bitfield fx_plt, for fixups
2851 referring to PLT entries.
2852 * write.c (fix_new_internal): Initialize fx_plt to zero.
2853 (adjust_reloc_syms): Re-fetch `sym' after top of reduction loop.
2854 Don't adjust fx_offset by frag address, since S_GET_VALUE now
2855 includes the frag address.
2856 (fixup_segment): Changed local var PCREL to type int, added PLT.
2857 If PC-relative fixup refers to a PLT entry for a symbol in the
2858 current section, don't reduce it.
2859
2860 * write.c (adjust_reloc_syms): Exit loop through a label. If
2861 DEBUG5 is defined, print out each fixup before and after
2862 processing.
2863 (fixup_segment): If DEBUG5 is defined, print out each fixup before
2864 and after processing.
2865 (print_fixup): Added prototype. Show address on first line. Show
2866 fx_offset and fx_subsy. [!BFD_ASSEMBLER]: Only show fx_r_type if
2867 NEED_FX_R_TYPE is defined.
2868
2869 * symbols.c (print_symbol_value_1): Check S_IS_LOCAL, S_IS_EXTERN,
2870 S_IS_DEBUG, S_IS_DEFINED also.
2871
2872 Thu Sep 29 18:57:06 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2873
2874 * Makefile.in (all): Depend on .gdbinit.
2875 (.gdbinit): Rebuild from gdbinit.in by running config.status.
2876
2877 * gdbinit.in: Define new function "pf". Fix doc on "pe" and "ps".
2878
2879 * write.c (print_fixup): Print source location on first line.
2880 Show fx_r_type and fx_addsy fields.
2881
2882 Wed Sep 28 14:56:39 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2883
2884 * configure.in: Set bfd_gas for all sparc targets in one place,
2885 instead of separately for each. Correctly handle user-supplied
2886 "--enable-bfd-gas" option.
2887
2888 * gdbinit.in: Move "break abort" to end, in case gdb complains.
2889
2890 * as.h (PRINTF_WHERE_LIKE, PRINT_LIKE) [USE_STDARG, !__GNUC__]:
2891 Use PARAMS macro.
2892
2893 * symbols.c (resolve_symbol_value, case O_symbol): Don't do any
2894 processing if add_symbol is undefined or in expr_section.
2895 (resolve_symbol_value, case O_add): For symbol plus
2896 constant-valued symbol, convert to O_symbol and re-reduce.
2897 (S_GET_VALUE): If symbol needs resolving, resolve it.
2898 (indent_level): No longer static.
2899 (print_symbol_value_1): Don't print frag address if it matches
2900 zero_address_frag. Don't print "resolving" if already resolved.
2901 Print segment name. Don't call print_expr_1 on an undefined
2902 symbol.
2903 (print_expr_1): Fix whitespace before printing X_add_number.
2904
2905 * expr.c (make_expr_symbol): No longer static. Use symbol_create,
2906 not symbol_new, for symbols holding expression values.
2907 * expr.h (make_expr_symbol): Move declaration here.
2908 * write.c (fix_new_exp): Handle O_add by creating an
2909 expression-valued symbol, and calling fix_new_exp recursively.
2910 (adjust_reloc_syms): If a fixup's symbol value is a sum of an
2911 undefined symbol and a constant, fold the constant into the fixup,
2912 and refer to the undefined symbol directly. Then process the
2913 fixup again from scratch.
2914 (write_object_file): Before calling adjust_reloc_syms, make a pass
2915 through the symbol list trying to resolve values.
2916
2917 * write.c (print_fixup): New routine, for debugging.
2918 (write_relocs): Call bfd_install_relocation. Deleted various
2919 hacks for working around problems with bfd_perform_relocation.
2920
2921 * Makefile.in (VERSION): Update to 2.4.90.
2922
2923 Wed Sep 28 11:50:40 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2924
2925 * Makefile.in (gasp.o): Depends upon config.h.
2926
2927 * config/tc-mips.c: Include subsegs.h.
2928 (md_apply_fix): If an unconditional b or bal overflows, and we are
2929 not assembling PIC code, replace it with a j or jal.
2930
2931 * config/tc-mips.c (md_apply_fix): Correct branch overflow test.
2932 Use as_bad_where and as_warn_where rather than as_bad and as_warn.
2933
2934 Mon Sep 26 17:15:59 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2935
2936 * write.c (write_relocs): Add file name and line number to
2937 as_fatal calls. Handle bfd_reloc_overflow case specifically when
2938 RELOC_EXPANSION_POSSIBLE.
2939
2940 Fri Sep 23 16:11:28 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2941
2942 * as.h (USE_STDARG, USE_VARARGS): Define one or neither of these
2943 here. Use them for deciding which PRINTF*LIKE macro definitions
2944 to use.
2945 * messages.c: Use them, instead of NO_STDARG, NO_VARARGS.
2946 [!USE_STDARG && !USE_VARARGS] (va_alist, va_dcl, ...): Provide
2947 default definitions matching what we were doing before.
2948 (as_tsktsk): Remove the non-stdarg, non-varargs version, and
2949 always use the varargs form if not using stdarg. It's safe to
2950 always use vfprintf, because libiberty will provide it if the
2951 native system doesn't. Also, always make format be const.
2952 (as_warn, as_warn_where, as_bad, as_bad_where, as_fatal): Ditto.
2953
2954 Fri Sep 23 14:42:34 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2955
2956 * config/tc-mips.c (load_register): Always use addiu when adding a
2957 constant to $zero--no need to use daddiu.
2958 (macro): Hack the -mips3 overflow tests to not fail when offsetT
2959 is only 32 bits.
2960
2961 * symbols.h (copy_symbol_attributes): Declare.
2962
2963 Thu Sep 22 21:58:24 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2964
2965 * listing.c: Bugfixes based in part on patches from Paul
2966 Kranenburg.
2967 (listing_newline): Check filename as well as line number when
2968 deciding whether to record it.
2969 (list_symbol_table) [S_IS_REGISTER]: Check that S_IS_REGISTER is
2970 false (if defined) as well as checking for reg_section.
2971 (listing_listing): Iterate fetching lines while line number is too
2972 low, and we haven't run off the end of the input file.
2973
2974 * config/vms-conf.h: Changed HAVE_DELETE to HAVE_REMOVE.
2975
2976 Thu Sep 22 13:39:10 1994 Kung Hsu (kung@x1.cygnus.com)
2977
2978 * ecoff.c (ecoff_generate_asm_lineno): check if
2979 current_stabs_filename is NULL before strcmp.
2980 * read.c (read_a_source_file): fix a bug in generate_asm_lineno
2981 checking.
2982
2983 Wed Sep 21 18:17:35 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
2984
2985 * config/ho-*.h: Now-unused files deleted.
2986
2987 * symbols.c (copy_symbol_attributes): New function. Copies BFD
2988 symbol flags and calls OBJ_COPY_SYMBOL_ATTRIBUTES.
2989 (resolve_symbol_value, case O_symbol): Call it, if X_add_number is
2990 zero. Don't call obj_frob_forward_symbol.
2991 * read.c (pseudo_set): Call copy_symbol_attributes, but only if
2992 X_add_number is zero.
2993 * config/obj-elf.h (obj_frob_forward_symbol): Deleted.
2994
2995 * config/tc-i960.c: Lots of whitespace, comment reformatting,
2996 using GNU indent.
2997 (strchr): Don't declare.
2998 [BFD_ASSEMBLER]: Don't compile md_convert_frag,
2999 md_estimate_size_before_relax, md_ri_to_chars,
3000 md_create_short_jump, md_create_long_jump.
3001 (brtab_emit): Use data_section, not SEG_DATA.
3002
3003 Mon Sep 19 17:14:44 1994 Pat Rankin (rankin@eql.caltech.edu)
3004
3005 * config/vms-conf.h: new file, manually derived from conf.in.
3006 * config-gas.com: use it, and eliminate obsolete "host.h".
3007
3008 Wed Sep 21 11:11:30 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3009
3010 * config/tc-ppc.c (ppc_current_block): New static variable.
3011 (ppc_stabx): Set sy_tc.within of a C_STSYM symbol to
3012 ppc_current_block. Don't move around any stab symbol, just those
3013 for common symbols.
3014 (ppc_bs): Set ppc_current_block.
3015 (ppc_es): Clear ppc_current_block.
3016 (ppc_frob_symbol): Set the value of a C_STSYM symbol to the offset
3017 from the csect of the enclosing block.
3018
3019 * config/tc-mips.c (insns_since_cache_access): Remove.
3020 (append_insn): Remove setting of insns_since_cache_access, and
3021 special 4600 handling; it turns out not to be required.
3022
3023 Tue Sep 20 16:13:18 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3024
3025 * config/tc-mips.c (md_shortopts): Remove E.
3026 (md_longopts): Add EB and EL.
3027 (md_parse_option): Handle -EB and -EL as separate options, rather
3028 than as a single -E option with an argument.
3029
3030 Mon Sep 19 12:42:05 1994 Jeff Law (law@snake.cs.utah.edu)
3031
3032 * config/tc-hppa.c (hppa_fix_adjustable): Reject reductions
3033 involving global symbols too.
3034
3035 Mon Sep 19 12:12:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3036
3037 * as.h: Test NEED_DECLARATION_*, not NEED_*_DECLARATION.
3038
3039 * configure.in: Test for remove, not delete. Fix cross-assembler
3040 test.
3041 * as.h: Test HAVE_REMOVE, not HAVE_DELETE; define unlink to
3042 remove, not delete.
3043
3044 * read.c (pseudo_set, case O_symbol): If
3045 OBJ_COPY_SYMBOL_ATTRIBUTES is defined, invoke it.
3046 [BFD_ASSEMBLER]: Copy BSF_FUNCTION setting too.
3047 * config/obj-elf.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Define.
3048
3049 Wed Aug 10 19:15:30 1994 Pat Rankin (rankin@eql.caltech.edu)
3050
3051 * config/obj-vms.h (DSG_S_C_UBITU, DST_K_VFLAGS_DSC, DST_K_TS_ATOM,
3052 many others): new macros; values obtained from "DSTRECRDS.SDL".
3053 * config/obj-vms.h (various): use them.
3054 (USE_BITSTRING_DESCRIPTOR): new macro, for selecting bitfield
3055 representation (only enum bitfields can avoid being bitstrings).
3056 (bitfield_suffix, setup_basic_type): new routines.
3057 (VMS_typedef_parse): use them. Now recognize bitfields of all
3058 integral types, not just type `int'. Caveat: the representation
3059 used for bitfields still does not work for objects placed in
3060 registers, and gcc's optimizer sometimes puts small structs there.
3061
3062 Tue Jun 14 17:31:44 1994 Pat Rankin (rankin@eql.caltech.edu)
3063
3064 * read.c (s_text) [#if OBJ_VMS]: clear the IN_DEFAULT_SECTION
3065 bit from const_flag.
3066 * config/obj-vms.h (IN_DEFAULT_SECTION): define this macro.
3067 (tc_frob_label): define this to call vms_check_for_special_label,
3068 and declare the latter.
3069 * config/obj-vms.c (vax_g_doubles): declare this file-scope
3070 variable.
3071 (const_flag): initialize to IN_DEFAULT_SECTION instead of 0.
3072 (vms_check_for_special_label): new routine (tc_frob_label).
3073 (VMS_TBT_Routine_End): don't bother checking for `gcc_compiled.'
3074 and `gcc2_compiled.' labels; they won't reach here any more.
3075 (VMS_typedef_parse) [case 'r']: for types `double' and `complex
3076 double', use `vax_g_doubles' flag to select type of double.
3077 (VMS_write_object_file) [traceback setup]: don't pass symbols
3078 with the IN_DEFAULT_SECTION attribute to the TBT_Routine_Begin
3079 and TBT_Routine_End functions.
3080
3081 Mon Jun 6 20:52:20 1994 Pat Rankin (rankin@eql.caltech.edu)
3082
3083 * config/obj-vms.c (VMS_TBT_Routine_End): cache the result of
3084 S_GET_VALUE() to avoid many repeated function calls.
3085 (VMS_Check_For_Main) [#if HACK_DEC_C_STARTUP]: capitalize
3086 _C$MAIN_ARGS in advance, in case -h3 (leave symbol name as-is)
3087 gets requested. [All the HACK_DEC_C_STARTUP code appears to
3088 be obsolete; gcc does it automatically for vms target. It's
3089 also misnamed, because it is for the "VAX C" run-time library,
3090 not the newer "DEC C" one which has much different startup code.]
3091 {various}: use `S_SET_xxx(symbol,new_value)' rather than
3092 `S_GET_xxx(symbol) = new_value'.
3093
3094 Mon Sep 19 12:05:03 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3095
3096 * config/obj-coff.c (c_dot_file_symbol): Use bfd_abs_section_ptr,
3097 not &bfd_abs_section.
3098
3099 Thu Sep 15 18:36:34 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3100
3101 * expr.c (clean_up_expression): Use addressT, not bfd_vma.
3102
3103 Tue Sep 13 20:05:47 1994 Jeff Law (law@snake.cs.utah.edu)
3104
3105 * expr.c (expr): Don't reduce the difference of two symbols in the
3106 same frag if the symbols are not in normal sections.
3107
3108 * config/obj-som.h (S_SET_OTHER, S_SET_TYPE): Delete a.out crud.
3109 (S_SET_DESC, S_GET_OTHER, S_GET_TYPE, S_GET_DESC): Likewise.
3110 (obj_attach_unwind_info): Do not define. Not needed anymore.
3111 * config/tc-hppa.c: Delete whitespace at EOL.
3112 (struct hppa_fix_struct): Delete fx_unwind field and all references.
3113 (fix_new_hppa): Last arg is now a pointer to an int. Do not
3114 call obj_attach_unwind_info anymore. For SOM R_ENTRY and R_EXIT
3115 fixups, store 32bits of unwind information in the fx_addnumber
3116 field of the fixup.
3117 (md_assemble, pa_entry, process_exit, pa_procend): For SOM R_ENTRY
3118 and R_EXIT fixups, pass a NULL pointer to fix_new_hppa, and a
3119 pointer to 32 bits of unwind info.
3120 (tc_gen_reloc): For SOM R_ENTRY and R_EXIT fixups, set the symbol
3121 pointer to the dummy symbol; set the addend field to fx_addnumber.
3122 (pa_comm, pa_equ, pa_type_args, pa_import): Use bfd_XXX_section_ptr
3123 rather than &bfd_XXX_section.
3124
3125 Tue Sep 13 21:15:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3126
3127 * config/tc-i386.c (md_apply_fix_1): For GOTPC relocs, decrement
3128 value by one; discard adjustments previously being made. From
3129 Eric Youngdale.
3130
3131 VMS- and Vax-related changes from Pat Rankin:
3132 * Makefile.in (VMS_OTHER_OBJS): add concat, getopt, and getopt1.
3133 * vmsconf.sh: no longer have make-gas.com echo text about needing
3134 to modify the gcc-vms driver when intending to use with gcc 1.x.
3135 * as.c (parse_options): suppress 'v' from std_short_options and
3136 eliminate VMS-specific conditional initialization;
3137 [default case]: check for '-v' if md_parse_options doesn't recognize
3138 an option;
3139 [default case, #if VMS]: check for filename argument when '-v' seen;
3140 [case 'v']: delete.
3141 * config/tc-vax.c (md_assemble): don't rely on `this_add_number'
3142 for O_big literal operands (double floats and long long ints);
3143 [VMS, md_shortopts]: add second colon after 'v';
3144 (md_parse_options) [VMS, case 'v']: check for argument, so
3145 caller can handle `-v' w/o arg.
3146
3147 Tue Sep 13 16:45:08 1994 Steve Chamberlain (sac@jonny.cygnus.com)
3148
3149 * config/obj-coff.c (do_relocs_for): If TC_KEEP_FX_OFFSET
3150 is defined, put the tx_offset into the r_offset.
3151 * config/tc-sh.c (line_comment_chars): Add #
3152 (tc_reloc_mangle): Deleted.
3153 * config/tc-sh.h (TC_KEEP_FX_OFFSET): Define.
3154 (TC_RELOC_MANGLE): Delete.
3155
3156 Tue Sep 13 16:20:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3157
3158 * flonum-konst.c: Change preprocessor tests of HO_VMS to just VMS.
3159 * hex-value.c: Ditto.
3160 * config/obj-vms.c: Ditto.
3161
3162 * config/tc-sparc.c (sparc_ip): Replace as_bad/exit sequence with
3163 a call to as_fatal.
3164 * config/tc-i860.c (i860_ip): Ditto.
3165 * config/tc-hppa.c (pa_ip): Ditto.
3166 * config/tc-alpha.c (alpha_ip): Ditto.
3167 * as.c (parse_args): Ditto.
3168
3169 * config/tc-mips.c (mips_ip): Replace as_warn/exit sequence with a
3170 call to as_fatal.
3171
3172 * write.c (write_contents): Use EXIT_FAILURE.
3173 * output-file.c (output_file_create, output_file_close,
3174 output_file_create, output_file_close): Ditto.
3175 * messages.c (as_fatal): Ditto.
3176 * config/obj-som.c (obj_som_version, obj_som_copyright): Ditto.
3177 * config/obj-ieee.c (write_object_file): Ditto.
3178 * config/obj-coff.c (write_object_file): Ditto.
3179 * config/tc-vax.c (main): Use EXIT_SUCCESS.
3180 * config/tc-m68k.c (main): Ditto.
3181
3182 * hash.c (main): Pass a value to exit().
3183
3184 * as.h (EXIT_SUCCESS, EXIT_FAILURE): Moved here.
3185 * as.c: ...from here.
3186 (parse_args): Use them always.
3187 (main): Use exit rather than return.
3188
3189 * Makefile.in (*_FOR_TARGET, INSTALL_XFORM, install, uninstall):
3190 Rewrite handling of program_transform_name.
3191
3192 * configure.in: Test for functions unlink and delete.
3193 * as.h: If unlink isn't available but delete is, define unlink to
3194 be delete.
3195
3196 Update for autoconf 1.118:
3197 * gdbinit.in: New file, created from old .gdbinit.
3198 * .gdbinit: Deleted.
3199 * aclocal.m4 (GAS_GDBINIT): Deleted.
3200 * configure.in: Don't use it. Instead, generate .gdbinit from
3201 gdbinit.in. Don't substitute cpu_type, obj_format, emulation,
3202 atof. Switched order of AC_LINK_FILES arguments. Use AC_PREREQ
3203 to ensure that older versions of autoconf aren't used.
3204 * Makefile.in: Added @configure_input@ line.
3205 (configure): Deleted rule.
3206
3207 Tue Sep 13 12:08:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3208
3209 * config/obj-coff.c (fixup_segment): After handling the difference
3210 of two symbols from the same segment, set fx_subsy to NULL, to
3211 satisfy existing TC_COUNT_RELOC macros.
3212
3213 Tue Sep 13 01:47:08 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3214
3215 * aclocal.m4 (GAS_GDBINIT): New macro.
3216 * configure.in: Use it.
3217 * configure: Regenerated.
3218
3219 Mon Sep 12 20:56:38 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com)
3220
3221 * .gdbinit (pe, ps): Define new commands.
3222 * symbols.c (indent_level): New static variable.
3223 (indent, print_expr_1, print_symbol_value_1, print_symbol_value,
3224 print_expr): New functions.
3225
3226 * Makefile.in (config-stamp): Add a "this file generated by make"
3227 message to config.h.
3228
3229 PIC implementation for i386-linux, based on code from Eric
3230 Youngdale and Paul Kranenburg, with some work of my own:
3231
3232 * write.c (fixup_segment): Test TC_RELOC_RTSYM_LOC_FIXUP on fixup
3233 before processing same-section pcrel relocations.
3234 (TC_RELOC_RTSYM_LOC_FIXUP): Default to 1.
3235
3236 * expr.c (make_expr_symbol): If operator is O_symbol and
3237 X_add_number is zero, just return the symbol. If operator is
3238 O_constant, resolve the symbol's value before returning.
3239 (operand): Permit use of "[]" for grouping.
3240 (clean_up_expression): For difference of two symbols in the same
3241 frag, add the difference of their offsets into X_add_number.
3242 (expr): Reduce difference of two symbols in same frag to their
3243 difference.
3244
3245 * config/tc-i386.c (TC_RELOC): New macro.
3246 (struct _i386_insn): New field disp_reloc.
3247 (GOT_symbol): New variable.
3248 (operand_special_chars): Added square-brackets and at-sign.
3249 (reloc) [BFD_ASSEMBLER]: Added new argument OTHER; if it is not
3250 NO_RELOC, just return it.
3251 (reloc) [! BFD_ASSEMBLER]: Add third argument to dummy macro.
3252 (BFD_RELOC_386_PLT32, _GOT32, _GOTOFF) [! BFD_ASSEMBLER]: More
3253 dummy macros.
3254 (tc_i386_fix_adjustable): New function. Returns zero if symbol in
3255 fixup is not local, to prevent relocations against externals from
3256 being dropped.
3257 (md_assemble): Initialize disp_reloc field to NO_RELOC. Pass
3258 disp_reloc field to reloc() function, and use TC_RELOC to generate
3259 value to pass to fix_new_exp.
3260 (md_assemble): Change 32-bit reloc against GOT_symbol into a GOTPC
3261 reloc.
3262 (i386_operand): Initialize disp_reloc field to NO_RELOC. Handle
3263 @GOTOFF, @PLT, @GOT operands. For GOTOFF relocations with local
3264 symbols, force generation of the section symbol.
3265 (md_estimate_size_before_relax): If GOT_symbol exists, decide
3266 we're generating PIC code, and convert relocations against
3267 undefined symbols from PCREL to PLT32.
3268 (md_apply_fix_1) [OBJ_ELF]: Fix up values for dynamic-linking
3269 relocs.
3270 (md_undefined_symbol): Notice GLOBAL_OFFSET_TABLE_NAME and set
3271 and return GOT_symbol if it matches.
3272 (F, MAP): Move macro definitions outside function.
3273 (tc_gen_reloc): Only switch on size and pcrel if code wasn't
3274 already supplied as PLT32. GOT32, GOTOFF, or GOTPC. Convert
3275 BFD_RELOC_32 using GOT_symbol into GOTPC.
3276 * config/tc-i386.h (TC_RELOC, tc_fix_adjustable,
3277 TC_RELOC_GLOBAL_OFFSET_TABLE, TC_RELOC_RTSYM_LOC_FIXUP): New
3278 macros.
3279 (NEED_FX_R_TYPE): Define.
3280 (LOCAL_LABEL): Accept ".X" prefix too.
3281 (GLOBAL_OFFSET_TABLE_NAME): Default to "_GLOBAL_OFFSET_TABLE_".
3282
3283 Mon Sep 12 17:51:39 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3284
3285 * config/obj-elf.c (obj_elf_type): Rewrite to accept syntax
3286 reportedly to be used on Irix 6.
3287
3288 * config/tc-mips.c (md_pseudo_table): Handle .globl and .global.
3289 (s_mips_globl): New static function; needed for Irix 5 support.
3290 * ecoff.c (ecoff_build_symbols): If BSF_FUNCTION is set for an
3291 external symbol with no type, set the type to st_Proc rather than
3292 st_Global. Don't set the index of an external st_Proc or
3293 st_StaticProc symbol unless it is also a local symbol.
3294
3295 * read.c (read_a_source_file): The second argument to as_where is
3296 unsigned int *, not int *.
3297
3298 Thu Sep 8 17:18:24 1994 Kung Hsu (kung@mexican.cygnus.com)
3299
3300 * config/obj-ecoff.h : Change names to OBJ_GENERATE_ASM_LINENO,
3301 and generate_asm_lineno.
3302 * config/obj-elf.h : ditto.
3303 * read.h : ditto.
3304 * read.c (read_a_source_file): if no file when inst is read, set
3305 generate_asm_lineno to true.
3306 * ecoff.h : change name to generate_asm_lineno and add function
3307 ecoff_no_current_file.
3308 * ecoff.c : change name to generate_asm_lineno.
3309 * ecoff.c (ecoff_generate_asm_lineno) : new function, to generate
3310 ecoff style line for asm file.
3311
3312 Thu Sep 8 19:43:49 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3313
3314 * config/obj-coff.c (size_section): Do an fprintf to stderr rather
3315 than a printf.
3316 (fixup_segment): Use as_bad_where rather than as_bad.
3317
3318 Wed Sep 7 17:21:12 1994 Steve Chamberlain (sac@jonny.cygnus.com)
3319
3320 * config/tc-{h8300,sh}.[ch] (tc_coff_symbol_emit): Function doing
3321 nothing becomes macro doing nothing.
3322
3323 Wed Sep 7 19:10:09 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3324
3325 * Makefile.in (Makefile): Depend on config.status.
3326 (config.status): Run config.status from . instead of srcdir.
3327
3328 * config/tc-i386.c (tc_gen_reloc): Use bfd_get_reloc_code_name to
3329 display the name of the relocation type that couldn't be handled.
3330 * config/tc-sparc.c (tc_gen_reloc): Likewise.
3331 * config/tc-alpha.c (tc_gen_reloc): Likewise. Deleted abort call
3332 after call to as_fatal.
3333
3334 * configure.in (i386-*-linux*): Don't set bfd_gas.
3335
3336 * Makefile.in (CC_FOR_TARGET, NM_FOR_TARGET, OBJDUMP_FOR_TARGET,
3337 install, uninstall): Don't use "brokensed" hack any more, the new
3338 autoconf code should never let program_transform_name be empty.
3339
3340 Update for autoconf beta 1.112:
3341 * aclocal.m4 (GAS_CHECK_DECL_NEEDED, GAS_WORKING_ASSERT): New
3342 macros.
3343 * configure.in: Use them. Use AC_ARG_PROGRAM (now provided by
3344 autoconf) instead of my hacked-up AC_PROGRAM_TRANSFORM_NAME. Move
3345 test for CROSS_COMPILE just before AC_FUNC_ALLOCA, and emit a
3346 message to try to ease confusion about autoconf's
3347 "cross-compiling" message.
3348 * acconfig.h (NEED_DECLARATION_MALLOC, NEED_DECLARATION_FREE,
3349 NEED_DECLARATION_ERRNO): Renamed from NEED_*_DECLARATION.
3350 * configure, conf.in: Regenerated.
3351
3352 Wed Sep 7 12:49:55 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3353
3354 * configure.in: Check ${host} and ${target} rather than
3355 ${host_canon} and ${target_canon}.
3356 * configure: Likewise.
3357
3358 Tue Sep 6 11:42:38 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3359
3360 * config/tc-mips.c (mips_cpu): New static variable.
3361 (insns_since_cache_access): New static variable.
3362 (md_begin): Set mips_cpu as well as mips_isa.
3363 (append_insn): If mips_cpu is 4600, require four nop instructions
3364 between an instruction which accesses the cache and certain CACHE
3365 instructions. Keep track of the number of instructions seen since
3366 an instruction which accesses the cache.
3367 (md_parse_option): Set mips_cpu as well as mips_isa.
3368
3369 Mon Sep 5 07:09:00 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
3370
3371 * doc/Makefile.in (VPATH): Define using @srcdir@.
3372 (prefix, program_transform_name, exec_prefix): Use autoconf style
3373 @-substitutions.
3374
3375 Sun Sep 04 17:58:10 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org)
3376
3377 * config/ho-riscix.h, config/tc-arm.c, config/tc-arm.h: New files
3378 * configure.in: Recognize the arm.
3379
3380 Fri Sep 2 16:05:50 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3381
3382 * ecoff.c (add_file): Don't try to generate line numbers if the
3383 symbol table has been frozen.
3384
3385 Thu Sep 1 19:48:01 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3386
3387 * aclocal.m4 (AC_PROG_CC): Use AC_DEFUN, and omit AC_PROVIDE.
3388
3389 * configure.in: Handle user-specified bfd-assembler option with
3390 separate variable from preferred configuration, until the two are
3391 resolved. Indicate bfd_gas=preferred for linux a.out. Use
3392 AC_PROGRAM_TRANSFORM_NAME, for which a patch has been sent to djm.
3393 * Makefile.in (target_alias, program_transform_name): Define,
3394 using autoconf @-substitutions.
3395
3396 Wed Aug 31 17:43:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3397
3398 * atof-generic.c: Deleted alloca handling here.
3399
3400 * Makefile.in (prefix, exec_prefix): Use @-subtitutions.
3401
3402 * aclocal.m4 (AC_OUTPUT_LINKS): Deleted redefinition, since
3403 autoconf 1.109 has this fixed.
3404 * configure.in: Don't change quote characters around AC_MSG_ERROR
3405 invocation. Don't use AC_HEADER_STDC, since it requires running a
3406 program. Cache NEED_*_DECLARATION values.
3407 * configure, conf.in: Regenerated with a modified autoconf 1.109.
3408
3409 * as.h (volatile): Don't test or define here; not needed.
3410 (alloca): Replace alloca-conf.h inclusion with code recommended in
3411 autoconf documentation. Include config.h first.
3412
3413 Wed Aug 31 11:20:48 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3414
3415 * config/obj-coff.h (S_IS_DEFINED): Absolute symbols are defined
3416 also.
3417
3418 * configure.in, configure: Initialize bfd_gas to no.
3419
3420 Tue Aug 30 19:31:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3421
3422 * as.h: Include alloca-conf.h from "libiberty", not
3423 "../libiberty".
3424
3425 Mon Aug 29 16:11:30 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3426
3427 * config/tc-ppc.c (md_apply_fix): Don't generate a reloc when a
3428 symbol is used as an offset into a CSECT that is not a TOC. These
3429 types of loads are generated by gcc -mminimal-toc.
3430
3431 Sun Aug 28 13:22:52 1994 Ken Raeburn (raeburn@rtl.cygnus.com)
3432
3433 * as.h (flag_*): Added comments describing meanings of some of
3434 these variables.
3435 (struct frag): Add some comments about the ns32k-specific fields
3436 and why they're here.
3437 (SIZEOF_STRUCT_FRAG): Cast addresses to char*, not int.
3438 (flag_print_statistics): Declare.
3439
3440 * as.c (parse_args): Set flag_print_statistics instead of
3441 statistics_flag. Options array is now const. Added new option
3442 "dump-config"; if specified, print TARGET_ALIAS, TARGET_CANONICAL,
3443 TARGET_CPU, TARGET_OBJ_FORMAT, and TARGET_FORMAT, if defined.
3444 (main): Change test to check flag_print_statistics.
3445 (statistics_flag): Deleted.
3446
3447 * frags.c (frag_variant): Removed PCREL_ADJUST and BSR arguments.
3448 Always initialize them to zero.
3449 * frags.h (frag_variant): Fixed prototype.
3450 * config/tc-i960.c (get_cdisp): Don't pass the extra zero args.
3451 * config/tc-ns32k.c (convert_iif): Don't pass the arguments; cache
3452 the value of frag_now and fill in the fields later.
3453
3454 * Makefile.in (distclean, realclean): Remove new
3455 configure-generated files.
3456
3457 Sat Aug 27 20:26:12 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com)
3458
3459 Conversion to autoconf:
3460 * acconfig.h, aclocal.m4: New files.
3461 * configure.in: Rewritten (except for some target-specific code)
3462 for autoconf.
3463 * conf.in, configure: New files, generated from the above.
3464 * Makefile.in: Changed magic sequence indicating insertion of
3465 makefile fragments.
3466 (VPATH, srcdir, CC, LIBS, OBJS dependencies): Use @-substitutions
3467 from configure.
3468 (LINKED_HEADERS): Deleted a.out.gnu.h, a.out.h, and host.h.
3469 (config.status, configure): Rewrite rules.
3470 (config-stamp): Depend on conf. Skip variables that configure is
3471 now substituting itself.
3472 (*.o dependencies): Deleted host.h.
3473 (distclean, realclean): Don't delete host.h.
3474 * as.c: Don't include stdio.h, string.h, sys/types.h. Include
3475 signal.h after as.h.
3476 * as.h: Include alloca-conf.h first. Include ctype.h, string.h,
3477 strings.h, stdlib.h, unistd.h, sys/types.h, fopen-bin.h,
3478 fopen-same.h, as suggested by autoconf test results.
3479 [BROKEN_ASSERT]: Don't include assert.h.
3480 (strdup): Declare.
3481 (volatile, const): Define if not __STDC__ and not already defined.
3482 (malloc, realloc) [NEED_MALLOC_DECLARATION]: Declare.
3483 (free) [NEED_FREE_DECLARATION]: Declare.
3484 * gasp.c: Include config.h, stdlib.h (if HAVE_STDLIB_H). Don't
3485 include host.h.
3486 (malloc) [NEED_MALLOC_DECLARATION]: Declare.
3487 * messages.c: Include as.h first. Include errno.h only if
3488 HAVE_ERRNO_H. If HAVE_VARARGS_H and not __STDC__, undefine
3489 HAVE_STDARG_H. Set NO_STDARG and NO_VARARGS as appropriate.
3490 * doc/Makefile.in (srcdir, INSTALL, INSTALL_PROGRAM,
3491 INSTALL_DATA): Use autoconf @-substitutions.
3492
3493 * input-file.c: Don't include assert.h here, 'cause as.h already
3494 includes it.
3495
3496 * config/tc-alpha.c: Added various prototypes for static
3497 functions.
3498 (in_range): New function, tests whether a value can fit in an
3499 N-bit field.
3500 (build_mem, build_operate_n): New functions for constructing
3501 opcode values.
3502 (emit_sll_n, emit_ldah_num, emit_addq_r, emit_lda_n): New
3503 functions for emitting single instructions, no longer requiring a
3504 recursive call to md_assemble.
3505 (emit_add64): New function for expanding a REG:=REG+CONST
3506 operation into one or more instructions, to handle wide constants.
3507 (clear_insn): New variable.
3508 (md_begin): Fill it in with zeros and BFD_RELOC_NONE values.
3509 (alpha_ip): Use it to initialize local variable insns.
3510 (alpha_ip, label "immediate" and cases 'P', 'G'): Use emit_add64
3511 for calculations.
3512
3513 Fri Aug 26 14:46:15 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com)
3514
3515 * subsegs.c (section_symbol): Reverse still-wrong test of
3516 EMIT_SECTION_SYMBOLS.
3517
3518 * write.c (BFD_FAST_SECTION_FILL): Always define.
3519 (write_contents): If fill_size is 1, use memset instead of looping
3520 calling memcpy.
3521
3522 Wed Aug 24 12:46:08 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3523
3524 * config/tc-mips.h (LOCAL_LABEL): Define as 0, for compatibility
3525 with native MIPS assembler.
3526 * configure.in (mips-*-irix*): Don't set emulation.
3527 * config/te-irix.h: Remove.
3528
3529 * ecoff.c (ecoff_symbol_new_hook): Don't add a new file if we
3530 haven't seen any input files yet.
3531 * config/tc-alpha.c (md_begin): Just call symbol_create, rather
3532 than calling symbol_new and then removing the symbol from the
3533 list.
3534
3535 * as.c (main): Move a inside the #if 0 block which uses it.
3536 * ecoff.c (current_stabs_filename): Make const.
3537 * frags.h (frag_align_pattern): Declare.
3538 * gasp.c (new_file): Cast isp to long, and use %ld to print it.
3539 * config/tc-alpha.h (md_operand): Add cast to void.
3540 (alpha_do_align): Declare argument types.
3541 (tc_get_register): Declare.
3542 (alpha_frob_ecoff_data): Declare.
3543 * config/tc-alpha.c: Include <ctype.h>.
3544 (s_mask): Don't declare; does not exist.
3545 (line_comment_chars): Remove /* from descriptive comment.
3546 (tc_get_register): Remove unused local reg.
3547 (tc_gen_reloc): Don't bother to compare unsigned to zero.
3548 (s_base): Correct warning to actually print register number.
3549 (md_begin): Remove unused locals retval, lose, and i.
3550 (alpha_fix_adjustable): Move default case inside switch to avoid
3551 warning.
3552 (load_symbol_address): Remove unused locals reloc_addr, p, sym,
3553 and addend.
3554 (emit_byte_manip_r): Declare types for all arguments.
3555 (emit_extract_r, emit_insert_r, emit_mask_r): Likewise.
3556 (emit_sign_extend, emit_bis_r, s_proc): Likewise.
3557 (alpha_ip): Use sprint_value to print offsetT value. Remove
3558 unused local size. Remove unused label get_macro.
3559 (alpha_do_align): Make fill const.
3560 (md_apply_fix): Remove unused label check_zov.
3561
3562 * configure.in: Recognize i586 as a synonym for i[34]86.
3563
3564 Tue Aug 23 12:32:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3565
3566 * config/obj-coff.c (c_line_new): Change line_number argument from
3567 unsigned short to int so that the type in the prototype matches
3568 the promoted type in the definition.
3569 (stack_delete): Comment out; not used.
3570 * config/obj-coff.h (tc_coff_symbol_emit_hook): Declare if not
3571 BFD_ASSEMBLER, not if BFD_ASSEMBLER. Declare argument type.
3572 * config/tc-m68k.h (tc_coff_sizemachdep): Declare.
3573 * config/tc-m68k.c (tc_coff_symbol_emit_hook): Add ignored
3574 argument.
3575
3576 Tue Aug 16 01:48:20 1994 Jeff Law (law@snake.cs.utah.edu)
3577
3578 * gas/config/tc-hppa.c (pa_comm): Undo last change. Set sy_frag for
3579 the common symbol to the zero address frag (the correct fix).
3580
3581 Tue Aug 16 01:48:20 1994 Jeff Law (law@snake.cs.utah.edu)
3582
3583 * gas/config/tc-hppa.c (pa_comm): Undo last change. Set sy_frag for
3584 the common symbol to the zero address frag (the correct fix).
3585
3586 * config/tc-hppa.c (pa_comm): Set sy_resolved for the common
3587 symbol.
3588
3589 Fri Aug 12 17:51:48 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3590
3591 * config/tc-mips.c (md_begin): Drop "el" from the end of
3592 TARGET_CPU. Check for mips64orion.
3593
3594 Tue Aug 9 19:43:45 1994 Stu Grossman (grossman@cygnus.com)
3595
3596 * configure.in: Recognize ppc-*-netware.
3597 * config/te-ppcnw.h: New file to support Power-PC/Netware
3598 configurations. Currently, it just enables the use of backslash
3599 escapes in string directives.
3600
3601 Tue Aug 9 11:12:13 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3602
3603 * config/tc-ppc.c (ppc_stabx): Call expression directly, rather
3604 than via pseudo_set. If expression is a symbol, move stab symbol
3605 to just after symbol from expression.
3606
3607 * ecoff.c (ecoff_build_procs): Don't force adr of first fdr to be
3608 zero. Undoes change of June 4, 1993.
3609
3610 * config/tc-mips.c (md_parse_option): Accept -mcpu=4400, 4600, and
3611 orion.
3612
3613 Mon Aug 8 16:28:08 1994 Steve Chamberlain (sac@jonny.cygnus.com)
3614
3615 * as.h: Remove FOPEN_WB patch of Aug 6.
3616 * configure.in: Configure for ho-go32 correctly.
3617 * config/ho-go32.h: Fix copyright.
3618
3619 Mon Aug 8 11:59:51 1994 Jeff Law (law@snake.cs.utah.edu)
3620
3621 * gas/config/tc-hppa.c (md_pseudo_table): Delete redundant
3622 upper-case versions of the pseudo-ops.
3623
3624 Mon Aug 8 13:42:16 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3625
3626 * config/tc-sparc.c (md_apply_fix): If we are going to generate a
3627 non PC relative reloc, don't put the addend in the object file.
3628
3629 Sat Aug 6 01:15:02 1994 Steve Chamberlain (sac@jonny.cygnus.com)
3630
3631 * as.h: If FOPEN_WB is not defined, do the right thing in a go32
3632 environment.
3633
3634 Mon Jul 11 11:34:52 1994 Steve Chamberlain (sac@jonny.cygnus.com)
3635
3636 * config/tc-h8300.c (pint): New function for handling varying
3637 size of int pseudo op.
3638 * doc/as.texinfo: Fix typo describing .h8300h pseduop.
3639
3640 Mon Aug 1 02:40:43 1994 Jeff Law (law@snake.cs.utah.edu)
3641
3642 * config/tc-hppa.c (create_new_space): Initialize sd_subspaces
3643 field in the space chain.
3644
3645 * config/tc-hppa.c (tc_gen_reloc): Cast return value from
3646 hppa_gen_reloc_type.
3647
3648 Thu Jul 28 15:45:37 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3649
3650 * config/tc-sparc.c (sparc_ip): Check more carefully for
3651 conflicting architectures.
3652 (md_parse_option) [NO_V9]: Complain if v9 was selected.
3653 (md_show_usage): Derive architecture list in usage message from
3654 architecture_pname array.
3655 (cypress): Macro deleted.
3656 (op_hash): Don't initialize.
3657 (s_common): Use bfd_und_section_ptr instead of bfd_und_section.
3658
3659 * config/tc-sparc.c (BSR): New function.
3660 (sparc_ip): Use it for right-shift operations of 32 bits or more.
3661
3662 * config/tc-sparc.c (sparc_ip): Implement new operand type 'x'.
3663
3664 Tue Jul 26 18:21:24 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3665
3666 * config/obj-coff.h: Moved common includes and TARGET_FORMAT
3667 definitions together.
3668 (WORKING_DOT_WORD, WARN_SIGNED_OVERFLOW_WORD,
3669 OBJ_COFF_OMIT_OPTIONAL_HEADER, BFD_HEADERS, BFD) [!BFD_ASSEMBLER]:
3670 Moved these definitions to the start of the file, before the
3671 includes.
3672 (SYMBOLS_NEED_BACKPOINTERS, OBJ_COFF_MAX_AUXENTRIES): Always
3673 define these.
3674 (S_GET_ZEROES): Deleted.
3675 (S_SET_ZEROES): Moved to obj-coff.c.
3676
3677 * config/obj-coff.c (obj_coff_* psuedo-op fns): Deleted
3678 forward declarations.
3679 (obj_pseudo_table): Moved to one version end of file,
3680 conditionalized internally.
3681 (stack typedef, stack_init, stack_delete, stack_push, stack_pop,
3682 tag_hash, tag_init, tag_insert, tag_find, tag_find_or_make): Moved
3683 to one combined version at top of file, unconditional. Deleted
3684 forward declarations.
3685 (s_get_name): Moved one copy of declarations to start of file.
3686 (def_symbol_in_progress): Ditto. Don't initialize.
3687 (S_SET_ZEROES): Moved here from obj-coff.h.
3688 (write_object_file): If TC_COFF_SET_MACHINE is defined, call it on
3689 the file headers.
3690
3691 * config/obj-coff.c (seg_info_off_by_4): Now const and static.
3692 (SEG_INFO_FROM_SEG_NUMBER): Unused macro deleted.
3693 (previous_file_symbol, def_symbol_in_progress, symbol_externP,
3694 symbol_extern_lastP, last_functionP) [!BFD_ASSEMBLER]: Don't
3695 bother explicitly initializing to zero value.
3696
3697 * config/obj-coff.c (fixup_segment) [TC_I960]: Use SF_GET_BALNAME
3698 and SF_GET_CALLNAME instead of the TC_S_IS_ versions.
3699
3700 * config/tc-i960.h (TC_COFF_SET_MACHINE): New macro. Calls
3701 tc_headers_hook.
3702
3703 * config/tc-i960.c (targ_has_iclass): Use I_CX | I_CX2 where I_CX
3704 was used previously.
3705 (tc_headers_hook): If I_CX2 is found, set flags to F_I960CA.
3706
3707 * config/tc-i960.c (po_hash): Declaration deleted.
3708 (next_object_file_charP): Ditto.
3709 (regnames, aregs, coj): Now const.
3710 (parse_memop): Static array def_scale now const.
3711 (md_begin): Cast away const when passing hash routines addresses
3712 of values in regnames or aregs.
3713 (md_longopts): Added "link-relax" and "no-relax" hyphenated forms.
3714 Continue to accept one-word forms.
3715 (struct tabentry, arch_tab): Moved to top level from inside
3716 md_parse_option. Now const.
3717 (md_show_usage): Use arch_tab to generate usage message. Print
3718 hyphenated forms of relax options.
3719
3720 * config/tc-i960.h (DEFINE_I960_AOUT, TC_S_IS_*, TC_S_*_SYSPROC,
3721 TC_S_FORCE_TO_*): Moved from here...
3722 * config/tc-i960.c: ... to here. Changed DEFINE_I960_AOUT stuff
3723 to test OBJ_AOUT and OBJ_BOUT directly.
3724
3725 * config/tc-i960.h (CTRL, COBR, COJ, REG, MEM*, FBRA, CALLJ,
3726 M1-M3, REG_OPC, R_*, SFR, LIT, FP, OP, R, RS, RL, RSL, F,
3727 {R,F}{,L}{2,4}, M, SFR_OK, LIT_OK, FP_OK, REG_ALIGN, MEMOP, I_*):
3728 Macros deleted.
3729
3730 start-sanitize-i960xl
3731 * config/tc-i960.c (ARCH_XL): Define.
3732 (arch_tab): Include XL.
3733 (targ_has_sfr, targ_has_iclass): Handle XL.
3734 (tc_headers_hook): Set flags to F_I960XL for i960XL.
3735 end-sanitize-i960xl
3736
3737 Fri Jul 15 15:36:51 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3738
3739 * subsegs.c (section_symbol): Had last change backwards.
3740
3741 Thu Jul 14 13:21:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3742
3743 * config/atof-ns32k.c: Deleted.
3744
3745 * config/obj-aout.c (obj_aout_frob_symbol): Use
3746 bfd_ind_section_ptr and bfd_und_section_ptr.
3747
3748 * subsegs.c (subseg_set_rest): Compare segT values directly,
3749 without casting to int first.
3750
3751 * config/tc-ns32k.c (md_begin): Return value from hash_insert
3752 should be pointer to const. Don't call exit explicitly after
3753 calling as_fatal; it won't return.
3754 (convert_iif): Make local variable j be pointer to bit_fixS, since
3755 that's how it's used.
3756 (encode_operand, case 'b'): Ignore sprintf return value. Don't try
3757 converting freeptr to int and back.
3758
3759 Merged in NS32K support update from Ian Dall (dall@hfrd.dsto.gov.au):
3760
3761 * config/te-pc532mach.h: New file. pc532-mach target emulation.
3762
3763 * config/te-netbsd532.h: New file. Netbsd532 target emulation.
3764
3765 * config/tc-ns32k.h: Add definition of NOP_OPCODE.
3766
3767 * config/tc-ns32k.h: Add prototype for fix_new_ns32k_exp.
3768
3769 * config/tc-ns32k.h: Add BFD_ASSEMBLER support.
3770
3771 * config/tc-ns32k.c (tc_gen_reloc): New function for BFD_ASSEMBLER.
3772
3773 * config/tc-ns32k.c (fix_new_ns32k_exp): Get reloc type
3774 differently for BFD_ASSEMBLER.
3775
3776 * config/tc-ns32k.c (md_estimate_size_before_relax): Get reloc
3777 type differently for BFD_ASSEMBLER.
3778
3779 * config/tc-ns32k.c (md_create_long_jump): Size of opcode is one
3780 not 2.
3781
3782 * config/tc-ns32k.c (md_convert_frag): Code for the BFD_ASSEMBLER
3783 case. Also use smart md_pcrel_adjust function.
3784
3785 * config/tc-ns32k.c (md_apply_fix): Code for the BFD_ASSEMBLER
3786 case. Also use smart md_fix_pcrel_adjust function.
3787
3788 * config/tc-ns32k.c (md_fix_pcrel_adjust): New function which can
3789 find offset from opcode to operand even if in another frag
3790 and in the presence of relaxing.
3791
3792 * config/tc-ns32k.c (md_pcrel_adjust): New function which can
3793 find offset from opcode to operand even if in another frag
3794 and in the presence of relaxing.
3795
3796 * config/tc-ns32k.c (md_number_to_disp): Check ranges properly.
3797
3798 * config/tc-ns32k.c (md_atof): use atof_ieee instead of special
3799 atof_ns32k.
3800
3801 * config/tc-ns32k.c (reloc): New (static) function for
3802 BFD_ASSEMBLER.
3803
3804 * config/tc-ns32k.c (convert_iif): More correct pc relative code.
3805 md_relax must be able to find opcode address even if in another frag.
3806
3807 * config/tc-ns32k.c: More extensive comments.
3808
3809 * config/tc-ns32k.c (encode_operand): Support new operand classes I
3810 and Z. Drop Q.
3811
3812 * config/tc-ns32k.c (fix_new_ns32k_exp): new function and
3813 corresponding prototype.
3814
3815 * config/tc-ns32k.c: make 32532 default machine instead of 32032.
3816
3817 * config/tc-ns32k.c: include opcode/ns32k.h after as.h
3818
3819 * aout_gnu.h: r_disp needs to be 2 bits for TC_NS32K
3820
3821 * write.h: fx_im_disp needs to be 2 bits big for TC_NS32K
3822
3823 * write.c (relax_segment): Use TC_PCREL_ADJUST macro (if defined)
3824 instead of adding pcrel_adjust.
3825
3826 * write.c (write_object_file): Adjust to_addr for the
3827 BROKEN_DOT_WORD feature for the BFD_ASSEMBLER case.
3828
3829 * write.c (write_object_file): Use TC_CONS_FIX_NEW if it is defined.
3830
3831 * write.c (write_contents): Add code (currently if
3832 BFD_FAST_SECTION_FILL is defined) to make large fills a lot faster.
3833
3834 * configure.in: Remove ns32k from special FP list. All the ns32k
3835 series use ieee float.
3836
3837 * configure.in: Add ns32k-pc532-mach and ns32k-pc532-netbsd targets
3838
3839 * as.h: include expr.h before targ-env.h. Some target dependent file
3840 want to use expr structures.
3841
3842 Wed Jul 13 14:49:05 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3843
3844 * config/tc-m68k.c (m68k_ip): Change rp to be a const pointer.
3845 (md_parse_option): Clear cpu field of current_architecture before
3846 setting a new cpu type. Clear no_68881 for m68881 or m68882.
3847 Clear no_68851 for m68851.
3848
3849 Tue Jul 12 21:27:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3850
3851 * config/ho-sysv.h (realloc): Declare.
3852
3853 * symbols.c (symbol_create): New function, most of the guts of the
3854 old symbol_new function.
3855 (symbol_new): Now just checks symbol_table_frozen, calls
3856 symbol_create, and enters the symbol into the symbol table.
3857 * subsegs.c (section_symbol): If EMIT_SECTION_SYMBOLS is not true,
3858 and the symbol table is frozen, call symbol_create instead of
3859 symbol_new.
3860 * symbols.h (symbol_create, symbol_table_frozen): Declare.
3861
3862 * symbols.c (symbol_clear_list_pointers): Always a function now.
3863 * struc-symbol.h (symbol_clear_list_pointers): Deleted macro
3864 version.
3865
3866 * symbols.c (debug_verify_symchain): New macro, defined to be
3867 verify_symbol_chain or a cast to void, depending on DEBUG_SYMS.
3868 (many functions): Invoke debug_verify_symchain unconditionally.
3869
3870 Tue Jul 12 12:06:42 1994 Kung Hsu (kung@x1.cygnus.com)
3871
3872 * config/obj-ecoff.h: change calling interface of
3873 OBJ_GENERATE_ASM_LINE_STAB.
3874 * config/obj-elf.h: ditto.
3875 * read.c (read_a_source_file): ditto.
3876 * ecoff.h: change calling interface of
3877 ecoff_generate_asm_line_stab.
3878 * ecoff.c (add_file): record of filename to handle case of include
3879 files, also change default built-in type from int to void for
3880 asm file.
3881 * ecoff.c (ecoff_generate_asm_line_stab): handle case of include
3882 files.
3883
3884 Mon Jul 11 17:20:23 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3885
3886 * config/tc-mips.c (macro): In case M_LA_AB, SVR4_PIC, large
3887 constant, and case ldd_std, set mips_optimize to 2 temporarily to
3888 avoid inserting an unexpected nop instruction.
3889
3890 Sat Jul 9 00:05:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3891
3892 * ecoff.c (ecoff_build_lineno): Handle count correctly for last
3893 line number.
3894
3895 Fri Jul 8 15:22:07 1994 Steve Chamberlain (sac@jonny.cygnus.com)
3896
3897 * gasp.c (process_pseudo_op): Pass right args to do do_aif.
3898 (get_any_string): New arg 'pretend_quote'.
3899 (get_and_process, do_formals, macro_expand, do_sdata,
3900 process_pseudo_op): Use new arg.
3901
3902 Fri Jul 8 12:23:44 1994 Kung Hsu (kung@mexican.cygnus.com)
3903
3904 * config/obj-ecoff.h: define macro OBJ_GENERATE_ASM_LINE_STAB.
3905 * config/obj-elf.h: ditto.
3906 * read.c (read_a_source_file): generate line stabs for asm file.
3907 * read.h: add extern generate_asm_line_stab.
3908 * ecoff.h : add prototype for ecoff_generate_asm_line_stab().
3909 * ecoff.c (add_file): if there's no filename provided, set switch
3910 to generate line stabs for .s file.
3911 * ecoff.c (add_procedure): add stabs symbol for .ent directive.
3912 * ecoff.c (generate_ecoff_stab): creates an artificial stabs.
3913 * ecoff.c (generate_asm_line_stab): generate a artifitial label
3914 for each line and generate a stabn for the line.
3915
3916 Thu Jul 7 17:04:03 1994 Steve Chamberlain (sac@jonny.cygnus.com)
3917
3918 * gasp.c (get_any_string): Cope with getting a string with an
3919 alternate base specifier.
3920 (do_aif, do_aelse): Only enable output if expression is true and previous
3921 level was on.
3922 (chartype_init): Add BASEBIT chartype.
3923 (process_pseudo_op): Notice nesteed AIFs.
3924
3925 Thu Jul 7 12:30:22 1994 Steve Chamberlain (sac@jonny.cygnus.com)
3926
3927 * h8300.c (do_a_fix_imm): Code for 2 bit reloc type using in trapa
3928 insn. (fix pr 5165, 5174)
3929
3930 Thu Jul 7 11:31:32 1994 Jeff Law (law@snake.cs.utah.edu)
3931
3932 * config/tc-hppa.c (R_DLT_REL): If it isn't defined, then define
3933 to an appropriate value to avoid losing on old hpux systems.
3934
3935 * config/tc-hppa.c (hppa_fix_adjustable): Reject reductions for
3936 symbols in DLT relative relocs.
3937 (tc_gen_reloc): Zero out the addend field for DLT relative relocs.
3938
3939 Wed Jul 6 01:07:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3940
3941 * config/tc-ppc.c (ppc_tc): If not OBJ_COFF, force TOC entry to
3942 align to a four byte boundary.
3943
3944 Tue Jul 5 15:42:09 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3945
3946 * config/tc-alpha.c (load_expression): Handle 32-bit addends.
3947 (gpdisp_hi16_howto): Now points to const.
3948 (load_insn_table, alpha_ip): Fix uses of const.
3949
3950 * doc/internals.texi: Updates to COFF description. Added "@end
3951 defmac" as needed, and some extra heading and "@bye" so it'll
3952 format as a separate document.
3953
3954 Tue Jul 5 13:54:00 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3955
3956 * config/obj-elf.h (S_GET_ALIGN, S_SET_ALIGN): Define.
3957 * config/obj-elf.c (obj_elf_common): Set alignment of common
3958 symbol.
3959 * config/tc-sparc.c (s_common): If OBJ_ELF, set alignment of
3960 common symbol.
3961
3962 Mon Jul 4 18:29:43 1994 Jeff Law (law@snake.cs.utah.edu)
3963
3964 * config/tc-hppa.c (is_complex): New macro.
3965 (cons_fix_new_hppa): "Handle" complex expressions.
3966
3967 Fri Jul 1 00:48:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3968
3969 * config/obj-coff.c (write_object_file): Set s_align field from
3970 section_alignment array.
3971
3972 Thu Jun 30 15:05:28 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3973
3974 * write.c (write_object_file): Use bfd_com_section_ptr.
3975 * as.h (absolute_section, undefined_section): Use new BFD macros
3976 bfd_abs_section_ptr and bfd_und_section_ptr.
3977
3978 Thu Jun 30 14:36:37 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3979
3980 * config/tc-mips.c (macro): For M_LI_SS, decide how to handle it
3981 based on contents of imm_expr and offset_expr, rather than
3982 mips_pic. For M_LI_DD, decide how to handle it based on segment
3983 name of offset_expr, rather than mips_pic.
3984 (mips_ip): If g_switch_value < 4, use immediate values for 'l'.
3985 If g_switch_value < 8, use .rdata rather than .lit for 'L'.
3986
3987 Wed Jun 29 17:30:46 1994 Stan Shebs (shebs@andros.cygnus.com)
3988
3989 * as.c (show_usage): Break long string into shorter ones.
3990 (parse_args): Add -v, prints version id and continues.
3991 * config/tc-mips.c (md_show_usage): Break long string.
3992
3993 Mon Jun 27 09:47:16 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
3994
3995 * config/tc-i386.c (md_parse_option): Handle "-V" and "-Q" if
3996 OBJ_ELF is defined.
3997
3998 Sun Jun 26 16:30:48 1994 Stan Shebs (shebs@andros.cygnus.com)
3999
4000 * as.c (main) [HOST_SPECIAL_INIT]: New hook, for host-specific
4001 initialization.
4002
4003 Wed Jun 22 00:24:55 1994 Jeff Law (law@snake.cs.utah.edu)
4004
4005 * config/tc-hppa.h (obj_frob_symbol): Define for OBJ_ELF.
4006 More gas/bfd lossage exposed by the new linker code.
4007
4008 Tue Jun 21 11:32:18 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4009
4010 * subsegs.c (subseg_change): Clear seginfo after allocating it.
4011 (subseg_get): Pass actual size of seginfo to memset.
4012
4013 * subsegs.c (abs_seg_info, und_seg_info): Define if BFD_ASSEMBLER.
4014 (subseg_change): Store seg_info for bfd_abs_section_ptr in
4015 abs_seg_info, and store seg_info for bfd_und_section_ptr in
4016 und_seg_info.
4017 (subseg_get): Likewise. Also, don't set output_section if it is
4018 already set.
4019 (seg_info): Define as function.
4020 * subsegs.h (seg_info): Declare as function rather than defining
4021 as macro.
4022 * write.c (relax_and_size_seg): Call seg_info rather than
4023 bfd_get_section_userdata.
4024
4025 Mon Jun 20 16:30:54 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4026
4027 * configure.in (ppc-*-elf*): New target, like -sysv4*.
4028
4029 * expr.c (operand): If "0f" is followed by '\0', don't do eol
4030 checks.
4031
4032 Mon Jun 20 15:17:43 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4033
4034 * ecoff.c (ecoff_build_aux): Call swap_tir_out and swap_rndx_out
4035 via backend pointer, not directly.
4036
4037 Fri Jun 17 18:05:06 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4038
4039 * Makefile.in (config-stamp): Make sure there is at least one
4040 element in the for loop.
4041
4042 Fri Jun 17 11:01:04 1994 Jeff Law (law@snake.cs.utah.edu)
4043
4044 * config/tc-hppa.c: Misc trivial changes to make gcc -Wall happy.
4045
4046 * config/tc-hppa.h (elf_hppa_final_processing): Declare.
4047
4048 Wed Jun 15 20:44:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4049
4050 * as.c (parse_args): Cast xmalloc return value.
4051
4052 * Makefile.in (config-stamp): If $(defs) contains multiple words,
4053 emit a #define line for each.
4054 * configure.in: For sparc64 target, use sparc cpu files and add
4055 sparcv9 to extra_defs. No longer treat sparc64-*-aout* specially.
4056
4057 * config/tc-sparc.c (membar_masks): Now static and const.
4058 (md_show_usage) [!NO_V9]: Add -Av9 to usage message.
4059 (current_architecture) [sparcv9]: Initialize to v9.
4060 (md_begin) [sparcv9]: Don't bother changing it unconditionally
4061 here.
4062 (s_reserve): Don't pass unexpected argument to as_bad with
4063 bad-segment message.
4064
4065 * as.h (bfd_alloc_by_size_t) [BFD_ASSEMBLER]: Declare.
4066
4067 * config/atof-ieee.c (int_to_gen): Commented out unused routine.
4068
4069 * config/tc-vax.c (md_assemble): Removed check of operand section.
4070
4071 Fri Jun 3 17:25:08 1994 Pat Rankin (rankin@eql.caltech.edu)
4072
4073 * config/obj-vms.h (DBG_S_C_COMPLX4, DBG_S_C_COMPLX8): define
4074 these new VMS symbol-type macros for `complex float' and
4075 `complex double' support. Their values come from the existing
4076 DSC$K_DTYPE_FC and DSC$K_DTYPE_DC macros in <descrip.h>.
4077 (DBG_S_C_REAL8_G, DBG_S_C_COMPLX8_G): G_float versions of
4078 REAL8 and COMPLX8; not used yet, because gcc outputs the same
4079 .stabs for `double' regardless of whether `-mg' is used.
4080 * config/obj-vms.c (VMS_typedef_parse) [case 'r']: add entries
4081 for gcc2's predefined types "complex float", "complex double",
4082 and "complex long double" (identical to complex double).
4083
4084 Wed Jun 15 12:32:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4085
4086 * config/obj-coff.c (coff_frob_symbol): Use C_STAT for the .text
4087 section symbol, not C_LABEL.
4088
4089 * config/tc-mips.c (mips_ip): Permit a modifier in 'o' case, and
4090 permit non constant expressions in 'u' case. Lets ``lui
4091 $8,%hi(foo); lw $8,%lo(foo)($8)'' work correctly.
4092
4093 Mon Jun 13 12:08:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4094
4095 * config/obj-aout.c (obj_aout_frob_symbol): Warn about an attempt
4096 to put a common symbol in a set.
4097
4098 Sat Jun 11 16:41:21 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4099
4100 Add weak symbols as an extension to a.out.
4101 * read.c (pseudo_set): Only preserve external bit for OBJ_AOUT and
4102 OBJ_BOUT if not BFD_ASSEMBLER.
4103 * config/aout_gnu.h (N_WEAKU, N_WEAKA, N_WEAKT, N_WEAKD, N_WEAKB):
4104 Define as in ../include/aout/aout64.h.
4105 * config/obj-aout.h (OBJ_SYMFIELD_TYPE): If not BFD_ASSEMBLER,
4106 define as char.
4107 (S_GET_WEAK, S_SET_WEAK): Define if not BFD_ASSEMBLER.
4108 * config/obj-aout.c (obj_pseudo_table): Add "weak".
4109 (obj_emit_symbols): Adjust type of weak symbols.
4110 (obj_aout_weak): New static function.
4111
4112 Fri Jun 10 13:48:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4113
4114 * config/obj-elf.c (obj_elf_section): Don't set any flags based on
4115 the type of a special section.
4116
4117 * config/ho-sunos.h: Include <stdlib.h>. Don't declare malloc,
4118 realloc, free, or atol.
4119
4120 Wed Jun 8 06:28:37 1994 Bill Cox (bill@cygnus.com)
4121
4122 * Makefile.in (check): Delete as.new dependency, so that
4123 regression test doesn't trigger an assembler build.
4124
4125 Tue Jun 7 13:33:18 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4126
4127 * Makefile.in (mostlyclean, realclean): New targets.
4128 * doc/Makefile.in, testsuite/Makefile.in: Likewise.
4129
4130 Mon Jun 6 13:10:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4131
4132 * config/tc-mips.c (RDATA_SECTION_NAME): Define.
4133 (macro): Correct M_LI_SS SVR4_PIC/EMBEDDED_PIC case. After M_LI_D
4134 or M_L_DOB or label dob, force a new frag to avoid getting
4135 confused in tc_gen_reloc.
4136 (mips_ip): Use RDATA_SECTION_NAME, not .rdata.
4137 (s_change_sec): Likewise.
4138
4139 Fri Jun 3 23:35:36 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4140
4141 * read.c (emit_expr): Use memset to zero out memory, rather than
4142 going through md_number_to_chars. This permits handling symbolic
4143 arguments when the size is larger than sizeof (valueT), if
4144 TC_CONS_FIX_NEW is prepared to handle the case (as it is on MIPS).
4145
4146 Fri Jun 3 12:50:13 1994 David J. MacKenzie (djm@rtl.cygnus.com)
4147
4148 * as.c (show_usage), config/tc-alpha.c (md_show_usage),
4149 config/tc-mips.c (md_show_usage): Fix up messages.
4150
4151 * as.h: Replace flagseen with separate variables.
4152 * as.c (parse_args): Set them. Don't accept -1 option, or -v
4153 explicitly (it's a synonym for --version).
4154 * as.c, input-scrub.c, messages.c, read.c, symbols.c, write.c,
4155 config/obj-aout.c, config/obj-aout.h, config/obj-bout.c,
4156 config/obj-bout.h, config/obj-coff.c, config/obj-coff.h,
4157 config/obj-vms.c, config/tc-hppa.c, config/tc-i386.c,
4158 config/tc-i960.c, config/tc-m68k.c, config/tc-mips.c,
4159 config/tc-vax.c: Use the new flag variables instead of flagseen.
4160 * config/tc-vax.c [OBJ_VMS]: Recognize -+, -1, -v, and document in
4161 usage.
4162
4163 * as.c (show_usage): Remove target specific messages;
4164 instead, call md_show_usage.
4165 (parse_args): Use getopt_long_only. Take pointers to argc and
4166 argv.
4167 (main): Pass parse_args pointers.
4168 * as.h: Remove 3 variables that are redundant with flagseen.
4169 * as.c, messages.c: Change their users to use flagseen.
4170 Define getopt stuff.
4171 * tc.h: Update md_parse_option decl. Add md_show_usage decl.
4172 * config/tc-*.c: Add md_shortopts, md_longopts,
4173 md_longopts_size, md_show_usage. Change calling convention for
4174 md_parse_option. Remove md_parse_long_option.
4175 * config/tc-ns32k.c: Rename `struct option' to `struct ns32k_option'.
4176 * config/tc-i386.h: Don't define md_parse_option.
4177
4178 Thu Jun 2 13:54:46 1994 David J. Mackenzie (djm@rtl.cygnus.com)
4179
4180 * as.c (show_usage): New function.
4181 (parse_args): Code moved from main.
4182 Recognize --help and --version.
4183 * config/tc-ns32k.h: Define TC_NS32K.
4184 * doc/as.texinfo: Document all of the target-independent command
4185 line options.
4186
4187 Thu Jun 2 12:07:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4188
4189 * gasp.c (hash_new_table): Clear newly allocated table.
4190
4191 * config/tc-m68k.c (enum _register): Add 68060 control registers
4192 BUSCR and PCR.
4193 (last_movec_reg): New macro.
4194 (m68000_control_regs, m68010_control_regs, m68020_control_regs,
4195 m68040_control_regs, m68060_control_regs): New arrays.
4196 (control_regs): New pointer.
4197 (m68k_ip): Use control_regs instead of testing CPU every time.
4198 Use last_movec_reg too. In error messages, handle 68060, and
4199 print 68060 for mfloat, too.
4200 (m68k_init_after_args): Handle "68060". Use m68040up for making
4201 m68851 choice. Set control_regs.
4202 (md_parse_option): Handle "68060".
4203 * configure.in: Setting cpu_type, recognize m68060 too.
4204
4205 * config/obj-coff.c (fixup_segment) [!BFD_ASSEMBLER]
4206 [DIFF_EXPR_OK]: Do conversion to pc-relative for difference, even
4207 if pcrel is already set.
4208
4209 * read.c (potable): Add this_gcc_requires_the_gnu_assembler in all
4210 lower-case, in case we're ignoring case of opcodes in the input
4211 file.
4212
4213 * doc/as.texinfo (.section): Document as unavailable for a.out
4214 type formats.
4215
4216 * config/tc-alpha.c (machine): New variable.
4217 (load_insn): New macro.
4218 (load_insn_table): New function.
4219 (md_begin): Call load_insn_table, once for basic instructions and
4220 once for appropriate PAL instruction table.
4221 (md_parse_option): Set `machine' based on -m##### arguments.
4222 * config/alpha-opcode.h (alpha_pal21064_opcodes): Split out from
4223 alpha_opcodes.
4224 (alpha_pal21164_opcodes): New table.
4225 (NUM21064OPCODES, NUM21164OPCODES): New macros.
4226
4227 * configure.in (target i386-*-netbsd0.8): Use 386bsd emulation.
4228
4229 * doc/Makefile.in (install-info-gasp): Use $$dir when installing
4230 file.
4231
4232 Wed Jun 1 10:48:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4233
4234 * config/tc-mips.c (mips_ip): Force floating point values to be
4235 aligned correctly.
4236
4237 Fri May 27 10:05:53 1994 Ken Raeburn (raeburn@cygnus.com)
4238
4239 Merged in changes from gas-2.3 net release:
4240
4241 * Makefile.in (VERSION): Updated to cygnus-2.3.1.
4242
4243 * config/obj-vms.c: Replaced unchecked uses of malloc with
4244 xmalloc.
4245
4246 * listing.c (list_symbol_table): Only test BFD64, not
4247 BFD_ASSEMBLER too.
4248
4249 * config/obj-coff.c (fixup_segment) [BFD_ASSEMBLER]
4250 [DIFF_EXPR_OK]: Don't check pcrel, just convert it.
4251
4252 * config/obj-vms.c: Removed lots of extra semicolons after
4253 compound statements.
4254 (strchr): Don't declare here.
4255
4256 * config/ho-vax.h (realloc): Declare.
4257
4258 * config/ho-vms.h (strchr, strdup): Declare.
4259
4260 * config/tc-sparc.c (md_parse_option) [OBJ_ELF]: Accept and ignore
4261 option `-q'.
4262
4263 Wed May 18 20:50:35 1994 Pat Rankin (rankin@eql.caltech.edu)
4264
4265 * config/obj-vms.h (DBG_S_C_SQUAD, DBG_S_C_UQUAD): define these
4266 new VMS symbol-type macros; signed and unsigned quadword integers,
4267 for `long long' support. Their values come from the existing
4268 DSC$K_DTYPE_QU and DSC$K_DTYPE_Q macros in <descrip.h>. The
4269 VMS debugger now recognizes `long long' variables correctly.
4270 * config/obj-vms.c (VMS_typedef_parse) [case 'r']: add entries
4271 for gcc2's predefined types "long double" (same as double, as
4272 per gcc's current state), "long long int", "long long unsigned
4273 int", and final `otherwise' case (to avoid uninitialized type
4274 and size fields). [caveat: predefined types "complex int",
4275 "complex float", "complex double", and "complex long double" are
4276 still missing.]
4277
4278 * config/ho-vms.h (EXIT_FAILURE): define as 0x10000002 instead
4279 of 0, because the latter indicates success rather than failure
4280 when passed to `exit' or return from `main' compiled by gcc2.
4281
4282 * config/obj-vms.c (array_suffix, generate_suffix): replace two
4283 hardcoded `0xa3's with macro DBG_S_C_ADVANCED_TYPE from obj-vms.h.
4284 (VMS_typedef_parse): eliminate redundant if-then-else when
4285 allocating new symbol entry and linking it to VMS_Symbol_type_list.
4286
4287 Tue May 17 20:47:31 1994 Pat Rankin (rankin@eql.caltech.edu)
4288
4289 * config/obj-vms.c (Write_VMS_MHD_Records): don't try to interpret
4290 the contents of the GAS_VERSION string when falling back to it for
4291 language processor identification.
4292
4293 * make-gas.com, vmsconf.sh (ENVIRON): fix misspelling of
4294 `psect_attr' in linker options.
4295
4296 Wed May 11 22:32:00 1994 DJ Delorie (dj@ctron.com)
4297
4298 * configure.bat: update to latest makefile.in
4299 * config/te-go32.h: [new] go32's environment
4300
4301 Fri May 20 17:59:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4302
4303 * as.h: Don't declare parameters for strstr.
4304
4305 Thu May 19 15:40:13 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4306
4307 * config/tc-sparc.c (md_section_align): Don't change the size if
4308 OBJ_ELF.
4309
4310 Wed May 18 13:08:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4311
4312 * Makefile.in (install): Redirect ln output to /dev/null. If ln
4313 fails on gasp, install gasp.new, not gasp.
4314
4315 Wed May 18 09:16:36 1994 Jeff Law (law@snake.cs.utah.edu)
4316
4317 * config/tc-hppa.c (pa_ip): Use R_HPPA_ABS_CALL, not R_HPPA for
4318 absolute calls.
4319
4320 Tue May 17 12:50:46 1994 Jeff Law (law@snake.cs.utah.edu)
4321
4322 * config/tc-hppa.c (pa_parse_fp_cmp_cond): Report an error
4323 on a partial completer match.
4324
4325 Mon May 16 12:03:49 1994 Jeff Law (law@snake.cs.utah.edu)
4326
4327 * config/tc-hppa.c: Change .hppa_unwind to .PARISC.unwind
4328 throughout code.
4329 (is_complex): Delete definition and support for complex relocation
4330 types.
4331 (tc_gen_reloc): Delete special unwind crud for ELF. Simplify and
4332 rewrite ELF code based on 94-02-02 PA ELF draft spec.
4333 (pa_build_unwind_subspace): Use standard PARISC_DIR32 relocs for
4334 the unwind descriptors.
4335
4336 Fri May 6 14:13:15 1994 Steve Chamberlain (sac@cygnus.com)
4337
4338 * config/go32.mh: New makefile fragment for go32 crossing.
4339 * configure.in (host==go32): Use new fragment.
4340
4341 Fri May 6 14:35:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4342
4343 * gasp.c: Include libiberty.h.
4344 (main): Remove unused variable i.
4345
4346 * config/tc-ppc.c (md_begin): When using -many, permit comparison
4347 instructions to appear multiple times in the opcode table.
4348
4349 Thu May 5 19:14:43 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4350
4351 * Makefile.in (VERSION): Update to 2.2.90.
4352
4353 * symbols.c (symbol_new) [BFD_ASSEMBLER]: Don't permit additions
4354 to the symbol table if it's already been set in the output bfd.
4355 (symbol_begin) [! EMIT_SECTION_SYMBOLS] [RELOC_REQUIRES_SYMBOL]:
4356 Don't use bfd_abs_section.symbol for gas absolute symbol.
4357
4358 * doc/Makefile.in (distclean, clean-dvi, clean-info): Delete gasp
4359 files too.
4360
4361 Thu May 5 18:12:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4362
4363 * config/tc-mips.c (mips_emit_delays): Make call to
4364 mips_no_prev_insn unconditional.
4365
4366 Thu May 5 17:25:38 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4367
4368 * config/obj-coff*.*: Merged coffbfd versions into coff versions,
4369 with a single "#ifdef BFD_ASSEMBLER" controlling most of it for
4370 now. Deleted obj-coffbfd.* files.
4371 * configure.in: Always use obj-coff.* for COFF targets.
4372
4373 Wed May 4 13:34:11 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4374
4375 * config/te-dpx2.h (TARGET_FORMAT, REGISTER_PREFIX_OPTIONAL):
4376 Define.
4377 * configure.in (m68k-bull-sysv3*): Enable.
4378
4379 * config/coff_gnu.h: Deleted.
4380
4381 Wed May 4 11:29:17 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4382
4383 * config/tc-m68k.h (TARGET_FORMAT): If not TE_SUN3, define as
4384 "a.out-zero.big".
4385
4386 * config/obj-coffbfd.c (fixup_segment): Make common symbol and PC
4387 relative adjustments when TE_LYNX is defined as well as when
4388 TC_I386 is defined.
4389
4390 Wed May 4 02:29:21 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
4391
4392 * as.h (strstr): Restore declaration.
4393 (subseg_get) [BFD_ASSEMBLER]: Declare.
4394
4395 * write.c (write_object_file): If obj_adjust_symtab is defined,
4396 invoke it. Then call set_symtab, and finally invoke *_frob_file
4397 hooks.
4398 * config/obj-coff.c (coff_adjust_symtab): Renamed from
4399 coff_frob_file.
4400 * config/obj-coff.h (coff_adjust_symtab): Changed declaration
4401 accordingly.
4402 (obj_adjust_symtab): Macro also changed.
4403
4404 * configure.in (i386-*-gnu*): New target, handled like i386-mach.
4405
4406 Tue May 3 21:04:16 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4407
4408 * config/obj-coff.h (TARGET_FORMAT) [TC_I960]: Select little
4409 endian version.
4410
4411 * config/obj-coffbfd.h (TARGET_FORMAT) [TC_I960]: Ditto.
4412
4413 * config/obj-coff.c (coff_frob_section): Round up the size of
4414 every section to a multiple of the alignment, so that BFD doesn't
4415 surprise us.
4416
4417 Eliminate many simple differences between the two COFF back ends:
4418
4419 * config/obj-coffbfd.c: Removed all uses of DEFUN and DEFUN_VOID.
4420 Made minor stylistic changes, deleted some register declarations.
4421 (stack_top): Deleted.
4422 (symbol_to_chars): Use absolute_section and reg_section instead of
4423 the corresponding SEG_* symbols.
4424 (obj_coff_endef, tag_find_or_make, fixup_segment): Likewise.
4425 (stack typedef, stack_init, stack_delete, stack_push, stack_pop):
4426 Moved to just after pseudo-op table. All functions now static.
4427 (stack_delete): Removed declaration.
4428 (tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just
4429 after stack functions.
4430 * config/obj-coffbfd.h: Reordered some declarations and macros.
4431 (stack_init, stack_delete, stack_push, stack_pop): Don't declare.
4432 (stack typedef): Deleted.
4433 (SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test.
4434 (SYM_AUXENT): New macro.
4435 (SA_GET_*, SA_SET_*): Define in terms of SYM_AUXENT when feasible.
4436 (SF_GET_*, SF_SET_*): Define in terms of SF_GET when feasible.
4437 (SA_GET_SYM_TAGNDX, SA_GET_SYM_ENDNDX, SA_SET_SYM_TAGNDX,
4438 SA_SET_SYM_ENDNDX, object_headers typedef, data_section_header,
4439 text_section_header): Delete non-BFD_HEADERS versions, since we
4440 always define that symbol now.
4441
4442 * config/obj-coff.c (stack_top): Deleted.
4443 (obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size,
4444 obj_coff_scl, obj_coff_tag, obj_coff_type, obj_coff_val): Change
4445 argument name from "ignored" to "ignore".
4446 (obj_coff_val): Use frag_now_fix.
4447 (obj_pseudo_table): Removed IGNORE_DEBUG version, since it doesn't
4448 get used.
4449 (stack typedef, stack_init, stack_delete, stack_push, stack_pop):
4450 Moved to just after pseudo-op table. All functions now static.
4451 (tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just
4452 after stack functions.
4453 * config/obj-coff.h: Reordered some declarations and macros.
4454 Protected against multiple inclusions.
4455 (stack_init, stack_delete, stack_push, stack_pop): Don't declare.
4456 (stack typedef): Deleted.
4457 (SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test.
4458 (stdoutput): Deleted declaration.
4459 (TARGET_FORMAT) [TC_I386]: Don't define if already defined.
4460
4461 Mon May 2 17:09:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4462
4463 * subsegs.h (segment_info_type): Use fix_tail field even if
4464 BFD_ASSEMBLER.
4465 * subsegs.c (subseg_change): Initialize fix_tail field.
4466 (subseg_get): Likewise.
4467 * write.c (frags_chained): New static variable.
4468 (fix_new_internal): If frags_chained is set, use fix_root and
4469 fix_tail from seg_info (now_seg), rather than frchain_now.
4470 (chain_frchains_together_1): Set fix_tail field.
4471 (chain_frchains_together): Set frags_chained.
4472
4473 Thu Apr 28 01:39:15 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
4474
4475 * config/tc-mips.c (s_option): Only refer to g_switch_* variables
4476 if GPOPT is defined.
4477 (s_abicalls): Ditto.
4478 (md_apply_fix): Cast char* to unsigned char* to avoid pointer
4479 mismatch.
4480
4481 Wed Apr 27 11:06:32 1994 Steve Chamberlain (sac@cygnus.com)
4482
4483 * configure.in (i386-*-go32): Uses coff now.
4484 * gasp.c (main): Now takes -D on command line.
4485 (show_usage): Describe new options.
4486
4487 Tue Apr 26 17:10:30 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4488
4489 * listing.c (list_symbol_table): Print "NO DEFINED SYMBOLS" and
4490 "NO UNDEFINED SYMBOLS" if there aren't any, instead of displaying
4491 the header with an empty list.
4492
4493 * config/obj-coffbfd.c (fill_section): Check COFF_NOLOAD_PROBLEM
4494 also before setting STYP_NOLOAD for .bss section.
4495
4496 * config/tc-m68k.c (flag_reg_prefix_optional): New variable.
4497 Initialized to value of REGISTER_PREFIX_OPTIONAL, if defined, or
4498 zero.
4499 (m68k_reg_parse): If flag_reg_prefix_optional is set, permit
4500 register prefix to be absent.
4501 (m68k_ip_op): Accept `&' also for immediate constants.
4502 (insert_reg): Don't bother with (two!?) sanity checks of the
4503 symbol table when inserting each register.
4504 (m68k_parse_long_option): New function. Set
4505 flag_reg_prefix_optional if "register-prefix-optional" is passed.
4506 * config/tc-m68k.h (REGISTER_PREFIX): Always define if not already
4507 defined.
4508 (OPTIONAL_REGISTER_PREFIX): Don't define.
4509 (REGISTER_PREFIX_OPTIONAL): If not already defined, define as zero
4510 or one depending on M68KCOFF.
4511
4512 Some changes to help Apollo support, from troy@cbme.unsw.edu.au:
4513 * config/tc-m68k.c (DATA, ADDR, SP, FPREG, COPNUM, BAD, BAC):
4514 Define as macros instead of enumerators, since the Apollo compiler
4515 can't handle "enumVal1, enumVal2 = enumVal1" when defining an enum
4516 type.
4517 (make_pcrel_absolute) [NO_PCREL_RELOCS]: New function.
4518 (tc_coff_fix2rtype) [NO_PCREL_RELOCS]: Generate only R_RELBYTE,
4519 R_DIR16, and R_DIR32 relocs.
4520 * config/tc-m68k.h [TE_APOLLO] (COFF_MAGIC, COFF_AOUTHDR_MAGIC):
4521 Use Apollo versions.
4522 [TE_APOLLO] (OBJ_COFF_OMIT_OPTIONAL_HEADER): Undefine. That is,
4523 do include the optional header for Apollo target.
4524 (COFF_MAGIC): Don't define as MC68MAGIC if it's already defined.
4525
4526 * config/tc-m68k.h [TE_DELTA] (LEX_PCT): Define as 1, so that `%'
4527 can be used within a label name.
4528
4529 * config/tc-m68k.h (m68k_init_after_args): Declare.
4530 (tc_init_after_args): Define as m68k_init_after_args.
4531 * config/tc-m68k.c (m68k_init_after_args): New function,
4532 containing one-shot code from md_assemble. Added warning for
4533 combination of 68040 and 68851.
4534 (md_assemble): Startup-time code deleted.
4535
4536 Mon Apr 25 16:19:17 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4537
4538 * doc/Makefile.in (clean, distclean): Remove asconfig.texi.
4539
4540 Sun Apr 24 00:13:08 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4541
4542 * config/tc-hppa.c (pa_ip): 13 bit immediate constant (for break
4543 instruction) is unsigned.
4544
4545 Fri Apr 22 17:58:22 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4546
4547 * config/obj-ecoff.c (ecoff_frob_file): Use bfd_ecoff_set_gp_value
4548 and bfd_ecoff_set_regmasks to set the GP value and the register
4549 masks, rather than using the now obsolete fake .reginfo section.
4550
4551 Fri Apr 22 15:17:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4552
4553 * listing.c (list_symbol_table): Don't print register symbols as
4554 undefined.
4555
4556 * config/obj-coff.c (obj_symbol_new_hook): Don't need to strip
4557 underscores, since symbol_new will already have done it.
4558 * config/obj-coffbfd.c (obj_symbol_new_hook): Ditto.
4559
4560 * as.c (main): If tc_init_after_args is defined, invoke it after
4561 all arguments have been processed.
4562
4563 Some changes to help Apollo support, from troy@cbme.unsw.edu.au:
4564 * as.c (perform_an_assembly_pass) [TE_APOLLO]: Create .wtext
4565 section instead of .text. Call create_target_segments.
4566 * read.c (demand_copy_string): No longer static.
4567
4568 Thu Apr 21 15:50:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4569
4570 * config/tc-mips.c (append_insn): Permit branches to be switched
4571 with the preceding instruction even if .set nobopt has been seen.
4572 .set nobopt actually controls whether to bring up an instruction
4573 from the branch target, which gas does not currently support.
4574
4575 Wed Apr 20 18:46:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4576
4577 * config/obj-coff.h, config/obj-coff.c: Deleted all code used only
4578 when BFD_ASSEMBLER is not defined, and all conditionals relating
4579 to such code. No such targets remain.
4580
4581 Fixes for stabs-in-coff:
4582 * config/obj-coff.c: Include subsegs.h.
4583 (coff_frob_section): New function.
4584 (obj_coff_init_stab_section): New function.
4585 * config/obj-coff.h (obj_coff_init_stab_section,
4586 coff_frob_section): Declare.
4587 (obj_frob_section): New macro; uses coff_frob_section.
4588 (INIT_STAB_SECTION): New macro; uses obj_coff_init_stab_section.
4589
4590 * config/tc-sparc.c (md_section_align): Always round up to
4591 multiple of alignment power specified in bfd target vector.
4592
4593 * gasp.c: Include ctype.h.
4594
4595 Mon Apr 18 21:08:01 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4596
4597 * doc/Makefile.in, doc/as.texinfo: Renamed asdoc-config.texi to
4598 asconfig.texi.
4599
4600 * doc/Makefile.in (install-info-as, install-info-gasp): Get file
4601 names from source directory without pathname.
4602
4603 * config/obj-vms.c (VMS_write_object_file): While looking for
4604 register mask, skip empty fill frags caused by enabling listing
4605 output.
4606
4607 * config/ho-sysv.h: Include string.h.
4608
4609 * doc/internals.texi: New (well, recently added) file. Just added
4610 info on as_warn and friends.
4611
4612 Mon Apr 18 14:28:22 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4613
4614 * config/tc-hppa.c (pa_parse_space_stmt): Use the built-in
4615 defaults for defined, private, and spnum fields for the
4616 $TEXT$ and $PRIVATE$ spaces. Do not clobber spnum. Do
4617 not reset the segment if just updating a space.
4618 (pa_spaces_begin): Set BFD section flags for all built-in
4619 subspaces.
4620
4621 Fri Apr 15 10:51:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4622
4623 * ecoff.c (first_proc_ptr): New static variable.
4624 (add_procedure): Set first_proc_ptr if it hasn't been set.
4625 (ecoff_build_lineno): If the first procedure does not start at
4626 address zero, insert a dummy line to compensate.
4627
4628 * Makefile.in (bootstrap, bootstrap2, bootstrap3): Make gasp.new
4629 as well as as.new.
4630
4631 Thu Apr 14 15:12:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4632
4633 * expr.c (operand): Try to parse "0f" and "0b" sequences as
4634 floating point and binary numbers respectively; if it doesn't
4635 work, treat them as local labels.
4636
4637 * Makefile.in: Make $(OBJS) depend on $(ALL_OBJ_DEPS).
4638 * configure.in: Set ALL_OBJ_DEPS in output Makefile.
4639
4640 Based on suggestions from <BAILEY@hmivax.humgen.upenn.edu>
4641 (Charles Bailey):
4642 * vmsconf.sh: In generated file, get ".obj" suffix right, build
4643 source files from other directories into objects in the current
4644 directory, and specify PSECT attributes explicitly to linker.
4645 Also added missing label.
4646 * Makefile.in (stamp-mk.com): Reference new variable
4647 VMS_OTHER_OBJS for list of non-local object files, instead of
4648 listing them here.
4649 (VMS_OTHER_OBJS): New variable, added more libiberty files.
4650 * make-gas.com: Regenerated.
4651
4652 * config/ho-vms.h (unlink): Define as delete.
4653
4654 * config-gas.com: Fix quoting on TARGET_CANONICAL definition.
4655 Delete files before creating them.
4656
4657 Thu Apr 14 13:34:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4658
4659 * Makefile.in (de-stage1, de-stage2, de-stage3): Use rm -f.
4660
4661 * config/tc-mips.h (DIFF_EXPR_OK): Define.
4662 * config/tc-mips.c (macro_build): Permit BFD_RELOC_PCREL_LO16 for
4663 certain cases of 'i', 'j' and 'o'. Change 'u' to take an
4664 argument, the reloc type.
4665 (load_register): Pass reloc type to macro_build for 'u'.
4666 (macro): Likewise. For M_LA_AB permit a difference expression
4667 when generating embedded PIC code between an arbitrary symbol and
4668 a symbol in the .text section.
4669 (mips_force_relocation): Force BFD_RELOC_PCREL_HI16_S and
4670 BFD_RELOC_PCREL_LO16 to be emitted.
4671 (md_apply_fix): Check that most relocs are not PC relative.
4672 Handle BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16.
4673 (tc_gen_reloc): Change #error to as_fatal. Handle
4674 BFD_RELOC_PCREL_LO16 and BFD_RELOC_PCREL_HI16_S.
4675
4676 Tue Apr 12 18:25:13 1994 Stan Shebs (shebs@andros.cygnus.com)
4677
4678 * subsegs.c (subsegs_begin): Call memset with args in the correct
4679 order.
4680 (subseg_get): Clear newly allocated seginfo, set its pointer slots
4681 to NULL instead of 0.
4682
4683 Mon Apr 11 09:00:57 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4684
4685 * config/tc-hppa.c (pa_procend): Handle case where label was
4686 defined after the .proc directive.
4687
4688 * config/tc-hppa.c (pa_procend): Give an error if we encounter a
4689 procend for a procedure without a name.
4690
4691 Thu Apr 7 14:28:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4692
4693 * config/tc-mips.c (macro): Pass NULL for expression argument to
4694 macro_build for nori case.
4695 (SWITCH_TABLE): Define.
4696 (mips_force_relocation): Force a relocation for a switch table
4697 entry.
4698 (md_apply_fix): Write switch table entry value into file.
4699 (tc_gen_reloc): Use BFD_RELOC_GPREL32 for a switch table entry,
4700 and set the addend to the difference between the reloc address and
4701 the subtrahend.
4702
4703 Thu Apr 7 10:38:18 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4704
4705 * config/tc-hppa.h (elf_tc_symbol): Delete. No longer used.
4706 (elf_tc_make_sections): Likewise.
4707 (hppa_tc_make_sections, hppa_tc_symbol): Delete extern decls.
4708
4709 * config/tc-hppa.c (hppa_tc_make_sections): Delete function.
4710 (hppa_tc_symbol): Likewise.
4711
4712 * config/obj-elf.c (elf_frob_file): Delete elf_tc_symbol and
4713 elf_tc_make_sections stuff. It was there to support PA braindamage
4714 which has been fixed, and in the case of elf_tc_make_sections is
4715 redundant with elf_tc_final_processing.
4716
4717 Wed Apr 6 20:48:30 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4718
4719 * configure.in (hppa*-*-*elf*): Don't require "-hp-" for the
4720 manufacturer.
4721
4722 Tue Apr 5 15:48:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4723
4724 * config/tc-mips.c (mips_ip): For case 'o', when generating
4725 embedded PIC code, accept the difference between two local symbols
4726 as being constant.
4727 (mips_force_relocation): Only force a reloc to be generated for a
4728 PC relative fixup.
4729 (md_apply_fix): For BFD_RELOC_32 and BFD_RELOC_LO16, put the fixup
4730 value into the file if the fixup will not generate a reloc.
4731
4732 Tue Apr 5 11:14:14 1994 Ken Raeburn (raeburn@rtl.cygnus.com)
4733
4734 * config/tc-sparc.c (s_reserve): If section passed isn't bss,
4735 don't spew remainder of input file in error message.
4736 (tc_gen_reloc): If bfd_reloc_type_lookup returns null, print error
4737 message with reloc type and try to process remainder of file.
4738
4739 * doc/Makefile.in (install-info-as, install-info-gasp): New
4740 targets, now explicitly checking $(srcdir) for info files.
4741 (install-info): Depend on both of them; do nothing more.
4742
4743 Mon Apr 4 17:06:04 1994 Jeffrey A. Law (law@cygnus.com)
4744
4745 * config/tc-hppa.c (tc_gen_reloc): Fix thinko in ELF version.
4746
4747 Mon Apr 4 12:39:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4748
4749 * config/tc-ppc.c (ppc_insert_operand): Check PPC_OPERAND_SIGNED
4750 flag rather than signedp field. Only permit extended range if
4751 PPC_OPERAND_SIGNOPT flag is set and assembling in 32 bit mode.
4752 Based on patch from David Edelsohn (edelsohn@npac.syr.edu).
4753
4754 * config/tc-ppc.c (ppc_size): New static variable.
4755 (ppc_arch): Check for PPC_OPCODE_PPC before PPC_OPCODE_POWER.
4756 (md_begin): If an instruction has a size specific flag set, only
4757 add it if we are assembling that size.
4758
4759 Thu Mar 31 16:51:16 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4760
4761 * config/tc-sparc.c (tc_gen_reloc): Add a gruesome hack to get
4762 cross section PC relative relocs right for COFF and ELF.
4763
4764 Mon Mar 28 14:38:23 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4765
4766 * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Always define.
4767 (OBJ_PROCESS_STAB): Don't define.
4768
4769 Mon Mar 28 12:40:25 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4770
4771 * config/obj-aout.c (obj_aout_frob_symbols): Don't let BFD clobber
4772 the type of symbol set symbols which happen to be in the absolute
4773 or undefined section.
4774
4775 Mon Mar 28 12:35:00 1994 David Edelsohn (edelsohn@npac.syr.edu)
4776
4777 * config/tc-ppc.c (md_parse_option): Add -mpwrx (POWER/2 aka
4778 RIOS2), -mpwr (POWER aka RIOS1), -mppc (PowerPC aka MPC603/604),
4779 and -many (all architectures).
4780
4781 Sun Mar 27 14:04:19 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4782
4783 * config/tc-hppa.c (tc_gen_reloc): Set addend for relocation
4784 involving a function symbol which is not a plabel to zero.
4785 (md_apply_fix): Never pass a function symbol to field_adjust.
4786
4787 Fri Mar 25 17:35:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4788
4789 * config/obj-aout.c (obj_aout_frob_symbol): If N_EXT is set for an
4790 N_INDR symbol, set BSF_EXPORT and clear BSF_LOCAL.
4791
4792 * config/tc-mips.c (append_insn): If EMBEDDED_PIC, don't swap a
4793 branch with an instruction that uses $at, in case the branch is
4794 later expanded.
4795 (macro): If EMBEDDED_PIC, case M_JAL_A may use $at.
4796 (md_pcrel_from): If not OBJ_AOUT, return 4 for an undefined symbol
4797 to make it pcrel_offset.
4798 (tc_gen_reloc): If not OBJ_AOUT, set the reloc addend to
4799 reloc->address; another gruesome hack to get gas reloc handling to
4800 do the right thing.
4801
4802 Thu Mar 24 21:29:29 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4803
4804 * config/tc-alpha.c (alpha_ip): Only set GP prolog size if using
4805 PV register.
4806 (T12): New macro.
4807 (emit_insn): New function.
4808 (md_assemble): Call it.
4809 (alpha_force_relocation): Handle BFD_RELOC_26, for call_pal
4810 instructions.
4811 (lituse_pending): New variable. Set by anything that generates a
4812 LITERAL reloc, cleared by anything that generates a LITUSE reloc,
4813 tested by code that might want to emit a LITUSE reloc.
4814 (emit_unaligned_io): New function. Currently calls md_assemble,
4815 but it should eventually be converted to generate the insn itself
4816 and call emit_insn directly.
4817 (emit_load_unal, emit_store_unal, emit_byte_manip_r,
4818 emit_extract_r, emit_insert_r, emit_mask_r, emit_sign_extend,
4819 emit_bis_r): Likewise.
4820 (alpha_ip, case 'I'): Handle with BFD_RELOC_23.
4821 (alpha_ip, label get_macro): Don't emit the final instruction if
4822 the opcode is zero.
4823 (alpha_ip, case 'B', subcase 'd'): New case, for subword and
4824 unaligned memory access macros.
4825 (md_apply_fix): Handle BFD_RELOC_26. Generate an error message if
4826 the value can't be resolved.
4827
4828 Wed Mar 23 16:06:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4829
4830 * config/tc-mips.c (md_parse_option): For -membedded-pic, force
4831 the -G value to 0x7fffffff. For SVR4 PIC options, don't call
4832 bfd_set_gp_size here, it's done in md_begin. Don't permit -G with
4833 -membedded-pic.
4834 (mips_force_relocation): New function.
4835 (md_apply_fix): Set fixP->fx_done appropriately.
4836 (s_change_sec): For EMBEDDED_PIC, change .data and .rdata to
4837 .sdata.
4838 * config/tc-mips.h (TC_FORCE_RELOCATION): Define.
4839 (mips_force_relocation): Declare.
4840 (TC_HANDLE_FX_DONE): Define.
4841
4842 Tue Mar 22 13:58:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4843
4844 * config/tc-mips.c (enum mips_pic_level): New enum.
4845 (mips_pic): Change from int to enum mips_pic_level. Change all
4846 uses (0 becomes NO_PIC, 2 becomes SVR4_PIC).
4847 (load_address): Handle EMBEDDED_PIC.
4848 (macro): Handle EMBEDDED_PIC in all PIC cases.
4849 (md_parse_option): Accept -membedded-pic to use EMBEDDED_PIC. If
4850 OBJ_ELF, accept -KPIC and -call_shared to use SVR4_PIC and accept
4851 -non_shared to use NO_PIC (this is how the Irix 5 assembler
4852 works). Do not permit -G with SVR4_PIC.
4853 (s_abicalls): Warn if -G was used, and force -G 0.
4854 (tc_gen_reloc): Set reloc->addend to 0 for a PC relative reloc for
4855 anything but a.out, not just for ELF. For ECOFF, don't generate a
4856 BFD_RELOC_16_PCREL_S2 reloc unless using EMBEDDED_PIC.
4857
4858 * config/obj-ecoff.h (obj_sec_sym_ok_for_reloc): Define to be 1.
4859
4860 Sun Mar 20 16:31:55 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4861
4862 * config/tc-hppa.c (create_new_space): Use ints, not chars as
4863 parameters to avoid losing when compiling with HP CC.
4864 (create_new_subspace, update_subspace, fix_new_hppa): Likewise.
4865
4866 Sun Mar 20 14:43:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4867
4868 * Makefile.in (config-stamp): If `defs' is defined, emit a
4869 preprocessor directive to create a macro named by this value into
4870 config.new; don't explicitly go for BFD_ASSEMBLER.
4871 * configure.in: Define `defs', not `BFDDEF'. Set it to
4872 MANY_SEGMENTS for any obj-coffbfd target.
4873 * config/obj-coffbfd.h (BFD_HEADERS, BFD): Define.
4874 * config/i386coff.mt (TDEFINES): Don't define BFD, MANY_SEGMENTS,
4875 or BFD_HEADERS.
4876 (LOCAL_LOADLIBES): Deleted.
4877 * config/m68kcoff.mt (TDEFINES): Don't define those macros.
4878 * config/m88kcoff.mt (TDEFINES): Ditto.
4879 * config/ebmon29k.mt: Deleted.
4880 * config/h8300hds.mt: Deleted.
4881 * config/ic960coff.mt: Deleted.
4882 * config/sparc.mt: Deleted.
4883 * config/h8300.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
4884 * config/h8500.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
4885 * config/sh.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
4886 * config/z8k.mt (LOCAL_LOADLIBES): Deleted.
4887 (TDEFINES): Don't define the coffbfd macros.
4888
4889 * Makefile.in: Insert makefile fragments before OBJS definition.
4890 (OBJS): Add $(TE_OBJS).
4891
4892 * config/obj-coff.c (obj_pseudo_table): Supply "section"
4893 unconditionally.
4894
4895 * write.c (set_symtab): Define only if BFD_ASSEMBLER.
4896
4897 Sun Mar 20 12:06:05 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4898
4899 * Makefile.in (STAGESTUFF): Add gasp.new.
4900
4901 Fri Mar 18 20:09:16 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4902
4903 * write.c (symbol_table_frozen): New variable, to be set after
4904 bfd_set_symtab is called.
4905 (dump_section_relocs): Note whether a symbol is a section symbol
4906 or not.
4907 (adjust_reloc_syms): For now, always supply an absolute symbol for
4908 fixups without symbols but not yet `done'. Use section_symbol to
4909 get the symbol, instead of going directly for abs_symbol.
4910 (write_relocs) [DEBUG4]: Abort if any symbol referred to by a
4911 reloc is not a section symbol and is not in the symbol table.
4912 (set_symtab): New function, broken out from write_object_file.
4913 Counts symbol table instead of relying on an earlier count.
4914 (write_object_file): Call set_symtab, but do it after potentially
4915 invoking the *_frob_file macros. Don't bother counting symbols.
4916 Call symbol_remove, instead of expanding it in place. Moved the
4917 conditionalized `object_file_size' declaration down to
4918 conditionalized block where it's used. When using the absolute
4919 symbol for a fixup without a symbol, set sy_used_in_reloc.
4920 (write_object_file) [BFD_ASSEMBLER]: Call section_symbol to get
4921 the correct symbol for the absolute section.
4922
4923 * subsegs.c (section_symbol): Use symbol_new instead of
4924 symbol_make, since we may want it to go into the symbol table.
4925 Make the new symbol have internal linkage. If
4926 obj_sec_sym_ok_for_reloc says it's okay, use the BFD section
4927 symbol with the newly created GAS symbol.
4928 (obj_sec_sym_ok_for_reloc): Default to always returning 0.
4929 * config/obj-aout.h (obj_sec_sym_ok_for_reloc) [BFD_ASSEMBLER]:
4930 New macro.
4931 * config/obj-elf.h (obj_sec_sym_ok_for_reloc): New macro.
4932
4933 * config/tc-sparc.c: Include subsegs.h.
4934 (in_signed_range): New function.
4935 (sparc_ip): Use it.
4936 (sparc_ip, case 'i'): Use BFD_RELOC_SPARC13, not _BASE13.
4937 (sparc_ip, label "immediate"): Reject constants for pcrel
4938 instructions only if the relocation type indicates a "call"
4939 instruction and the offset is within range of a "jmpl %g0". If
4940 it's not in range, use the absolute section symbol plus an offset.
4941 (md_apply_fix): Use in_signed_range. Combined _SPARC13 and
4942 _BASE13 cases.
4943 (tc_gen_reloc): Permit BFD_RELOC_SPARC13.
4944
4945 * config/ic960coff.mt (TDEFINES): Fixed typo (MANY_SECTIONS, not
4946 MANY_SEGMENTS).
4947
4948 * configure.in: Eliminated all targets using obj-coff but not
4949 defining BFD_ASSEMBLER; I think all such targets that are
4950 supported will be matched by real CPU-OS combinations earlier in
4951 the case statement.
4952 (targets *-*-coff*, *-sysv*, *-*-sco*, *-*-sysv32): Deleted. Made
4953 some comments about the dpx2 configuration, but left it disabled,
4954 since it couldn't be reached before.
4955 (target a29k-amd-ebmonold): Deleted.
4956
4957 Thu Mar 17 13:36:09 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4958
4959 * config/tc-hppa.c (pa_import): Correctly handle importing of an
4960 already defined symbol.
4961
4962 Wed Mar 16 17:11:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4963
4964 * config/tc-mips.c (mips_ip): Only accept overly large values for
4965 the 'j' operand if there are no further alternatives for this
4966 instruction.
4967
4968 * config/obj-coffbfd.c (adjust_stab_section): Initialize
4969 stabstrseg to SEG_UNKNOWN, not -1. After loop, check whether it
4970 is not SEG_UNKNOWN rather than checking whether it is >= 0.
4971
4972 * config/tc-mips.c (mips_align): Take new argument, label, and use
4973 it instead of global insn_label.
4974 (s_align, s_cons, s_float_cons, s_gpword): Save insn_label before
4975 call to mips_emit_delay and pass it to mips_align.
4976
4977 Wed Mar 16 11:54:12 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4978
4979 * config/tc-hppa.c (pa_equ): Handle both .reg and .equ correctly.
4980
4981 * config/tc-hppa.c (pa_callinfo): Accept "millicode" as an
4982 argument to a .callinfo directive. Don't loop forever on errors.
4983
4984 * config/tc-hppa.c (pa_equ): Use pa_parse_number so that we can
4985 use pre-defined registers as arguments.
4986
4987 Mon Mar 14 14:29:45 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4988
4989 * write.c (write_object_file): Check both S_IS_LOCAL and
4990 S_IS_EXTERNAL when deciding whether to discard a symbol.
4991
4992 * config-gas.com: Scan Makefile.in, not version.c, for current
4993 version number. Delete all versions of temp files when finished
4994 with them. Create config.h.
4995
4996 * config/obj-vms.c (VMS_Initialized_Data_Size): Cache symbol
4997 values to reduce number of lookups with S_GET_VALUE. Skip debug
4998 symbols to avoid "a really nasty bug". (From Holger Teutsch,
4999 holger@botbso.rhein-main.de.)
5000 (VMS_write_object_file): For "__vt.*" symbols, set S_GET_OTHER
5001 field. (Also from Holger Teutsch.) Watch for a would-be register
5002 mask that spans frags.
5003
5004 * config/obj-coffbfd.c (obj_coff_line): Set symbol lnno field with
5005 this_base, not line_base. (Patch from Andreas Arens,
5006 ari@obelix.av.rwth-aachen.de.)
5007
5008 * config/obj-aout.c (obj_crawl_symbol_chain): Retain symbols that
5009 look local if they're exported or undefined. Used to be done for
5010 i960 only.
5011
5012 * read.c (s_lcomm, s_comm): Print symbol name being redefined.
5013 Get it from the looked-up symbol, instead of using the string from
5014 the input stream, which is no longer null-terminated.
5015 (LEX_PCT): New macro, defaults to 0.
5016 (lex_type): Use it for `%'.
5017
5018 * config/tc-vax.c (md_parse_option): Handle `-h#' option for VMS.
5019 (vip_op): Now static, and returns void. Callers changed. Added
5020 forward decl.
5021 (vip): Ditto. Call as_fatal directly if a program bug is
5022 detected.
5023 (op_hash): Let default initialization suffice.
5024
5025 * Makefile.in (literal.o): Provide dependencies.
5026
5027 * configure.in: Set new makefile variable OPCODES_LIB.
5028 * Makefile.in (LIBS): Use it.
5029
5030 * Makefile.in (make-gas.com, stamp-mk.com): New targets.
5031 * vmsconf.sh: New file.
5032 * make-gas.com: Regenerated from new script.
5033
5034 * configure.in (sparc*-*-lynxos*): Handle any version number
5035 suffix after "lynxos". Set emulation to lynx.
5036
5037 Mon Mar 14 11:30:49 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
5038
5039 * config/obj-coff.c (obj_coff_section): Delete declaration.
5040
5041 Fri Mar 11 22:25:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5042
5043 * config/tc-ppc.c (md_pcrel_from): Return 0 for undefined ELF
5044 symbols.
5045 (ppc_is_toc_sym): Change .toc to .got.
5046 (md_apply_fix): Change handling of ELF relocs.
5047 (tc_gen_reloc): Likewise.
5048
5049 Fri Mar 11 17:42:20 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5050
5051 * config/obj-vms.c (Close_VMS_Object_File): Add comment pointing
5052 out some code that doesn't belong in this file.
5053
5054 * config/obj-vms.h: Include aout/stab_gnu.h.
5055 (N_GSYM, ..., N_LENG): Deleted.
5056 (NO_RELOC): Undefine before defining as part of enum reloc_type.
5057
5058 * config/tc-alpha.c: Add comment questioning need for all the
5059 characters in FLT_CHARS.
5060
5061 * as.c (main) [OBJ_VMS]: Don't call output_file_close.
5062
5063 * config/obj-ecoff.c (ecoff_frob_file): Set strict order for
5064 sections with recognized names, before computing VMA values.
5065
5066 Fri Mar 11 17:56:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5067
5068 * config/tc-mips.c (mips_ip): Accept numbers between 0x8000 and
5069 0xffff for 'j' to be compatible with MIPS assembler. These
5070 numbers are actually treated as negative.
5071
5072 Thu Mar 10 13:36:29 1994 Doug Evans (dje@canuck.cygnus.com)
5073
5074 * config/tc-sparc.h (LOCAL_LABEL): Local labels are .Lfoo.
5075
5076 Tue Mar 8 21:17:12 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5077
5078 * config/obj-coff.c: Minor formatting/stylistic changes, plus:
5079 (obj_coff_section): Declare.
5080 (obj_pseudo_table): Make it available only if MANY_SECTIONS.
5081 (obj_symbol_to_chars) [CROSS_COMPILE]: Some attemps to make this
5082 work. It still doesn't. It now fails to compile, instead of
5083 silently compiling to do nothing.
5084 * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define only if
5085 MANY_SECTIONS.
5086 (OBJ_PROCESS_STAB) [! MANY_SECTIONS]: New macro, just emits
5087 warning.
5088
5089 Handle Alpha load-immediate-FP pseudo-instructions:
5090 * config/alpha-opcode.h (ldif, ldig, ldis, ldit): New patterns.
5091 * config/tc-alpha.c (lit8_sec, lit4_sec, lit8_sym, lit4_sym): New
5092 variables.
5093 (create_literal_section): New function.
5094 (create_lita_section): Now a macro.
5095 (get_lit8_offset, get_lit4_offset): New functions.
5096 (maybe_set_gp): New function.
5097 (select_gp_value): Call it.
5098 (load_expression): Preserve addend if symbol is a section symbol.
5099 (alpha_ip): Handle new operand type `F' for floating-point
5100 constants; store them in .lit{4,8} sections.
5101 (alpha_ip, case 'G'): Emit LITUSE relocations for symbol exprs.
5102
5103 * config/tc-i386.c (smallest_imm_type): Never return Imm1.
5104
5105 Tue Mar 8 14:18:15 1994 Steve Chamberlain (sac@jonny.cygnus.com)
5106
5107 * config/obj-coffbfd.c (w_strings): Only copy strings out if
5108 their symbols are going to be written.
5109
5110 Tue Mar 8 11:49:27 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5111
5112 * messages.c (as_perror): Declare arguments const.
5113 * as.h (as_perror): Change declaration.
5114
5115 Mon Mar 7 16:08:25 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5116
5117 * config/tc-mips.c (load_address): When calling frag_grow, allow
5118 for the (up to) two nops which may be inserted by append_insn if
5119 mips_optimize is 0.
5120 (macro): Likewise.
5121
5122 Thu Mar 3 11:37:55 1994 Doug Evans (dje@canuck.cygnus.com)
5123
5124 * config/atof-ieee.c (make_invalid_floating_point_number):
5125 Add cast to avoid warning from gcc.
5126
5127 Wed Mar 2 10:31:01 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5128
5129 * config/tc-hppa.c: Add a few casts to make HP C compiler happy.
5130
5131 * config/obj-som.c (obj_som_version, obj_som_copyright): Be
5132 prepared
5133 to handle an error from bfd_som_attach_aux_hdr.
5134
5135 * config/tc-hppa.h: Wrap ELF specific decls inside an ifdef.
5136
5137 Mon Feb 28 15:03:26 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5138
5139 * config/tc-alpha.c (md_atof): Omit warning about FP values.
5140 (line_comment_chars): Add ! to list.
5141 (md_apply_fix): Do process 32- and 64-bit relocations.
5142
5143 * config/obj-coffbfd.c (obj_coff_lcomm): Put "#if 0" around the
5144 unused parts (most of the function).
5145 (obj_coff_init_stab_section): Cast alloca result.
5146
5147 * configure.in (i960-*-coff, i960-*-vxworks5.*): Use coffbfd, and
5148 gas_target ic960coff.
5149 * config/ic960coff.mt: New file.
5150 * config/obj-coffbfd.h [TC_I960]: Include coff/i960.h.
5151 (TARGET_FORMAT) [TC_I960]: Use coff-Intel-little.
5152 * config/te-ic960.h (CROSS_COMPILE): Don't undef this. We'll
5153 always build little-endian object files.
5154 * config/tc-i960.c (md_reloc_size): Don't define at all if BFD or
5155 BFD_ASSEMBLER is defined.
5156 (mem_fmt): Since COFF doesn't handle callx relocations yet, treat
5157 them like normal 32-bit relocations.
5158 (md_apply_fix): For callx relocations, store zero.
5159 (tc_bout_fix_to_chars): Store symbol index for all callx
5160 relocations, regardless of link-relax setting.
5161 (tc_coff_fix2rtype, tc_coff_sizemachdep): New functions.
5162 (i960_handle_align) [! OBJ_BOUT]: If link-relax option is
5163 selected, print an error message and clear it.
5164 * config/tc-i960.h (BFD_ARCH, COFF_FLAGS, COFF_MAGIC,
5165 TC_COUNT_RELOC, TC_COFF_FIX2RTYPE, TC_COFF_SIZEMACHDEP,
5166 tc_fix_adjustable): New macros.
5167 (tc_coff_fix2rtype, tc_coff_sizemachdep): Declare.
5168
5169 Fri Feb 25 20:56:57 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5170
5171 * config/tc-hppa.c (hppa_tc_symbol): Call PA ELF BFD version.
5172 (hppa_tc_make_sections): Likewise.
5173 (pa_build_symextn_section): Delete unused function.
5174 (hppa_tc_make_symextn_section): Likewise.
5175 (pa_export): Delete call to pa_build_symextn_section.
5176
5177 * config/tc-hppa.h (hppa_tc_symbol): Add extern decl.
5178 (elf_hppa_final_processing): Delete extern decl.
5179 (hppa_tc_symbol): Delete extern decl.
5180
5181 Fri Feb 25 13:15:31 1994 Ian Lance Taylor (ian@cygnus.com)
5182
5183 * config/obj-coffbfd.c (fill_section): Correct test for whether to
5184 fill a section (from Minh Tran-Le <TRANLE@intellicorp.com>).
5185
5186 Thu Feb 24 11:30:26 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5187
5188 * configure.in: Don't require version number for i386-*-mach.
5189
5190 * read.c (potable): Added ".this_GCC_requires_the_GNU_assembler",
5191 which is ignored by gas, but will cause other assemblers to choke.
5192 Intended for use by gcc ports that require gas instead of native
5193 assemblers.
5194
5195 Thu Feb 24 07:10:31 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5196
5197 * config/ho-hppaosf.h: Fix braino in test for ANSI-C.
5198
5199 Wed Feb 23 16:51:43 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5200
5201 * write.c (write_contents): Give the user a reasonable error
5202 message rather than "assertion failed" if bfd_set_section_contents
5203 fails.
5204
5205 Tue Feb 22 10:07:32 1994 Ken Raeburn (raeburn@rtl.cygnus.com)
5206
5207 * config/ho-mach3.h: New file.
5208
5209 Mon Feb 21 11:41:18 1994 Ian Lance Taylor (ian@cygnus.com)
5210
5211 * ecoff.c (ecoff_build_debug): Don't set hdr->magic here. It is
5212 now set in bfd/ecofflink.c:ecoff_write_symhdr.
5213
5214 * config/obj-coffbfd.c (write_object_file): use bfd_get_error (),
5215 not bfd_error.
5216 * config/obj-elf.c (elf_frob_file): Likewise.
5217
5218 * read.c (s_lcomm): Use an alignment power of 3 for 8 byte .lcomm
5219 variables.
5220
5221 * config/ho-hpux.h (BROKEN_ASSERT): Define if not __GNUC__.
5222
5223 * read.c (read_a_source_file): Use correct arguments to memcpy
5224 (broken 19 Jul 1993). From kjd@pescadero.stanford.edu (Kenneth
5225 Duda).
5226
5227 Sun Feb 20 18:01:54 1994 Ian Lance Taylor (ian@lisa.cygnus.com)
5228
5229 * config/obj-coff.h (obj_coff_section): Declare.
5230 * config/obj-coff.c (obj_pseudo_table): For "section", use
5231 obj_coff_section.
5232 (obj_coff_section): Rewrite.
5233
5234 Fri Feb 18 14:16:32 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5235
5236 * configure.in (i386-*-mach3*): New target; uses BFD.
5237 * config/te-mach.h: New file.
5238 * config/obj-aout.c (obj_aout_frob_file): New function.
5239 * config/obj-aout.h (obj_aout_frob_file): Declare it.
5240 (frob_file): New macro.
5241 * config/tc-i386.c (md_apply_fix_1) [TE_Mach]: Don't adjust
5242 pcrel32 relocations.
5243 * config/tc-i386.h (TARGET_FORMAT) [TE_Mach]: Use a.out-mach3.
5244
5245 * write.c (write_object_file): Removed register declarations.
5246
5247 Thu Feb 17 16:25:18 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5248
5249 Some support for PowerPC ELF.
5250 * configure.in: If cpu is powerpc*, use ppc.
5251 (ppc-*-sysv4*): Use object format elf.
5252 * config/tc-ppc.h: Only declare a number of things if OBJ_COFF is
5253 defined.
5254 (TARGET_ARCH): Make it call ppc_arch.
5255 (ppc_arch): Declare.
5256 (TARGET_FORMAT): Set based on OBJ_COFF or OBJ_ELF.
5257 (NO_STRING_ESCAPES): Define.
5258 (LOCAL_LABEL, FAKE_LABEL_NAME): Define for OBJ_ELF.
5259 * config/tc-ppc.c: Only define a number of functions of OBJ_COFF
5260 is defined.
5261 (md_pseudo_table): Most pseudo-ops are OBJ_COFF specific. Added
5262 OBJ_COFF specific "bi" and "ei".
5263 (md_parse_option): Fix handling of -u. Make -m601 set
5264 PPC_OPCODE_601. If OBJ_ELF, accept -V and -Q.
5265 (ppc_set_cpu): New function.
5266 (ppc_arch): New function.
5267 (md_begin): Call ppc_set_cpu.
5268 (ppc_insert_operand): For a signed operand accept an unsigned
5269 value, for IBM compatibility.
5270 (ppc_byte): Don't call stringer for strings; instead, treat two
5271 double quotes as a single double quote.
5272 (ppc_comm): Set sy_tc.output for a .lcomm symbol.
5273 (ppc_biei): New function.
5274 (ppc_tc): If not OBJ_COFF, ignore first argument.
5275 (ppc_fix_adjustable): Call as_bad_where, not as_bad.
5276 (ppc_is_toc_sym): New function.
5277 (md_apply_fix): Use ppc_is_toc_sym. Handle BFD_RELOC_16 and
5278 BFD_RELOC_8.
5279
5280 Thu Feb 17 09:29:37 1994 David J. Mackenzie (djm@thepub.cygnus.com)
5281
5282 * messages.c (as_perror) [BFD_ASSEMBLER]: Use bfd_get_error and
5283 bfd_set_error and new error names.
5284
5285 Tue Feb 15 20:23:20 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5286
5287 * configure.in: Support i960-vxworks versions > 5.0 as coff.
5288 Default is still bout if no version is specified.
5289
5290 * atof-generic.c (atof_generic): Use switch and strcasecmp instead
5291 of large number of compares when looking for inf/nan values.
5292
5293 Fri Feb 11 13:13:27 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5294
5295 * config/tc-mips.c (macro): Do unaligned loads and stores
5296 correctly when big endian, and give errors on overflow rather than
5297 generating incorrect code.
5298
5299 Thu Feb 10 11:24:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5300
5301 * as.c: Include libiberty.h.
5302
5303 * read.c (do_align): Don't define label just_record_alignment
5304 unless it might be used.
5305
5306 * as.c (main): If md_parse_long_option is defined, call it with a
5307 long option.
5308 * config/tc-mips.h (md_parse_long_option): Define.
5309 * config/tc-mips.c (mips_trap): New static variable.
5310 (md_begin): Report an error if mips_trap is set at ISA level 1.
5311 (macro): If mips_trap, use trap instructions instead of break
5312 instructions for overflow and divide by zero detection.
5313 (mips_parse_long_option): New function. Support --trap,
5314 --no-break, --break and --no-trap.
5315 * doc/as.texinfo: Document new options.
5316
5317 * read.c (potable): Add "zero".
5318 * config/tc-i386.c (md_pseudo_table): Remove "zero".
5319 * config/tc-m88k.c (md_pseudo_table): Likewise.
5320
5321 Thu Feb 10 01:24:27 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5322
5323 * config/tc-sparc.c (sparc_ip): Reject integer values for
5324 pc-relative operand fields. This forces "call 0" to become "jmpl
5325 %g0,%o7" with no relocations needed.
5326
5327 Wed Feb 9 13:08:32 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5328
5329 * as.h (xmalloc, xrealloc): Declare using PTR rather than char *.
5330 * xmalloc.c (xmalloc, xrealloc): Use PTR rather than char *.
5331
5332 * app.c (do_scrub_next_char): If NO_STRING_ESCAPES is defined,
5333 don't treat backslash specially inside strings.
5334 * read.c (next_char_of_string): Likewise.
5335
5336 Wed Feb 9 09:42:45 1994 Stan Shebs (shebs@andros.cygnus.com)
5337
5338 * config/obj-coffbfd.c (obj_coff_init_stab_section): Use memset
5339 instead of memcpy to zero the initial stab symbol, duh.
5340 * config/obj-elf.c (obj_elf_init_stab_section): Ditto.
5341 * config/obj-som.c (obj_som_init_stab_section): Ditto.
5342
5343 Tue Feb 8 17:25:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5344
5345 * write.c (fixup_segment): Use as_bad_where, not as_bad.
5346
5347 * subsegs.c (subseg_set_rest): Call memset with the arguments in
5348 the right order. Explicitly clear fix_root and fix_tail fields.
5349
5350 Tue Feb 8 16:00:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5351
5352 * config/obj-coff.c (coff_frob_symbol): For abs_symbol, set *punt
5353 and do nothing else.
5354
5355 * symbols.c (symbol_begin): Initialize value of abs_symbol
5356 properly.
5357
5358 * write.c (adjust_reloc_syms): Use abs_symbol instead of calling
5359 section_symbol.
5360
5361 * ecoff.c (ecoff_build_debug): Fix "/*" in comment to silence
5362 complaint from "gcc -Wall".
5363
5364 * configure.in (alpha-*-netware*): New target, like alpha-*-osf*.
5365
5366 * config/tc-alpha.c (GP_ADJUSTMENT): Move definition to start of
5367 file.
5368 (tc_gen_reloc): Remove uninitialized variable `code', and code
5369 that tried to use it (incorrectly). For LITERAL reloc, set addend
5370 to negative of GP value.
5371 (load_symbol_address): Don't adjust return value by GP_ADJUSTMENT.
5372
5373 * write.c (write_relocs): Print some sensible error message if
5374 bfd_perform_relocation returns bfd_reloc_overflow.
5375
5376 Mon Feb 7 15:49:24 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5377
5378 * configure.in (hppa*-*elf*): New configuration for PA ELF.
5379 (hppa*-*-osf*): Default object format is SOM.
5380
5381 Mon Feb 7 16:07:35 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5382
5383 * config/tc-alpha.c (md_atof): Warn that floating-point values
5384 might not assemble properly.
5385
5386 * configure.in (target alpha-*-osf*): Don't set "dev=yes" any
5387 more.
5388
5389 * config/tc-alpha.c (load_expression): Parenthesize operations in
5390 range checking, to avoid precedence questions.
5391
5392 * config/tc-alpha.c (addr32): New static variable.
5393 (md_parse_option): Set it for "-32addr".
5394 (load_symbol_address): If addr32 is set, use ldl instead of ldq.
5395
5396 * atof-generic.c (atof_generic): Calculate maximum_useful_digits
5397 and more_than_enough_bits_for_digits in integer arithmetic, to
5398 eliminate the only sources of dependence on floating point
5399 support, which doesn't work yet on the Alpha.
5400
5401 Mon Feb 7 03:56:05 1994 Ken Raeburn (raeburn@cambridge.cygnus.com)
5402
5403 * ecoff.c (ecoff_build_debug) [TC_ALPHA]: Specify version stamp as
5404 0x30b for Alpha for now, until ".verstamp" is handled.
5405
5406 * literal.c (add_to_literal_pool): Use seginfo->frchainP, which
5407 actually refers to the literal pool section, rather than
5408 frchain_now, which refers to whatever section the assembler was
5409 in.
5410
5411 * write.c (fixup_segment): Only do range checking if size of fixup
5412 is smaller than word size. Otherwise, we always wind up with
5413 zeros.
5414
5415 * config/tc-alpha.c (md_section_align): Change second argument and
5416 return type to valueT, to agree with tc.h.
5417 (alpha_do_align): Local static array nop_pattern is now unsigned
5418 char, to avoid overflow warnings.
5419 * config/tc-alpha.h (md_section_align): Delete declaration.
5420
5421 * config/obj-ecoff.c (ecoff_frob_file): Ensure that ecoff_data for
5422 output bfd is non-null before indirecting through it.
5423
5424 * config/tc-alpha.c (alpha_frob_ecoff_data): Renamed from
5425 alpha_frob_file.
5426 * config/tc-alpha.h (tc_frob_file): Macro deleted.
5427 * config/obj-ecoff.c (ecoff_frob_file) [TC_ALPHA]: Call
5428 alpha_frob_ecoff_data, then fill in optional-header info with gp
5429 value and register masks.
5430
5431 Sun Feb 6 16:13:47 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5432
5433 * configure.in (hiux): Fixes from m-kasahr@sramhc.sra.co.JP.
5434
5435 * config/obj-som.c (obj_som_init_stab_section): Same change
5436 as coffbfd and elf below. Zero the initial stab symbol after
5437 allocating it.
5438
5439 Sat Feb 5 12:30:32 1994 Stan Shebs (shebs@andros.cygnus.com)
5440
5441 * config/obj-coffbfd.c (obj_coff_init_stab_section): Zero the
5442 initial stab symbol after allocating it.
5443 * config/obj-elf.c (obj_elf_init_stab_section): Ditto.
5444
5445 Sat Feb 5 11:53:31 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5446
5447 * config/tc-hppa.c (pa_ip): addb[tf] should only accept
5448 non-negated condition completers. Add support for addb pseudo-op
5449 which accepts both negated and non-negated completers.
5450
5451 Sat Feb 5 00:15:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5452
5453 * configure.in (rs6000*): Use cpu_type ppc.
5454 (ppc-*-aix*): New target; use coff and force bfd_gas.
5455 * config/tc-ppc.h, config/tc-ppc.c: New files for PowerPC/POWER
5456 (RS/6000) support. At the moment, only XCOFF is supported.
5457
5458 * config/obj-coff.c (SA_SET_SYM_ENDNDX): Made non-static.
5459 (S_SET_DATA_TYPE): Likewise.
5460 (coff_last_function): Renamed from local static last_functionP in
5461 coff_frob_symbol and made externally visible.
5462 (coff_frob_symbol): New local static set_end; use it to try to
5463 avoid calling SA_SET_SYM_ENDNDX on a symbol that will be punted.
5464 * config/obj-coff.h (S_SET_DATA_TYPE): Declare.
5465 (SA_SET_SYM_ENDNDX): Declare.
5466 (coff_last_function): Declare.
5467
5468 * expr.c (operand): If DOLLAR_DOT is defined, accept `$' as
5469 equivalent to `.' to mean the current location.
5470
5471 * read.c (LEX_BR): If not defined, define as 0.
5472 (lex_type): Use LEX_BR as the type of `{',`}',`[',`]'.
5473
5474 * symbols.c (symbol_new): If tc_canonicalize_symbol_name is
5475 defined, call it with preserved_copy_of_name. If
5476 tc_symbol_new_hook is defined, call it on the new symbol.
5477 (symbol_find_base): If tc_canonicalize_symbol_name is defined,
5478 call it on a copy of the name argument.
5479
5480 * write.c (write_object_file): Simplified usage of obj_frob_symbol
5481 and tc_frob_symbol. Always call both if the symbol is going to be
5482 output.
5483
5484 * write.c (relax_segment): Use %ld rather than %d when printing
5485 fragP->fr_var, and cast it to long.
5486
5487 Changed relocs to be based on subsegments (when BFD_ASSEMBLER).
5488 * subsegs.h (struct frchain): If BFD_ASSEMBLER, added new fields
5489 fix_root and fix_tail.
5490 (segment_info_type): If BFD_ASSEMBLER, don't define fix_tail
5491 field.
5492 * write.c (fix_new_internal): If BFD_ASSEMBLER, set fix_rootP and
5493 fix_tailP based on frchain_now, not seg_info (now_seg).
5494 (chain_frchains_together_1): Chain the subsegment relocs together.
5495 * subsegs.c (subseg_change): Don't clear fix_tail field.
5496 (subseg_get): Likewise.
5497 * literal.c (add_to_literal_pool): Look through the relocs via
5498 frchain_now, not seginfo.
5499
5500 Thu Feb 3 23:07:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5501
5502 * config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Changed
5503 ecoff_undefined to ecoff_extern_size.
5504 * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): Likewise.
5505 * config/tc-mips.c (s_extern): Set ecoff_extern_size to the
5506 external symbol size, rathern than setting the symbol value.
5507 (md_estimate_size_before_relax): Check both ecoff_extern_size and
5508 symbol value to see if GP referencing can be used.
5509 * ecoff.c (ecoff_symbol_new_hook): Clear ecoff_extern_size, not
5510 ecoff_undefined.
5511 (ecoff_frob_symbol): Don't check ecoff_undefined.
5512 (ecoff_build_symbols): Get size of an undefined symbol from
5513 sym->ecoff_extern_size, not S_GET_VALUE (sym).
5514
5515 Wed Feb 2 13:55:08 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5516
5517 * Makefile.in: Avoid bug in losing hpux sed.
5518
5519 Wed Feb 2 11:40:11 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5520
5521 * config/tc-mips.c (file_mips_isa): New static variable.
5522 (md_begin): Set it.
5523 (s_mipsset): Add support for .set mipN to set the ISA level.
5524
5525 * gasp.c (kinfo): Fully bracket initializer.
5526
5527 Tue Feb 1 19:28:12 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5528
5529 * gasp.c (malloc): Don't declare, since host.h or system header
5530 files may declare it differently.
5531
5532 * config/atof-ieee.c (int_to_gen): Now static.
5533
5534 * config/ho-i386aix.h: Include sys/types.h and stdlib.h, not
5535 ho-sysv.h. Based loosely on a patch from Minh Tran-Le.
5536
5537 Tue Feb 1 10:50:17 1994 Steve Chamberlain (sac@jonny.cygnus.com)
5538
5539 * gasp.c: Include host.h.
5540
5541 Tue Feb 1 12:13:01 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5542
5543 * config/tc-mips.c (mips_ip): Make an unsupported instruction a
5544 warning, not an error.
5545
5546 * config/obj-coff.c (dot_text_symbol, dot_data_symbol,
5547 dot_bss_symbol): Don't define if BFD_ASSEMBLER.
5548 (obj_symbol_to_chars): bfd_coff_swap_aux_out now takes more
5549 arguments.
5550 (coff_line_base): Renamed from line_base. Changed all uses.
5551 (coff_add_linesym): Renamed from add_line_sym. Made non-static.
5552 Changed all uses.
5553 * config/obj-coff.h: If TC_PPC, include coff/rs6000.h.
5554 (S_SET_STORAGE_CLASS, S_GET_STORAGE_CLASS): Declare if
5555 BFD_ASSEMBLER.
5556 (coff_line_base): Declare.
5557 (coff_add_linesym): Declare if BFD_ASSEMBLER.
5558 * config/obj-coffbfd.c (symbol_to_chars): bfd_coff_swap_aux_out
5559 now takes more arguments.
5560
5561 Mon Jan 31 17:55:14 1994 Stan Shebs (shebs@andros.cygnus.com)
5562
5563 * as.c (statistics_flag): Renamed from quiet_flag.
5564 (main): Get statistics with --statistics instead of -noquiet.
5565
5566 Mon Jan 31 07:19:30 1994 Steve Chamberlain (sac@jonny.cygnus.com)
5567
5568 * Makefile.in: Support for Gnu ASsembler Preprocessor.
5569 * gasp.c: New file.
5570 * read.c (s_lcomm): Align lcomm data.
5571 * config/tc-z8k.c (tc_reloc_mangle): Don't allow subtraction
5572 from different sections.
5573
5574 Sun Jan 30 14:58:26 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5575
5576 * write.c (write_object_file): If tc_frob_file is defined, call it
5577 just before calling obj_frob_file.
5578 * config/tc-alpha.c (alpha_gp_value): Renamed from gp_value
5579 (references changed), and made non-static.
5580 (getExpression): Return void.
5581 (select_gp_value): Abort if gp_value is non-zero. Delete call to
5582 non-existent bfd_set_gp_value.
5583 (alpha_validate_fix): Function deleted.
5584 (alpha_frob_symbol): Function deleted.
5585 (alpha_local_label): Function deleted.
5586 (alpha_frob_file): Renamed from alpha_end.
5587 * config/tc-alpha.h (alpha_frob_symbol, alpha_validate_fix,
5588 alpha_local_label, alpha_end): Declarations deleted.
5589 (alpha_gp_value, alpha_frob_file): Declare.
5590 (tc_frob_symbol, TC_VALIDATE_FIX, md_end): Macros deleted.
5591 (LOCAL_LABEL): Move code here from tc-alpha.c:alpha_local_label.
5592 (md_convert_frag): Simplified slightly.
5593 (tc_frob_file): New macro.
5594
5595 * read.c (do_align): New function, most of guts of s_align_*
5596 functions. Look for md_do_align macro, give it a chance to bypass
5597 all but recording of section alignment.
5598 (s_align_bytes, s_align_ptwo): Call do_align.
5599 (s_lcomm) [TC_ALPHA]: Align object to largest power of two that
5600 divides object size.
5601
5602 * frags.c (frag_align_pattern): New function.
5603 (frag_align): Rewrite for clarity.
5604
5605 * config/tc-vax.c (md_assemble): Handle O_constant expression.
5606 (vip_begin): Returns pointer to const char. Cast hash_insert arg
5607 to PTR to avoid compiler complaints about const.
5608 (md_begin): Local variable errtxt must point to const.
5609
5610 * configure.in: Handle host vax-*-ultrix* like vax-*-bsd*. Don't
5611 bother with *-*-ultrix or *-*-sysv*, except *-*-sysv, since only
5612 the last has an existing host support file. Do handle vax-bsd and
5613 vax-ultrix targets.
5614
5615 Fri Jan 28 11:26:40 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5616
5617 * config/obj-coff.c (obj_coff_section_header_append): Do not
5618 declare if BFD_ASSEMBLER.
5619 (stack_pop): Correct test for stack underflow.
5620 (obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size,
5621 obj_coff_scl, obj_coff_tag, obj_coff_type, obj_coff_val): Declare
5622 type of ignored argument to avoid gcc warning.
5623 (align): Removed unused function.
5624
5625 Thu Jan 27 18:14:19 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5626
5627 * config/tc-alpha.c, config/tc-alpha.h, config/alpha-opcode.h: New
5628 files, based on port of gas-1.38 contributed by CMU, using a.out
5629 variant. Updated for gas-2.x and ECOFF. Floating-point constants
5630 are still broken, bootstrap testing incomplete.
5631
5632 * literal.c: Comment changes.
5633
5634 * listing.c (listing_source_file): Check for null listing_tail
5635 before indirecting through it.
5636
5637 * expr.h (struct expressionS): Added struct tag.
5638
5639 * as.h: If __GNUC__ and inline are both undefined, define inline
5640 away.
5641
5642 * write.c (cvt_frag_to_fill): Don't assume that fr_var for
5643 rs_align or rs_org frags will be 1.
5644 (relax_segment): For rs_align, if fr_var is not 1, complain if
5645 required padding is not a multiple of the size of the pad pattern.
5646 (fixup_segment): Leave gp-relative relocations alone. For pcrel
5647 relocations referring to the same segment, clear fx_pcrel when
5648 clearing fx_addsy.
5649 * as.h: Adjust comments on rs_align.
5650
5651 * atof-generic.c: Some reformatting.
5652 (atof_generic): Be careful when mixing signed/unsigned values of
5653 different sizes.
5654
5655 * write.c, config/obj-{aout,bout,coff*}.c, config/tc-sparc.c:
5656 Query the fx_done field instead of fx_addsy to see if the fixup
5657 still needs to be applied. Set fx_done and clear fx_addsy both,
5658 for now. If TC_HANDLES_FX_DONE isn't defined, assume md_apply_fix
5659 will only clear fx_addsy, and set fx_done accordingly after
5660 returning.
5661 * config/tc-sparc.h (TC_HANDLES_FX_DONE): Define.
5662 * config/tc-sparc.c (md_apply_fix): Set fx_done for non-pcrel fix
5663 with no fx_addsy.
5664
5665 * symbols.c (dot_text_symbol, dot_data_symbol, dot_bss_symbol):
5666 Deleted.
5667 (symbol_begin): Moved to end of file, so function inlining can
5668 work better.
5669 (fb_label_count, fb_label_max): Default C static initializers are
5670 sufficient.
5671 * symbols.h (dot_text_symbol, dot_data_symbol, dot_bss_symbol):
5672 Declarations deleted.
5673 * config/obj-coff.c (dot_text_symbol, dot_data_symbol,
5674 dot_bss_symbol): Defined here, static.
5675
5676 * config/obj-aout.c [BFD_ASSEMBLER]: Undef NO_RELOC before
5677 including aout/aout64.h.
5678
5679 * write.c (write_object_file): If EMIT_SECTION_SYMBOLS is false,
5680 don't write out a section symbol even if it's used in a
5681 relocation; assume relocations will handle section numbers
5682 somehow. Rename "punt_it" label to "punt_it_if_unused" to reflect
5683 it's true use.
5684 (EMIT_SECTION_SYMBOLS): Default to 1.
5685 (adjust_reloc_syms): Don't create a new symbol for an absolute
5686 reference; just use the absolute section symbol.
5687 (write_relocs): Make printout of reloc values dependent on flag
5688 DEBUG3, not DEBUG2.
5689 * config/obj-aout.h (EMIT_SECTION_SYMBOLS): Define as 0.
5690 * config/obj-ecoff.h (EMIT_SECTION_SYMBOLS): Ditto.
5691
5692 Thu Jan 27 16:43:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5693
5694 * read.c (lex_type): No longer make '{' a valid character for
5695 symbol names.
5696
5697 * as.c (main): Print long values using %ld.
5698
5699 * messages.c (as_warn_internal): New static function.
5700 (as_warn, 3 versions): Use as_warn_internal.
5701 (as_warn_where, 3 versions): New function.
5702 * as.h (as_warn_where): Declare.
5703
5704 Tue Jan 25 18:30:34 1994 Stan Shebs (shebs@andros.cygnus.com)
5705
5706 * as.c (quiet_flag): New flag.
5707 (main): If -noquiet given, display execution time and memory used.
5708
5709 Tue Jan 25 15:53:11 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5710
5711 * doc/{all.texi,as.texinfo}: Add documentation for HPPA port.
5712
5713 Mon Jan 24 19:18:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5714
5715 * ecoff.c (ecoff_frob_symbol): New function. Put undefined
5716 symbols of known size in the undefined section. Put small common
5717 symbols in a .scommon section.
5718 * ecoff.h (ecoff_frob_symbol): Declare.
5719 * config/obj-ecoff.h (obj_frob_symbol): Define.
5720 * config/obj-elf.c (obj_elf_write_symbol_p, obj_elf_write_symbol,
5721 obj_elf_frob_symbol): Removed unused functions.
5722 * config/obj-elf.h (obj_frob_symbol, obj_write_symbol): Removed
5723 unused macros.
5724 (obj_elf_frob_symbol, obj_elf_write_symbol): Removed declarations
5725 of unused functions.
5726 (obj_frob_symbol): Define if ECOFF_DEBUGGING.
5727
5728 * tc-mips.c (g_switch_seen): New static variable.
5729 (md_parse_option): Set g_switch_seen for -G option.
5730 (s_option): If creating PIC code, force the GP size to be 0. Warn
5731 if -G switch used with a non-zero value.
5732
5733 * symbols.c (S_IS_COMMON): Use bfd_is_com_section rather than
5734 comparing against bfd_com_section.
5735
5736 Mon Jan 24 14:12:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5737
5738 * read.c (s_lcomm): Treat Alpha like MIPS in handling of .sbss
5739 section.
5740
5741 Thu Jan 20 13:17:58 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5742
5743 * expr.c (operand): For floating point operand with unusual fp
5744 char from FLT_CHARS, preserve the character. Patch from Lisa
5745 Repka.
5746
5747 Wed Jan 19 23:15:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5748
5749 * config/tc-mips.c (md_pseudo_table): Add all data allocation
5750 pseudo-ops: .hword, .int, .long, .octa, .quad, .short, .single.
5751
5752 Tue Jan 18 15:51:59 1994 Steve Chamberlain (sac@jonny.cygnus.com)
5753
5754 * config/obj-coffbfd.c (obj_coff_endef): For C_EFCN, C_BLOCK and
5755 C_FCN assume .val has been set to .
5756
5757 Tue Jan 18 16:19:58 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5758
5759 * config/tc-hppa.c: Disable multiple $CODE$ subspace code. It
5760 confuses GDB for some unknown reason.
5761 * cofnig/obj-som.c: Likewise.
5762
5763 Tue Jan 18 19:05:32 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5764
5765 * literal.c (add_to_literal_pool): Handle duplicates of values
5766 already written to literal pool.
5767
5768 Tue Jan 18 17:23:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5769
5770 * config/obj-aout.c (obj_aout_frob_symbol): Try to get symbols
5771 with explicitly marked stabs through BFD: if a symbol marked
5772 N_UNDF | N_EXT is in the absolute section, move it to the
5773 undefined section; move a symbol marked N_INDR into
5774 bfd_ind_section and set the BSF_INDIRECT flag; set the
5775 BSF_WARNING flag for a symbol makred N_WARNING.
5776
5777 Mon Jan 17 15:40:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5778
5779 * ecoff.h (ecoff_set_gp_prolog_size): Declare.
5780 * ecoff.c (ecoff_set_gp_prolog_size): Return type is void.
5781
5782 Mon Jan 17 00:18:55 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5783
5784 * config/tc-hppa.c (pa_ip): Explicitly check for comma before 'u'
5785 and 'f' template operand.
5786
5787 * config/tc-hppa.c (pa_ip): Handle 'N', 'O', 'o', '0', '1', 'u',
5788 and '2' in copr and sfu instruction templates.
5789
5790 Sun Jan 16 16:44:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5791
5792 * as.h (subseg_force_new): Add prototype.
5793
5794 Sat Jan 15 09:20:55 1994 Doug Evans (dje@canuck.cygnus.com)
5795
5796 * app.c (do_scrub_next_char): Allow lines like " foolab :".
5797
5798 * read.c (emit_expr): Fix computation of mask.
5799 * config/obj-elf.c (obj_elf_section): Fix loop termination test.
5800
5801 Thu Jan 13 16:15:15 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5802
5803 * ecoff.c (ecoff_set_gp_prolog_size): New function.
5804 (current_file_idx): New static variable.
5805 (add_file): Use and increment current_file_idx instead of indx
5806 parameter.
5807
5808 * struc-symbol.h (struct symbol): Make all bitfields unsigned.
5809
5810 * config/tc-i960.c (i960_validate_fix): Added argument
5811 add_symbolPP. Indirect through it to get "add_symbolP".
5812 * config/tc-i960.h (i960_validate_fix): Supply prototype.
5813 (TC_VALIDATE_FIX): Pass address of add_symbolP.
5814
5815 * configure.in (i386-*-netbsd*): New target, using te-netbsd.h.
5816 (i386-*-netbsd0.8): New target, like 386bsd.
5817
5818 * configure.in: Set BFDDEF in Makefile to "define" or "undef".
5819 * Makefile.in (config.h): Protect against multiple inclusions.
5820 Define or undef BFD_ASSEMBLER as specified by $(BFDDEF).
5821 (ALL_CFLAGS): Omit $(BFDDEF).
5822 * as.h: Include config.h.
5823 (struct symbol): Added forward declaration.
5824 (add_to_literal_pool): Fix declaration.
5825 * as.c: Don't include config.h.
5826
5827 * literal.c (add_to_literal_pool): Take symbol and addend as
5828 arguments, instead of expression, for now. Fix calculation of
5829 offset to return.
5830
5831 * subsegs.h (segment_info_type) [NEED_LITERAL_POOL]: Add field
5832 literal_pool_size.
5833
5834 Thu Jan 13 12:14:21 1994 Jeffrey A. Law (law@snake.cs.utah.edu
5835
5836 * subsegs.c (subseg_get): Accept new argument "force_new". If
5837 set then a new segment is always created. All callers changed.
5838 (subseg_force_new): New function. Similar to subseg_new, but
5839 always force a new segment to be created.
5840
5841 * config/obj-som.c (som_frob_file): Call adjust_code_sections
5842 for each section.
5843 (adjust_code_sections): New function. Adjusts the VMA for all the
5844 $CODE$ subspaces.
5845
5846 * config/tc-hppa.c (md_assemble): Also handle creating a fixup
5847 for the unwind descriptors if a function's label follows the
5848 .PROC and .ENTRY directives.
5849 (pa_entry): Don't set BSF_FUNCTION for the label symbol here; it
5850 is done elsewhere. Don't create a fixup for the unwind
5851 descriptors if the function's label has not been defined yet.
5852 (pa_proc): For SOM, place each procedure within a new $CODE$
5853 subspace. Adjust the segment and frag for the associated
5854 function label if it exists.
5855
5856 Wed Jan 12 22:05:33 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5857
5858 * config/tc-hppa.c (hppa_fix_struct): Add new "segment" field.
5859 (hppa_fix_new): Initialize segment field.
5860 (md_apply_fix): Do nothing for pc-relative fixup which involves
5861 crossing a segment boundary.
5862 (pa_procend): Undefine the current label after handling .PROC
5863 and .PROCEND directives.
5864 (dummy_symbol): Make type "symbolS *". Change references as
5865 appropriate.
5866
5867 Wed Jan 12 13:29:31 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5868
5869 * read.c (read_a_source_file): Cast array argument to unsigned
5870 char.
5871 * write.c (adjust_reloc_syms): Remove unused variable symseginfo.
5872 (write_object_file): Don't define punt_it if it won't be used.
5873 (fixup_segment): Don't define skip if it won't be used.
5874
5875 * config/tc-mips.h (TARGET_FORMAT): Define as mips_target_format.
5876 (mips_target_format): Declare.
5877 * config/tc-mips.c (mips_target_format): Define with appropriate
5878 default definition.
5879 (md_parse_option): If -EL or -EB is used, change byte_order and
5880 mips_target_format as appropriate.
5881
5882 Tue Jan 11 21:52:36 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5883
5884 * app.c (do_scrub_next_char): Another attempt to fix bugs
5885 dealing with labels without colons (for HPPA and MRI).
5886
5887 Tue Jan 11 17:01:06 1994 Doug Evans (dje@canuck.cygnus.com)
5888
5889 * config/tc-sparc.c (sparc_ip): Truncate args to %hi/%lo to 32 bits.
5890
5891 * expr.c (integer_constant): Fix computation of too_many_digits.
5892 Variable digit_2 renamed to start. Fix check for whether number
5893 will fit in 32 bits.
5894 * read.c (emit_expr): Use valueT instead of long.
5895
5896 Tue Jan 11 13:01:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5897
5898 * config/obj-elf.c: If TC_MIPS, include elf/mips.h.
5899 (special_sections): Define.
5900 (obj_elf_special_section): Get default types and attributes from
5901 list of special sections.
5902 * config/tc-mips.c (ELF_TC_SPECIAL_SECTIONS): Define.
5903
5904 * config/obj-ecoff.c (ecoff_frob_file): Force .sdata and .sbss
5905 sections to be close together.
5906
5907 * config/tc-mips.c (macro): Corrected $at warnings in a couple of
5908 spots.
5909
5910 * listing.c (listing_prev_line): New function.
5911 * listing.c: Include subsegs.h.
5912 (listing_prev_line): New function.
5913 (calc_hex): Reset byte_in_frag to zero for each new frag.
5914 * config/tc-mips.c (append_insn): Call listing_prev_line after
5915 emitting nop instructions.
5916 * Makefile.in (listing.o): Depends upon subsegs.h.
5917
5918 Mon Jan 10 09:52:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5919
5920 * config/tc-hppa.c (pa_ip): Put check for missing label on .PROC
5921 here. Handle case where label may be defined after the .PROC.
5922 (pa_proc): It is not an error if the procedure's label isn't
5923 defined before the .PROC directive.
5924
5925 Sun Jan 9 04:43:30 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
5926
5927 * config/te-netbsd.h: New file.
5928 * config/tc-i386.h (TARGET_FORMAT) [TE_NetBSD]: Use bfd target
5929 a.out-netbsd-386 for this configuration.
5930
5931 Fri Jan 7 17:38:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5932
5933 * ecoff.c (ecoff_stab): Don't clobber the ECOFF symbol information
5934 with the associated stabs information.
5935 (ecoff_build_symbols): Never set the type of stabs symbols to
5936 st_Global. Don't update the symbol index or ifd if the gas symbol
5937 is not the same as the ECOFF symbol (which is now the case for
5938 stabs symbols).
5939
5940 Fri Jan 7 11:14:07 1994 Stan Shebs (shebs@andros.cygnus.com)
5941
5942 * config/tc-mips.c (macro): Add a LOSING_COMPILER ifdef that
5943 splits the function.
5944 (macro2): New function, if LOSING_COMPILER defined.
5945
5946 Fri Jan 7 09:38:25 1994 Steve Chamberlain (sac@cygnus.com)
5947
5948 * config/obj-coffbfd.c (fill_section): Don't ever fill past the
5949 end of a section. (write_object_file): Temporary fix - setup
5950 stdoutput.
5951
5952 Thu Jan 6 18:05:21 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5953
5954 * config/tc-sparc.c (tc_gen_reloc): Fix handling of addends in
5955 non-pcrel_offset relocations.
5956
5957 Thu Jan 6 01:06:40 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5958
5959 * config/tc-mips.c (mips_ip): Warn about using $1 as well as $at
5960 without .set noat.
5961
5962 Wed Jan 5 14:22:22 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5963
5964 * literal.c: New file.
5965 * Makefile.in (REAL_SOURCES, OBJS): List it.
5966
5967 * as.h (DEBUG): Don't define.
5968 (struct expressionS, struct fix): Declare in case they're used in
5969 prototypes.
5970 (add_to_literal_pool) [BFD_ASSEMBLER]: Declare.
5971
5972 * config/tc-mips.h (TARGET_FORMAT) [OBJ_AOUT]: Fix for new names
5973 in bfd.
5974
5975 * subsegs.c (subseg_get): New function. Creates segment if
5976 needed, returns pointer, but doesn't change current segment.
5977 (subseg_new): Use it.
5978
5979 Tue Jan 4 15:12:43 1994 Stan Shebs (shebs@andros.cygnus.com)
5980
5981 * Makefile.in (INCLUDES): Add $(srcdir)/.. to places to search.
5982 * config/obj-ecoff.c: Include files as "bfd/" instead of "../bfd/".
5983 * app.c, flonum.h, hex-value.c (const): Change #if to be more
5984 portable.
5985
5986 Tue Jan 4 22:11:34 1994 Rob Savoye (rob@darkstar.cygnus.com)
5987
5988 * config/ho-vsta.h, configure.in, .Sanitize: Add support for VSTa
5989 micro-kernel.
5990
5991 Thu Dec 30 15:27:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5992
5993 * write.c (write_relocs): bfd_perform_relocation now takes an
5994 additional argument, to return an error string (which we ignore).
5995
5996 Wed Dec 29 14:37:26 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
5997
5998 * write.h (struct fix): Field tc_fix_data should be type PTR, not
5999 void*, for compatibility with non-ANSI compilers. Added
6000 single-bit field "fx_done".
6001
6002 Sun Dec 26 14:31:47 1993 Torbjorn Granlund (tege@adder.cygnus.com)
6003
6004 * tc-hppa.c (pre_defined_registers): Convert to lower case.
6005 Delete spurious register names "%r4L", etc.
6006 (selector_table): Sort and convert to lower case.
6007 (cons_fix_new_hppa): `reloc_type' => `rel_type'.
6008 (pa_ip): Always use strcmp for non-text and strcasecmp for text.
6009 (reg_name_search): Rewrite to call strcasecmp only once per
6010 iteration.
6011 (pa_chk_field_selector): Rewrite to use binary search.
6012 (pa_parse_neg_add_cmpltr): Use strcasecmp for completer comparisons.
6013 (pa_parse_space_stmt): $TEXT$ and $PRIVATE$ are symbols; use case
6014 sensitive comparisons.
6015 (pa_parse_space_stmt): Canonicalize strncasecmp arg to lower case.
6016 (pa_space): "$text$" => "$TEXT$"; "$private$" => "$PRIVATE$". Use
6017 case sensitive comparison for all symbolic names.
6018 (pa_subspace): Canonicalize strncasecmp arg to lower case.
6019 (pa_subspace_start): Use case sensitive comparison for symbolic names.
6020
6021 Mon Dec 20 10:37:48 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
6022
6023 * write.c (adjust_reloc_syms) [RELOC_REQUIRES_SYMBOL]: If no
6024 symbol is present (i.e., relocation against absolute), create a
6025 phony local symbol, and use it in the reloc.
6026 (fixup_segment): When adjusting a reloc with an absolute symbol,
6027 have TC_FORCE_RELOCATION control clearing add_symbolP too.
6028 * config/tc-sparc.h (RELOC_REQUIRES_SYMBOL): Define, for OBJ_COFF.
6029
6030 * symbols.c (S_IS_EXTERNAL, S_IS_LOCAL): Don't use both BSF_EXPORT
6031 and BSF_GLOBAL, since they're the same.
6032
6033 * as.c (main): Only invoke md_end if it's defined as a macro.
6034 * tc.h (md_end): Don't declare it.
6035 * config/tc-*.[ch] (md_end): Deleted, in cases where it doesn't do
6036 anything.
6037 * config/tc-vax.c (vip_end): Deleted null function.
6038 * config/tc-mips.c (md_mips_end): Renamed from md_end.
6039 * config/tc-mips.h (md_mips_end): Declare.
6040 (md_end): New macro, calls md_mips_end.
6041
6042 * write.c (write_object_file): Don't close output file.
6043 * as.c (main): Close output file (if needed) after calling
6044 listing_print, which should be after calling write_object_file,
6045 which sets the frag addresses.
6046
6047 * config/obj-coff.c (obj_coff_dim, obj_coff_endef, obj_coff_line,
6048 obj_coff_scl, obj_coff_size, obj_coff_tag, obj_coff_type,
6049 obj_coff_val): Add unused int argument to satisfy prototypes; goes
6050 with Ian's 10 Sep changes.
6051 (S_GET_DATA_TYPE, S_SET_DATA_TYPE, S_GET_STORAGE_CLASS,
6052 S_SET_STORAGE_CLASS): Now function instead of macros.
6053 (obj_emit_lineno) [BFD_ASSEMBLER]: Deleted.
6054 (tag_insert): Local var ERROR_STRING is const. Use "const" not
6055 "CONST" for argument NAME. Fixed prototype.
6056 (coff_frob_symbol): Removed explicit "#if 1" directive. If
6057 S_IS_EXTERNAL, set storage class to C_EXT.
6058 (s_get_name): Use "const" not "CONST".
6059 * config/obj-coff.h (S_GET_DATA_TYPE, S_SET_DATA_TYPE,
6060 S_GET_STORAGE_CLASS, S_SET_STORAGE_CLASS): Deleted.
6061 (obj_emit_lineno): Declare only for non-BFD_ASSEMBLER. For
6062 BFD_ASSEMBLER, define as macro that aborts.
6063 (obj_extra_stuff, tc_headers_hook): Declare only for
6064 non-BFD_ASSEMBLER.
6065 (coff_frob_symbol): Fix prototype.
6066
6067 Sun Dec 19 00:37:20 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6068
6069 * config/tc-sparc.c (tc_gen_reloc): Test of pcrel_offset had sense
6070 reversed.
6071
6072 Thu Dec 16 21:13:11 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6073
6074 * config/tc-hppa.c (md_begin): Initialize "dummy_label".
6075 (tc_gen_reloc, SOM version): For relocations which have no symbol,
6076 set sym_ptr_ptr to dummy_label. Avoids lossage in generic BFD code.
6077
6078 Thu Dec 16 16:07:56 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
6079
6080 * read.c (lex_type): No longer make '[' a valid character for
6081 symbol names.
6082
6083 * config/tc-vax.c (tc_aout_fix_to_chars): Local variable
6084 NBYTES_R_LENGTH now const.
6085
6086 * config/obj-*.c, config/tc-*.c: Omit superfluous "return"
6087 statements at ends of functions. Don't check for null return from
6088 hash_new, since it won't return at all if there's no memory
6089 available. Also, check for null return from hash_insert, rather
6090 than zero-length string, as success indicator.
6091
6092 * subsegs.c (section_symbol): New function.
6093 * subsegs.h (section_symbol): Declare.
6094 * write.c (adjust_reloc_syms): Use it.
6095
6096 Wed Dec 15 15:39:53 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
6097
6098 * Makefile.in (RUNTEST): New variable.
6099 (CHECKFLAGS): Pass it down.
6100
6101 * ecoff.c (ecoff_directive_frame): Permit extra trailing operands;
6102 unused for now, but supplied by Alpha OSF1 compiler.
6103
6104 * as.h: Protect against multiple inclusions.
6105 (int_to_gen): Don't declare.
6106
6107 * config/atof-vax.c (atof_vax): NULL is not a valid character
6108 constant.
6109
6110 Tue Dec 14 21:38:25 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6111
6112 * configure.in (hppa*-*-osf*): Do not consider this a developmental
6113 configuration.
6114
6115 * config/tc-hppa.c (md_apply_fix): Handle cases where no
6116 relocation will be emitted for 32bit formats.
6117
6118 Mon Dec 13 23:33:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6119
6120 * config/tc-hppa.c (md_apply_fix): Do not call hppa_field_adjust
6121 for any of the 'T' field selectors.
6122
6123 Sat Dec 11 11:23:12 1993 Steve Chamberlain (sac@thepub.cygnus.com)
6124
6125 * config/tc-h8500.c (build_bytes): Get reloc type right for a
6126 %page operation. (md_assemble): Don't modify input_line_pointer.
6127 (mdcoff_sizemachdep): New function.
6128 * config/tc-h8500.h (TC_COFF_SIZEMACHDEP): New macro.
6129 * config/tc-z8k.c (get_operand): Delete bogus check.
6130
6131 Wed Dec 8 16:31:51 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
6132
6133 * write.c (number_to_chars_*): Delete bogus range check.
6134
6135 * output-file.c (TARGET_ARCH): No default.
6136
6137 Tue Dec 7 16:02:53 1993 Steve Chamberlain (sac@jonny.cygnus.com)
6138
6139 * config/tc-sh.c (md_convert_frag): Truncate disps before calling
6140 md_number_to_chars. (md_assemble): Don't modify
6141 input_line_pointer.
6142
6143 Mon Dec 6 11:49:03 1993 Doug Evans (dje@canuck.cygnus.com)
6144
6145 * config/tc-h8300.c (md_assemble): Don't update input_line_pointer.
6146
6147 Mon Dec 6 11:20:02 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6148
6149 * config/obj-som.[ch] (obj_read_begin_hook): Remove last change.
6150 Breaks with the HP compilers.
6151
6152 * config/tc-hppa.c (struct call_info): Remove fields which were
6153 set but never used. Remove all code which sets those fields.
6154 (struct subspace_dictionary_chain): Likewise.
6155 (struct space_dictionary_chain): Likewise.
6156 (pa_desc): Delete useless function. Delete all references.
6157 (hppa_tc_make_sections): No need to count the number of symbols for
6158 the symbol extension section.
6159
6160 Sun Dec 5 17:05:29 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6161
6162 * config/obj-som.c (obj_som_version): Pass version string to
6163 SOM BFD backend.
6164 (obj_som_copyright): New function. Much like obj_som_version.
6165
6166 * config/tc-hppa.c (obj_copyright): Define as appropriate for
6167 SOM and ELF.
6168 (pa_copyright): Just a stub now.
6169
6170 * config/obj-som.c (obj_read_begin_hook): Delete unused function.
6171 * config/obj-som.h (obj_read_begin_hook): Provide dummy definition.
6172 (TARGET_SYMBOL_FIELDS): Delete. SOM isn't making use of them.
6173
6174 * config/tc-hppa.c (tc_gen_reloc, SOM version): Handle relocation
6175 expansion due to rounding mode selectors. Handle R_[RDSN]_MODE
6176 relocations for selecting the current rounding mode.
6177
6178 * config/tc-hppa.c (evaluate_absolute): Support e_rrsel and
6179 e_rlsel field selectors.
6180
6181 Fri Dec 3 18:33:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6182
6183 * config/obj-elf.h: If ECOFF_DEBUGGING, undef
6184 SEPARATE_STAB_SECTIONS and INIT_STAB_SECTION, and define
6185 OBJ_PROCESS_STAB to call ecoff_stab.
6186 * config/obj-elf.c: Don't compile obj_elf_init_stab_section if
6187 INIT_STAB_SECTION is not defined.
6188
6189 Fri Dec 3 10:56:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6190
6191 * config/tc-hppa.c (md_apply_fix): Delete old wrapper function.
6192 (md_apply_fix_1): Rename to md_apply_fix. Fix argument decls.
6193 Fix comments in various places. Always return a value.
6194 Avoid dereferencing a NULL fx_addsy.
6195 (hppa_force_relocation): Avoid dereferencing a NULL fx_addsy.
6196
6197 Fri Dec 3 09:47:30 1993 Pete Hoogenboom (hoogen@cs.utah.edu)
6198
6199 * tc-hppa.c: (tc_gen_reloc): Addend for a plabel relocation should
6200 be either 0 or 2 (no static link or static link required). Always
6201 assume no static link.
6202
6203 Thu Dec 2 11:52:21 1993 Ken Raeburn (raeburn@cygnus.com)
6204
6205 * config/tc-sparc.c (tc_gen_reloc): Make adjustment to addend be
6206 dependent on howto fields, not on format flavour.
6207
6208 * struc-symbol.h (struct symbol): New fields sy_obj and sy_tc,
6209 defined as types OBJ_SYMFIELD_TYPE and TC_SYMFIELD_TYPE, if those
6210 macros are defined.
6211 * config/obj-coff.h (TC_SYMFIELD_TYPE, OBJ_SYMFIELD_TYPE): Define.
6212 (TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): Don't define.
6213 (sy_tc, sy_obj): Define so that the fields look like they used to,
6214 until all references get changed.
6215
6216 * write.c (fixup_segment): Lots of variables no longer register.
6217 Reordered some code for easier reading.
6218 * config/obj-coff.c (obj_coff_dim): dim_index no longer register.
6219 Deleted superfluous return statement.
6220 (obj_coff_line, obj_coff_size, obj_coff_scl, obj_coff_type,
6221 obj_coff_val, tag_init, tag_insert): Deleted superfluous return
6222 statement.
6223 (align, obj_coff_section): Deleted debugging printfs.
6224 * config/tc-i386.c (md_assemble): Discard some register decls.
6225 Use assignment rather than memcpy to copy template.
6226 (op_hash, reg_hash, prefix_hash): Default C initialization of
6227 statics is sufficient.
6228 * config/tc-sparc.c (print_insn): Array Reloc is now const, and
6229 points to const.
6230
6231 * config/obj-coff.h (TARGET_FORMAT): Only use coff-sparc-lynx if
6232 TE_LYNX; use coff-sparc otherwise.
6233 [USE_NATIVE_HEADERS]: Delete this code; it isn't used.
6234
6235 * write.c (fixup_segment): Call TC_VALIDATE_FIX, if defined,
6236 before processing a fixup. Call TC_ADJUST_RELOC_COUNT just before
6237 returning. Remove some i960-coff-specific code.
6238 (TC_ADJUST_RELOC_COUNT): Default to doing nothing.
6239 * config/tc-i960.h (TC_ADJUST_RELOC_COUNT) [OBJ_COFF]: Define.
6240 (i960_validate_fix): Declare.
6241 (TC_VALIDATE_FIX): Define.
6242 * config/tc-i960.c (i960_validate_fix): New function.
6243
6244 * write.c (number_to_chars_littleendian): New function. Write out
6245 bytes in little endian order, doing size and range checking.
6246 (number_to_chars_bigendian): New function, similar.
6247 * write.h: Declare them.
6248 * config/tc-*.c (md_number_to_chars): Use them.
6249 * config/tc-vax.c (md_apply_fix): Ditto.
6250 * config/tc-i386.c (md_apply_fix): Ditto.
6251
6252 * config/obj-coff.c: Rearranged code for handling line number
6253 data.
6254 (line_fsym): Renamed from function_lineoff in BFD_ASSEMBLER case,
6255 since the usage is different from non-BFD_ASSEMBLER case.
6256 (in_function, clear_function, set_function): New macros, to
6257 combine some of the functionality implemented in differnet ways in
6258 BFD_ASSEMBLER and non-... code. Used in other functions that used
6259 to check function_lineoff &c.
6260 (obj_emit_lineno): Split into two copies, one for BFD_ASSEMBLER,
6261 one for not. Non-BFD_ASSEMBLER version now has temporary variable
6262 to contain char* pointer pointed to by char** argument. Always
6263 follow CROSS_COMPILE code; easier to read that way.
6264 (obj_coff_ln): Don't call add_lineno or c_line_new if appline is
6265 set.
6266 (obj_coff_endef) [BFD_ASSEMBLER]: Don't do anything special for
6267 ".bf", it's been done elsewhere.
6268 (coff_frob_symbol): If ilne number data is pending, call
6269 add_linesym to flush it.
6270 (coff_frob_file): Don't do that here.
6271 * config/obj-coff.h (coff_frob_file): Declare.
6272 (obj_frob_file): Define, to call it.
6273
6274 * config/tc-sparc.h (md_create_short_jump, md_create_long_jump,
6275 md_estimate_size_before_relax: Define them as macros calling
6276 as_fatal.
6277 * config/tc-sparc.c: Don't define them as functions.
6278
6279 * configure.in: Handle target alpha-*-osf*. (No cpu files yet.)
6280
6281 Wed Dec 1 23:37:14 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6282
6283 * Makefile (clean): Depend on clean-here.
6284
6285 Wed Dec 1 11:35:21 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
6286
6287 * config/ho-go32.h: Include fopen-bin.h.
6288 * as.h: If FOPEN_WB isn't defined, include fopen-same.h.
6289 * output-file.c (output_file_create): Use FOPEN_WB instead of "w".
6290 * input-file.c (input_file_open): Use FOPEN_RT instead of "r".
6291 * listing.c (file_info): Use FOPEN_RB instead of "rb".
6292 * read.c (s_include): Use FOPEN_RT instead of "r".
6293
6294 * stabs.c: Include obstack.h.
6295
6296 * tc.h (md_create_long_jump): Don't declare if it's already
6297 defined as a macro.
6298 (md_create_short_jump, md_estimate_size_before_relax): Ditto.
6299
6300 * messages.c (as_perror) [BFD_ASSEMBLER]: Use bfd_errmsg instead
6301 of strerror. Clear bfd_error.
6302
6303 * config/te-lynx.h (LOCAL_LABELS_FB): Define, if not already
6304 defined.
6305
6306 Wed Dec 1 10:41:56 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6307
6308 * config/tc-hppa.c (hppa_elf_mark_end_of_function): New function.
6309 (pa_process_exit, pa_procend): Call it for ELF objects.
6310
6311 Wed Dec 1 12:10:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6312
6313 * config/tc-mips.c (macro): Subtract 8 from offset in non PIC l.d
6314 case. See comment. From wilson@cygnus.com: for M_L_DAB, set
6315 coproc before doing goto ld.
6316
6317 Tue Nov 30 13:40:30 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6318
6319 * write.c (TC_FORCE_RELOCATION): Provide a default definition.
6320 (fixup_segment): Allow the target machine to specify that a
6321 relocation must be generated for a particular fixup. Remove
6322 #ifndef TC_HPPA hack.
6323
6324 * config/tc-hppa.h (TC_FORCE_RELOCATION): Define.
6325
6326 * config/tc-hppa.c (md_apply_fix_1): Never change fx_addsy to
6327 be NULL. Only fixup_segment is supposed to do that.
6328 (hppa_force_relocation): New function.
6329
6330 Tue Nov 30 11:21:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6331
6332 * Makefile.in (stabs.o): Added dependencies.
6333
6334 * config/obj-ecoff.c (ecoff_frob_file): Don't call bfd_set_symtab.
6335
6336 Sun Nov 28 12:11:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6337
6338 * app.c (do_scrub_next_char): Output a TAB before any
6339 .app* directive.
6340
6341 * config/tc-hppa.c (fix_new_hppa): Make sure a sub_symbol
6342 exists before trying to peek at its name.
6343 (pa_space): Do not call pa_align_subseg. See hppa/unsorted/align3.s
6344 for testcase.
6345 (pa_align_subseg): Delete unused/unwanted function.
6346
6347 Sat Nov 27 22:49:07 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6348
6349 * read.c (read_a_source_file): Fix test for when to stick a colon
6350 on the end of a label. Make code conditional on either MRI or
6351 LABELS_WITHOUT_COLONS.
6352
6353 * app.c (do_scrub_next_char): If a line begins with whitespace, leave
6354 the single whitespace character alone. Eat all others.
6355
6356 * config/tc-hppa.h (LABELS_WITHOUT_COLONS): Define.
6357
6358 Wed Nov 24 01:22:54 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6359
6360 * config/tc-hppa.c (pa_procend): Do not call process_exit.
6361 (exit_processing_complete): Delete unwanted variable and all
6362 references.
6363
6364 Wed Nov 24 02:31:38 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6365
6366 * ecoff.c (ecoff_setup_ext): Renamed from ecoff_build_ext.
6367 Changed to not actually build the external symbol information, as
6368 that is now done by the ECOFF back end.
6369 (ecoff_build_debug): Changed accordingly.
6370 * ecoff.h (obj_ecoff_set_ext): Declare. obj-format.c function
6371 called by ecoff_setup_ext.
6372 * config/obj-ecoff.c (ecoff_frob_file): If debug_info count is 0,
6373 set corresponding pointer to NULL. Don't set raw_size and
6374 raw_syments.
6375 (obj_ecoff_set_sym_index): Removed.
6376 (obj_ecoff_set_ext): New function.
6377 * config/obj-ecoff.h (obj_set_sym_index): Don't define.
6378 (obj_ecoff_set_sym_index): Don't declare.
6379 * config/obj-elf.c (obj_ecoff_set_ext, elf_get_extr,
6380 elf_set_index): New functions used for ECOFF_DEBUGGING.
6381 (elf_frob_file): Reworked ECOFF debug generation to use
6382 new functions in bfd/ecofflink.c.
6383
6384 Sun Nov 21 23:54:52 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6385
6386 * config/tc-hppa.c (pa_def_subspaces): Only create the unwind
6387 subspace for ELF. In the SOM world, the linker is responsible
6388 for creating the unwind subspaces.
6389
6390 Fri Nov 19 16:25:09 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6391
6392 * config/obj-coffbfd.c: Use PARAMS rather than EXFUN.
6393 (yank_symbols): Don't call S_SET_EXTERNAL if the storage class is
6394 already set. Fixes .def var; .val external_var; .scl 3; .endef.
6395 (adjust_stab_section): Make static. Declare return type. Remove
6396 unused variables.
6397
6398 * config/tc-i386.h: Declare tc_coff_fix2rtype and
6399 tc_coff_sizemachdep.
6400
6401 Fri Nov 19 04:33:59 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6402
6403 * write.c (write_object_file): Disable obj_check_file_symbols
6404 hook; only back end using it wasn't using it correctly.
6405 (write_object_file): Always call obj_frob_symbol and
6406 tc_frob_symbol; always retain symbol if it's used by a relocation,
6407 regardless of what these routines indicate.
6408 * config/obj-coff.c (coff_frob_symbol): Renamed from
6409 coff_check_file_symbols.
6410 * config/obj-coff.h (obj_check_file_symbols): Deleted.
6411 (coff_frob_symbol): Declare.
6412 (obj_frob_symbol): Call it.
6413
6414 * config/obj-coff.c (obj_crawl_symbol_chain, obj_emit_strings,
6415 obj_pre_write_hook): Don't define for BFD_ASSEMBLER.
6416 (c_section_header): Ditto. Delete superfluous return at end of
6417 function.
6418
6419 * config/obj-coff.h [TC_SPARC]: Include coff/sparc.h, and specify
6420 coff-sparc-lynx.
6421 (SA_GET_SYM_TAGNDX): Use BFD_HEADERS version for BFD_ASSEMBLER
6422 too.
6423 (c_section_header): Rewrite prototype so that it contains no
6424 preprocessing directives. Don't declare it at all if
6425 BFD_ASSEMBLER.
6426
6427 * configure.in (sparc*-*-lynxos): New target, using coff and
6428 BFD_ASSEMBLER.
6429
6430 * stabs.c: New file.
6431 * Makefile.in (REAL_SOURCES, OBJS): List it.
6432 * read.c (STAB_SECTION_NAME, STAB_STRING_SECTION_NAME,
6433 get_stab_string_offset, s_stab_generic, s_stab, s_xstab, s_desc):
6434 Moved to new file.
6435
6436 * config/tc-sparc.c (tc_gen_reloc): Handle coff files like elf
6437 files.
6438
6439 Wed Nov 17 17:23:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6440
6441 * configure.in (mips-*-irix5*): New target. Use elf and mips-big.
6442 * config/obj-elf.c: If ECOFF_DEBUGGING, include ecoff.h.
6443 (obj_pseudo_table): If ECOFF_DEBUGGING, define ECOFF
6444 pseudo-ops.
6445 (obj_read_begin_hook): If ECOFF_DEBUGGING, call
6446 ecoff_read_begin_hook.
6447 (obj_symbol_new_hook): If ECOFF_DEBUGGING, call
6448 ecoff_symbol_new_hook.
6449 (obj_elf_init_stab_section): Cast alloca result.
6450 (elf_frob_file): If ECOFF_DEBUGGING, finish up ECOFF debugging
6451 information and write it out into .mdebug section.
6452 * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): New macro.
6453 (TARGET_SYMBOL_FIELDS): Use ELF_TARGET_SYMBOL_FIELDS.
6454 (ECOFF_DEBUGGING): Define if TC_MIPS.
6455 (TARGET_SYMBOL_FIELDS): If ECOFF_DEBUGGING, override to add
6456 fields required by ECOFF.
6457 * config/tc-mips.c: Check ECOFF_DEBUGGING rather than
6458 OBJ_ECOFF in many cases.
6459 (mips_any_noreorder): New variable.
6460 (mips_cprestore_offset): Initialize to -1.
6461 (mips_frame_reg): New variable.
6462 (RELAX_ENCODE, RELAX_OLD, RELAX_NEW, RELAX_RELOC1,
6463 RELAX_RELOC2, RELAX_RELOC3, RELAX_WARN): New macros.
6464 (md_pseudo_table): Handle "gpword" and "cpadd".
6465 (md_begin): Initialize ok to false. If OBJ_ELF, set alignment
6466 of text, data and bss sections to 4. Set alignment of
6467 .reginfo section to 2. If ECOFF_DEBUGGING, create .mdebug
6468 section.
6469 (ALIGN_ERR, ALIGN_ERR2): Removed unused and useless alignment
6470 check.
6471 (append_insn, macro_build, macro_build_lui): Take place
6472 argument. Changed all callers.
6473 (append_insn): If appending a nop, don't emit one.
6474 (macro_build): Changed assertion for 'i', 'j', 'o' case.
6475 (gp_reference): Removed.
6476 (load_address): New function.
6477 (macro): If mips_noreorder is used, set mips_any_noreorder.
6478 Extensive changes to handle GP and PIC symbols differently.
6479 Build both possible code choices using a variant frag, and
6480 make a final decision at the end of assembly when all
6481 information is known. Added PIC support for all symbol
6482 references.
6483 (mips_ip): Don't permit anything but a number after $ for a
6484 coprocessor register. Don't use .lit4 or .lit8 sections when
6485 generating PIC code. If OBJ_ELF, set alignment of .lit4 or
6486 .lit8 section to 4.
6487 (md_apply_fix): Accept and ignore GOT16 and GPREL32 relocs.
6488 (s_change_sec): Set alignment of ELF .rodata or .sdata section
6489 to 4.
6490 (s_mipsset): If .set noreorder, set mips_any_noreorder.
6491 (s_cpload): Ignore .cpload if not generating PIC code. Warn
6492 if .cpload is not in noreorder section.
6493 (s_cprestore): Ignore .cprestore if not generating PIC code.
6494 (s_gpword, s_cpadd): New functions.
6495 (tc_get_register): Added frame argument; if true, set
6496 mips_frame_reg to return value. Changed all callers.
6497 (md_estimate_size_before_relax): Don't error out, but instead
6498 determine how much a frag should grow.
6499 (tc_gen_reloc): Return multiple relocs if appropriate, as
6500 determined by md_estimate_size_before_relax.
6501 (md_convert_frag): New function.
6502 (mips_elf_final_processing): Set ELF header flags based on
6503 mips_any_noreorder and mips_pic.
6504 * config/tc-mips.h (RELOC_EXPANSION_POSSIBLE): Define.
6505 (MAX_RELOC_EXPANSION): Define to be 3.
6506 (md_relax_frag): Define to be 0.
6507 (md_convert_frag): Don't define.
6508 (tc_get_register): Changed declaration.
6509
6510 * ecoff.h, ecoff.c: New files pulled out of config/obj-ecoff.c to
6511 support generating ECOFF debugging information for MIPS ELF
6512 targets. Compiled only if ECOFF_DEBUGGING is defined. Changed
6513 handling of external symbols: it now always generates exactly
6514 those external symbols that are defined in the global symbol list.
6515 * Makefile.in (REAL_SOURCES): Added ecoff.c.
6516 (REAL_HEADERS): Added ecoff.h.
6517 (OBJS): Added ecoff.o.
6518 (ecoff.o): New target.
6519 * config/obj-ecoff.c: Almost entirely moved into ecoff.c.
6520 Remaining code mostly just calls ecoff.c code.
6521 * config/obj-ecoff.h: Define ECOFF_DEBUGGING.
6522 (TARGET_SYMBOL_FIELDS): Make ecoff_symbol a pointer to a
6523 struct localsym.
6524 (obj_read_begin_hook, obj_symbol_new_hook): Define to call
6525 functions in ecoff.c.
6526 (ecoff_stab): Don't declare (now declared in ecoff.h).
6527 (obj_set_sym_index): Define.
6528 (obj_ecoff_set_sym_index): Declare.
6529
6530 * frags.h (frag_grow): Declare.
6531 * frags.c (frag_grow): Made non-static.
6532
6533 * write.c (is_dnrange): Do not define if md_relax_frag is defined.
6534 (relax_segment): If md_relax_frag is defined, use it to handle a
6535 frag of type rs_machine_dependent rather than looking through
6536 md_relax_table.
6537
6538 * read.c (read_a_source_file): If we find a bad pseudo-op,
6539 do a continue to go on to the next line rather than a break.
6540 Removed duplicate bad pseudo-op code which was never executed.
6541
6542 * read.c (s_lcomm): Do not require a comma after the name.
6543
6544 * subsegs.h (segment_info_type): Changed hadone field to bitfield.
6545 Added bss bitfield.
6546 * as.c (perform_an_assembly_pass): Set bss flag for bss_section.
6547 * read.c (s_lcomm): Set bss flag for .sbss section if used.
6548 * write.c (relax_and_size_seg): Don't set SEC_HAS_CONTENTS for a
6549 bss section. Set SEC_RELOC if there are any relocations, even for
6550 a zero size section.
6551
6552 * write.c (write_relocs): In RELOC_EXPANSION_POSSIBLE case, base
6553 data offset on reloc[0]->address rather than reloc[j]->address, so
6554 that multiple relocs can affect different memory locations.
6555
6556 * write.c (chain_frchains_together, relax_and_size_seg,
6557 adjust_reloc_syms, write_relocs): Make third argument PTR, not
6558 char *, to match definition of bfd_map_over_sections.
6559
6560 * app.c (do_scrub_next_char): Don't interpret a comment character
6561 as starting a CPP line directive unless it is a '#' and is the
6562 very first characters on the line (i.e., do not permit leading
6563 whitespace).
6564
6565 * messages.c (identify): Make file argument non-const, to match
6566 callers.
6567
6568 Tue Nov 16 20:38:21 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6569
6570 * config/tc-hppa.c (pa_ip): Fix thinko in 21bit range check.
6571
6572 Sat Nov 13 18:22:48 1993 Steve Chamberlain (sac@jonny.cygnus.com)
6573
6574 * config/tc-sh.c (md_apply_fix): Cope with IMM16 type too.
6575 * config/tc-z8k.c (build_bytes, md_apply_fix): Understand nDISP7
6576 relocs.
6577
6578 Fri Nov 12 16:51:47 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6579
6580 * config/tc-hppa.[ch]: Fix assorted trivial indention problems.
6581 * config/obj-som.c (obj_som_version): Add missing ';'.
6582 (som_frob_file): Delete whitespace at EOL.
6583
6584 Fri Nov 12 15:26:21 1993 Ken Raeburn (raeburn@cygnus.com)
6585
6586 * Makefile.in (VERSION): Updated following 2.2 release.
6587
6588 Fri Nov 12 14:52:17 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6589
6590 * config/tc-hppa.c (hppa_fix_struct): Use a real type for the
6591 field selector, rather than an int. All uses of field selectors
6592 fixed.
6593 (tc_gen_reloc): For SOM PLABELs, always set addend to zero for now.
6594 (md_apply_fix_1): Do not call hppa_field_adjust for any PLABEL
6595 field.
6596
6597 Thu Nov 11 15:49:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6598
6599 * config/tc-hppa.c (pa_type_args): For .import statements,
6600 silently ignore attempt to change the symbol type for a function
6601 from ST_ENTRY to ST_CODE on .import.
6602
6603 Wed Nov 10 16:19:13 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6604
6605 * write.h (fixS): Rename fx_callj field to fx_tcbit.
6606 * write.c, config/obj-coff.c, config/obj-coffbfd.c,
6607 config/tc-i960.c: Corresponding changes.
6608
6609 Tue Nov 9 00:49:01 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6610
6611 * Makefile.in (distclean): Delete config-stamp and config.h
6612
6613 * config/tc-hppa.c (evaluate_absolute): Avoid relying on
6614 ANSI-C features.
6615
6616 * config/tc-hppa.c (pa_type_args): Renamed from pa_export_args.
6617 Accept new argument "is_export". All callers changed. When
6618 processing a .export directive for a function, do not allow
6619 the user to set the type to "CODE", instead warn and set the
6620 type to "ENTRY".
6621
6622 Mon Nov 8 12:05:07 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6623
6624 * config/tc-mips.c (mips_ip, printInsn): Handle 'k' (from Ted
6625 Lemon <mellon@pepper.ncd.com>).
6626 (mips_ip): Permit odd numbered floating point registers if -mips3.
6627 (macro): Use BFD_RELOC_MIPS_LITERAL relocation for M_LI_SS.
6628
6629 Mon Nov 8 07:45:01 1993 Doug Evans (dje@canuck.cygnus.com)
6630
6631 * configure.in: Remove h8300h, we have multilib now.
6632
6633 Mon Nov 8 06:09:18 1993 D. V. Henkel-Wallace (gumby@cirdan.cygnus.com)
6634
6635 * configure.in: Support generic netware as being ELF format.
6636 Recognise unixware if the user supplies it.
6637
6638 Sun Nov 7 01:02:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6639
6640 * First cut at cleaning up PA instruction parsing.
6641 * config/tc-hppa.c (pa_get_absolute_expression): Accept pointer to
6642 insn structure as an argument, and a pointer to a string. All
6643 callers changed. Always read any field selector here. Call
6644 evaluate absolute to get a return value.
6645 (evaluate_absolute): Addept pointer to insn structure as its
6646 argument. All callers changed.
6647 (INSERT_FIELD_AND_CONTINUE): New macro for inserting a bitfield
6648 into an instruction and continuing the main pa_ip loop.
6649 (CHECK_FIELD): New macro for simple range checking of fields.
6650 (pa_ip): Delete unused variables. Use INSERT_FIELD_AND_CONTINUE
6651 and CHECK_FIELD. All immediate fields now pass through
6652 pa_get_absolute_expression which will also handle field selectors.
6653 Delete dead code. Simplify.
6654 (md_apply_fix_1): Use CHECK_FIELD to verify any fixes that are
6655 applied are in range. Use bfd_put_32 rather than inserting each
6656 byte of the fixed instrution into the buffer ourselves.
6657
6658 * write.c (fixup_segment): Delete {SEG,GLOBAL}_DIFF_ALLOWED code,
6659 it was PA specific and is no longer needed (it's now handled
6660 within the PA backend).
6661 * config/tc-hppa.h (SEG_DIFF_ALLOWED): Delete definition.
6662 * config/tc-hppa.c (fix_new_hppa): If the subtract symbol for
6663 a fixup is $global$ change it to NULL as $global$ is really only
6664 needed long enough to determine the base type of relocation to use.
6665
6666 * config/tc-hppa.c (create_new_subspace): Initialize subspace_defined.
6667
6668 * config/tc-hppa.c (pa-ip, case 'z'): Make field selectors work
6669 for 'z' operands (target of ble branch).
6670
6671 Sat Nov 6 22:41:57 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6672
6673 * config/tc-hppa.c: (update_subspace): Fix type and name of last
6674 parameter. All callers fixed.
6675 (md_begin, pa_chk_field_selector, pa_entry): Lint.
6676
6677 * config/tc-hppa.c (cons_fix_new_hppa): Reset field selector
6678 to default state after it's been used.
6679
6680 Fri Nov 5 12:08:21 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6681
6682 * config/obj-som.c (obj_som_init_stab_section): Change
6683 space/subspace sort keys for the stab sections so as to avoid
6684 bugs in the hp linker and pxdb.
6685
6686 Thu Nov 4 17:00:05 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6687
6688 * write.c (chain_frchains_together): Update pointer to last
6689 frag for a segment in the seginfo structure.
6690
6691 Thu Nov 04 09:09:35 1993 Jeffrey Wheat (cassidy@cygnus.com)
6692
6693 * Makefile.in: Changed RUNTESTFLAGS to RUNTEST_FLAGS
6694
6695 Wed Nov 3 12:16:27 1993 Ken Raeburn (raeburn@rover.cygnus.com)
6696
6697 * write.c (fixup_segment): Handle conversion of subtraction to
6698 pc-relative addressing even if pc-relative flag is already set.
6699
6700 * config/tc-m68k.c (m68k_ip_op): Use strchr, not index. Don't
6701 declare either.
6702
6703 * doc/Makefile.in (distclean): Delete intermediate files from dvi
6704 build, but not the dvi or info files.
6705 * Makefile.in (clean-here): New target; cleans up current
6706 directory only.
6707 (distclean): Use it instead of clean.
6708
6709 * read.c (s_xstab): Don't use alloca.
6710
6711 * messages.c (identify): New routine; print message identifying
6712 following messages as coming from assembler.
6713 (as_show_where, as_bad_internal, as_bad_where): Call it.
6714 (as_fatal): Don't need to identify program any more.
6715
6716 Tue Nov 2 18:04:11 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6717
6718 * config/tc-sparc.c (sparc_ip): Add default case to reloc switch.
6719
6720 * read.c (s_lcomm): Put small objects in .sbss for MIPS ELF as
6721 well as MIPS ECOFF.
6722 (get_stab_string_offset): Remove unused variable aligned.
6723
6724 Tue Nov 2 15:07:07 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6725
6726 * tc-hppa.c: Add %dp and %rp as synonyms for %r27 and %r2 in the
6727 predefined register table.
6728 (pa_parse_number): Handle %rp in common register shortcut code.
6729 Consistently set return value to -1 for an error. Clean up error
6730 messages and only print them when "print_errors" is true. Handle
6731 empty string case like the HP assembler -- assume a value of
6732 zero.
6733
6734 * config/ho-hpux.h: Do not include ho-sysv.h. Instead include
6735 standard hpux include files to pick up various function decls.
6736
6737 * config/ho-hppaosf.h: Delete _IO* macros. They are defined in
6738 stdio.h. Delete bogus declaration of free. Get path to
6739 alloca-conf.h right.
6740
6741 Tue Nov 2 13:57:30 1993 Ken Raeburn (raeburn@rover.cygnus.com)
6742
6743 * expr.c (operand): Fix checks for characters following "0b" or
6744 "0f".
6745
6746 Mon Nov 1 21:37:04 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6747
6748 * config/obj-som.h (obj_attach_unwind_info): Define as a hook
6749 so GAS can attach unwind descriptor information to a BFD symbol.
6750 * config/tc-hppa.c (fix_new_hppa): If necessary attach unwind
6751 descriptor information to the BFD symbol.
6752 (md_apply_fix): R_HPPA_ENTRY and R_HPPA_EXIT can never be "applied",
6753 they are simply markers. Make R_HPPA_UNWIND_* handling OBJ_ELF
6754 dependent.
6755 (pa_build_unwind_subspace): Whole function is OBJ_ELF dependent.
6756 (pa_entry): Build a R_HPPA_ENTRY relocation when configured for SOM.
6757 (pa_exit): Likewise, but built a R_HPPA_EXIT relocation. Do not
6758 build "end-of-function" symbols for SOM, they are not needed.
6759
6760 * config/tc-hppa.c (process_exit): Create temporary symbols with
6761 correct prefixes so they can be eliminated later.
6762
6763 * config/tc-hppa.c (call_info struct): Delete unused "frame" field.
6764 (pa_callinfo): Insert framesize into the unwind information as
6765 soon as it's available.
6766 (pa_build_unwind_subspace): Do not insert framesize into the unwind
6767 information here.
6768
6769 * Add support for marker type relocations. These mark areas
6770 of interest to the linker. ENTRY/EXIT relocations for SOM are
6771 an example of marker relocations.
6772 * write.c (write_relocs): Instead of assuming size of a relocation
6773 is 4 bytes, pick up the size from relocation itself.
6774 (fixup_segment): Do not complain that a value is too small for
6775 marker relocations.
6776
6777 * struc-symbol.h: Add new "sy_used" field to the symbol structure.
6778 * expr.c (operand): Set sy_used for any symbol used as an operand.
6779 (expr): Likewise for any symbol used in an expression.
6780 * config/tc-hppa.h (tc_frob_symbol): Define. Punt imported
6781 symbols which are never used and absolute symbols which local scope.
6782
6783 * config/obj-som.h (obj_frob_file): Define.
6784 * config/obj-som.c (obj_som_init_stab_section): Set alignment
6785 of stab sections. Make space for the special stab entry.
6786 (adjust_stab_sections): Adjust the special entry in the
6787 stabs section.
6788 (som_frob_file): New function. Simply calls adjust_stab_sections
6789 for each section.
6790
6791 Mon Nov 1 17:54:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6792
6793 * config/tc-mips.c (PIC_CALL_REG, SP, FP): Define.
6794 (mips_pic, mips_cprestore_offset): New static variables.
6795 (md_pseudo_table): Handle .abicalls, .cpload, and .cprestore.
6796 Ignore .bgnb and .endb.
6797 (gp_reference): _gp_disp is never addressed off GP.
6798 (macro_build): Ignore macros while searching for insn. For cases
6799 i, j, and o, accept the reloc type as an argument rather than
6800 assuming BFD_RELOC_LO16. Don't try to convert BFD_RELOC_LO16 to
6801 BFD_RELOC_MIPS_GPREL. Added new case a.
6802 (set_at, load_register, macro): Changed calls to macro_build to
6803 pass new argument for i, j and o cases.
6804 (macro): Handle M_JAL_1, M_JAL_2 and M_JAL_A. These require
6805 special handling when generating SVR4 PIC code.
6806 (mips_ip, tc_get_register, s_frame): Use macros FP, SP, GP and AT
6807 rather than hard coded constants.
6808 (md_apply_fix): Handle BFD_RELOC_MIPS_LITERAL and
6809 BFD_RELOC_MIPS_CALL16.
6810 (s_option): Set mips_pic based on .option picN.
6811 (s_abicalls): New function; set mips_pic to 2.
6812 (s_cpload): New function; handle .cpload.
6813 (s_cprestore): New function; handle .cprestore.
6814
6815 * config/obj-ecoff.c (obj_pseudo_table): Add entries for .bgnb,
6816 .endb and .verstamp, setting them to s_ignore.
6817
6818 Sun Oct 31 00:36:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6819
6820 * config/tc-hppa.c (subspace_dictionary_chain): Add new ssd_defined
6821 field. Define SUBSPACE_DEFINED accessor macro.
6822 (pa_subspace): Allow user to override subspace attributes for
6823 built-in subspaces. Set ssd_defined at the end of fcn -- that
6824 way the attributes can only be changed once. Pass newly allocated
6825 name to is_defined_subspace, not a pointer to the input line.
6826 Fix typo in space/subspace rework.
6827 (is_defined_subspace): Delete unused 2nd arg. All callers changed.
6828
6829 * config/tc-hppa.c (pa_import): If currently in the text segment
6830 and a symbol is imported without type information, set BSF_FUNCTION
6831 for the symbol.
6832 * write.c (relax_and_size_seg): Correct test to determine if
6833 the section's size was rounded up.
6834
6835 * config/obj-som.h (obj_set_symbol_type): Define a hook so GAS
6836 can properly set all the SOM symbol types.
6837 * config/tc-hppa.c (pa_symbol_type): New enum to represent the
6838 symbol types which can be set from an IMPORT/EXPORT statement.
6839 (pa_export_args): Set the pa_symbol_type type based on arguments.
6840 If defined, call obj_set_symbol_type to pass this information on
6841 to the BFD backend.
6842
6843 * read.c (get_stab_string_offset): Set SEC_DEBUGGING for any
6844 stab section we make.
6845 (s_stab_generic): Likewise.
6846
6847 Sat Oct 30 14:26:20 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6848
6849 * Allow backends to override the value of the fake label.
6850 * write.h (LOCAL_LABEL): Delete DOT_LABEL_PREFIX code. Instead
6851 assume backends will define LOCAL_LABEL if anything other than
6852 'L' is used to denote a local label.
6853 (FAKE_LABEL_NAME): New macro. Defines the default name used for
6854 the "fake" label.
6855 * expr.c (make_expr_symbol): Delete DOT_LABEL_PREFIX code
6856 and instead simply use the string defined by FAKE_LABEL_NAME.
6857 (operand): Likewise.
6858 * read.c (s_stab_generic): Likewise.
6859 * config/tc-hppa.h (FAKE_LABEL_NAME): Define as L$0\001 so it's
6860 known to be a local label.
6861 * config/tc-i386.h (DOT_LABEL_PREFIX): Delete.
6862 (LOCAL_LABEL, FAKE_LABEL_NAME): Define.
6863 * config/tc-m68k.h (DOT_LABEL_PREFIX): Delete.
6864 (LOCAL_LABEL, FAKE_LABEL_NAME): Define.
6865 * config/te-sco386.h (DOT_LABEL_PREFIX): Delete.
6866 (LOCAL_LABEL, FAKE_LABEL_NAME): Define.
6867
6868 Rework space/subspace handling in PA code to fully support
6869 SOM spaces/subspaces.
6870 * config/tc-hppa.c (USE_ALIASES): New object-format dependent define
6871 to control the use of space/subspace name aliases.
6872 (update_subspace): Accept space chain entry for containing space
6873 as a new parameter. All callers changed.
6874 (pa_get_label): Use current_space rather than pa_segment_to_space.
6875 (pa_define_label): Likewise.
6876 (pa_undefine_label): Likewise.
6877 (md_begin): Change into the (possibly modified) text_section.
6878 (pa_parse_space_stmt): Create a new segment/space if create_flag
6879 is true, and the space name is not one of the two predefined spaces.
6880 (pa_subspace): Use current_space rather than a lookup via
6881 pa_segment_to_space. Reset BFD section flags as required by
6882 the .subspace directive. Likewise for the section alignment.
6883 Pass the current space to update_subspace and create_new_subspace.
6884 (pa_spaces_begin): Only use space/subspace aliases if USE_ALIASES
6885 is true. When not using aliases, create a BFD section for each
6886 subspace encountered. When not using aliases replace the default
6887 text, data, and bss segments with new ones.
6888 (create_new_subspace): When not using aliases each subspace has a
6889 section/segment and subsegments are not needed, so set the subsegment
6890 to zero.
6891
6892 * config/tc-hppa.c (pa_parse_space_stmt): If needed, call
6893 obj_set_section_attributes to pass space attributes to the
6894 BFD backend.
6895 (create_new_space): Likewise.
6896 (create_new_subspace): Likewise for subspace attributes using
6897 obj_set_subsection_attributes.
6898 (update_subspace): Likewise for subspace attributes using
6899 obj_set_subsection_attributes.
6900
6901 * config/tc-hppa.c (pa_parse_space_stmt): Get segment and sort key
6902 for $TEXT$ and $PRIVATE$ from the default space structure.
6903
6904 * config/tc-hppa.c (pa_export_args): Always set BSF_FUNCTION
6905 as appropriate for the given type.
6906
6907 * config/tc-hppa.c (tc_gen_reloc): Preliminary stab at handling
6908 SOM relocations.
6909
6910 * config/tc-hppa.c (pa_comm): Delete incorrect check for symbol
6911 redefinition.
6912
6913 * config/obj-som.[ch]: New files for SOM support. Note SOM
6914 support is not yet complete in GAS or BFD.
6915
6916 * config/ho-hppabsd.h: Delete IO* macros, they are defined in
6917 stdio.h. Delete declaration of free. Include stdlib.h, unistd.h,
6918 and string.h.
6919
6920 Fri Oct 29 13:26:12 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6921
6922 * Allow backends to override the section names used for embedded
6923 stabs support. Needed for SOM.
6924 * read.c (STAB_SECTION_NAME): Default the name of the stab section
6925 to ".stab".
6926 (STAB_STRING_SECTION_NAME): Likewise for the stab strings section.
6927 (get_stab_string_offset): Is now passed the full name for the
6928 stab string section rather than a name prefix. All references
6929 changed.
6930 (s_stab_generic): New argument for the stab string section name.
6931 all references changed.
6932 (s_xstab): Append "str" to the stab section name to get the
6933 stab string section name.
6934 * config/obj-coffbfd.c (obj_coff_init_stab_section): Append "str"
6935 to stab section name to get the stab string section name. Pass
6936 the full name of the stab string section to get_stab_string_offset.
6937 * config/obj-elf.c (obj_elf_init_stab_section): Likewise.
6938
6939 * config/tc-hppa.c (md_begin): Disable "-R" option to fold
6940 textand data segments. Warn user "-R" is unsupported on the
6941 PA.
6942
6943 Thu Oct 28 12:36:13 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6944
6945 * config/tc-hppa.c (md_pseudo_table): Default alignment is 8 for
6946 .align and .ALIGN directives.
6947
6948 * config/tc-hppa.c (pa_space): Do not report an error for a .space
6949 directive which does not define a "well-known" space and does
6950 not include a space number as an argument.
6951
6952 * config/tc-hppa.c (pa_def_subspaces): Correct initialization of the
6953 "defined", "loadable", "code_only" and "space_index" fields.
6954 (pa_def_spaces): Correct initialization of the "spnum", "defined",
6955 and "private" fields.
6956
6957 * write.h (struct fix): Add new tc_fix_data field for the various
6958 backends to attach machine dependent fixup information to.
6959 * write.c (fix_new_internal): Initialize new tc_fix_data field.
6960 * config/tc-hppa.c (hppa_fix_struct): Delete unnecessary fix_fixP and
6961 fx_next fields.
6962 (hppa_find_hppa_fix): Delete unnecessary function. Fix all
6963 callers to get HPPA fixup information from the tc_fix_data field
6964 in the GAS fixup.
6965 (hppa_fix_root): Delete unnecessary variable.
6966 (fix_new_hppa): Attach HPPA fixup data to the GAS fixup.
6967
6968 * config/tc-hppa.c (pa_set_start_symbol); Delete unwanted
6969 function. Fix all callers.
6970 (subspace_dictionary_chain): Delete unused ssd_start_sym field.
6971
6972 * config/tc-hppa.c (hppa_fix_adjustable): New function to determine
6973 if a particular fixup is adjustable.
6974 * config/tc-hppa.h (tc_fix_adjustable): Call hppa_fix_adjustable to
6975 perform the real work.
6976
6977 * config/tc-hppa.h (RELOC_EXPANSION_POSSIBLE): Move definition out
6978 of OBJ_XXX conditionals.
6979 (MAX_RELOC_EXPANSION): Likewise.
6980
6981 * config/tc-hppa.c (log2): Renamed from is_power_of_2. Fix all
6982 callers. Now returns log2 (N) for positive N which are an exact
6983 power of two or -1 for an error.
6984
6985 * config/tc-hppa.c (pa_callinfo): Range check values provided for
6986 ENTRY_GR, ENTRY_FR and ENTRY_SR. Properly adjust vaues before
6987 inserting them into the unwind table.
6988
6989 * config/tc-hppa.c (NEEDS_FIXUP): Delete definition and all references.
6990 (hppa_gen_reloc_type): New object format dependent macro.
6991 (pa_ip): Delete tons of code which was either OBJ_SOM or OBJ_ELF
6992 conditional. The code can (and will) be shared between SOM & ELF
6993 formats in the near future.
6994 (cons_fix_new_hppa, md_apply_fix_1): Likewise.
6995 (pa_build_unwind_subspace, process_exit, pa_exit): Likewise.
6996 (tc_gen_reloc): Use hppa_gen_reloc rather than an object format
6997 specific call.
6998
6999 * config/tc-hppa.c (pa_comm): Set the segment for a common symbol
7000 to bfd_und_section.
7001
7002 * config/obj-elf.h (obj_elf_version): Add extern prototype.
7003
7004 * configure.in (hppa-*-bsd*): New configuration.
7005 BFD is always used for GAS generating SOM objects.
7006
7007 * write.c (adjust_reloc_syms): Set sy_used_in_reloc if an
7008 adjustment is rejected by the target machine.
7009
7010 * config/tc-hppa.c (pa_big_cons): Delete function and its
7011 declaration. All callers changed to use pa_cons.
7012
7013 * write.c (fixup_segment): Fix indention and open/close brace
7014 problem.
7015
7016 From Pete Hoogenboom:
7017 * config/tc-hppa.c (md_atof): Return a NULL on success rather than
7018 an empty string.
7019
7020 * config/tc-hppa.c (pa_parse_space_stmt): Advance
7021 input_line_poitner when an invalid argument is encountered.
7022
7023 Thu Oct 28 13:09:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7024
7025 * config/tc-a29k.c (md_begin): When opcodes are mashed together in
7026 the table, require that the one without bit 0x1000000 set come
7027 first. Require further that it be case 'b' or 'P'. The a29k
7028 opcode table already meets these constraints.
7029 (machine_ip): When handling case 'i' or 'A', make sure that the
7030 appropriate opcode really exists by looking at the next entry in
7031 the opcode table.
7032
7033 Wed Oct 27 11:48:56 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7034
7035 * config/tc-m68k.c (m68k_ip): Adjust offsets for PC relative
7036 fixups. Add 6 for long 7.3 case, 2 for short 7.2 case.
7037
7038 * config/obj-ecoff.c (obj_ecoff_ent): Ignore an optional number
7039 after a .ent directive.
7040
7041 * config/tc-mips.c (mips_ip): Handle '>' case (shift amount
7042 between 32 and 63 for double shift instruction). Do & 0x1f rather
7043 than % 32.
7044 (printInsn): Handle '>'.
7045
7046 Tue Oct 26 16:58:36 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7047
7048 * config/tc-ns32k.c (tc_aout_fix_to_chars): Output the symbol
7049 number in the right place. Untested. Probably does not work for
7050 cross assembly. From cagney@cs.adelaide.edu.au (Andrew Cagney).
7051
7052 * config/tc-m68k.c (md_apply_fix_2): Error if a short branch uses
7053 an illegal offset of 0 or -1.
7054
7055 * config/obj-elf.c (obj_elf_init_stab_section): Align .stab
7056 section to a longword boundary.
7057
7058 Tue Oct 26 10:24:31 1993 Ken Raeburn (raeburn@cygnus.com)
7059
7060 * Makefile.in (CHECKFLAGS): Pass down RUNTESTFLAGS.
7061
7062 From Jeff Law:
7063 * config/tc-hppa.c (tc_gen_reloc): ELF32_HPPA_R_ADDEND ->
7064 HPPA_R_ADDEND.
7065
7066 Mon Oct 25 14:06:17 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7067
7068 * config/tc-sparc.c (sparc_ip): Fix up membar argument handling.
7069
7070 Mon Oct 25 11:17:58 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
7071
7072 * config/tc-sh.c (build_Mbytes): Write the relocs to the correct
7073 address. (md_assemble): Make error handling a bit more graceful.
7074 (md_apply_fix): Don't warn on non aligned displacement.
7075
7076 * config/tc-z8k.c (get_specific, built_bytes): Understand all the
7077 aspects of lda.
7078
7079 Mon Oct 25 10:20:31 1993 Ken Raeburn (raeburn@rover.cygnus.com)
7080
7081 * doc/Makefile.in (install-info): Use "$<*" so VPATH will find
7082 as.info* even if they're in $(srcdir) (e.g., for FSF
7083 distributions).
7084
7085 * write.c (write_relocs): For relocs that are pc_relative and
7086 pcrel_offset and not partial_inplace, adjust reloc->addend to
7087 compensate for a bfd_perform_relocation bug.
7088
7089 * config/tc-sparc.h: Removed remaining non-BFD_ASSEMBLER code.
7090 * config/tc-sparc.c: Ditto.
7091 (tc_gen_reloc): Include fx_offset for pcrel fixups.
7092
7093 Sun Oct 24 16:49:00 1993 Jim Wilson (wilson@x1.cygnus.com)
7094
7095 * tc-mips.c (md_pseudo_table): Add dword pseudo op.
7096
7097 Fri Oct 22 20:40:56 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
7098
7099 * messages.c: replaced all variables called Format with 'format',
7100 for consistency throughout
7101
7102 * configure.in: handle mips*- instead of mips, mips*el for little
7103 endian configurations
7104
7105 Fri Oct 22 14:45:49 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7106
7107 * input-scrub.c (physical_input_file, logical_input_file,
7108 physical_input_line, logical_input_line): Made static.
7109 (as_where): Return current file name and line number, don't print
7110 them out.
7111 * messages.c (as_show_where): New static function. Other
7112 functions use it instead of as_where.
7113 (as_bad_internal): New static function.
7114 (as_bad): Use as_bad_internal.
7115 (as_bad_where): New function, like as_bad but taking a file name
7116 and line number.
7117 * as.h (as_bad_where): Declare.
7118 (as_where): Change prototype for new arguments.
7119 * write.h (fixS): Added fields fx_file and fx_line.
7120 * write.c (fix_new_internal): Save file and line number in fix.
7121 (fixup_segment): Use as_bad_where, not as_bad.
7122 * input-file.c (f_in, file_name): Made static.
7123 * cond.c (struct file_line): Just use file and line fields.
7124 (s_else): Use as_where and as_bad_where, not get_file_line and
7125 set_file_line.
7126 (get_file_line, set_file_line): Removed.
7127 * listing.c (listing_newline): Use as_where.
7128 * config/obj-coffbfd.c (obj_coff_init_stab_section): Use as_where.
7129 * config/obj-ecoff.c (add_file): Use as_where.
7130 * config/obj-elf.c (obj_elf_init_stab_section): Use as_where.
7131 * config/tc-m68k.c (md_apply_fix_2): Use as_bad_where.
7132 * config/tc-mips.c (tc_gen_reloc): Use as_bad_where, not assert.
7133
7134 Thu Oct 21 12:52:01 1993 Ken Raeburn (raeburn@cygnus.com)
7135
7136 * config/tc-m68k.h: Don't define REGISTER_PREFIX or
7137 OPTIONAL_REGISTER_PREFIX if either is already defined.
7138
7139 * config/tc-m68k.c (m68k_ip): Delete some code in "#if 0".
7140
7141 * configure.in: Set bfd_gas for all sparc targets. Added facility
7142 for keeping or rejecting configurations still under development;
7143 default is to assume production environment, and reject configs
7144 still being worked on. Mark Elf configurations (except sparc and
7145 i386) as developmental. Deleted cases matching some generic names
7146 in favor of more specific names. (E.g., when we get Alpha
7147 support, we'll still only support VMS for Vax.)
7148
7149 * config/tc-sparc.h (md_end): New macro.
7150 * config/tc-sparc.c (md_end): Function deleted.
7151 (BFD_RELOC_*): Delete macros that used to help keep the non-bfd
7152 version compiling. All sparc targets will use bfd now.
7153 * tc.h (md_end): Don't declare if it's defined as a macro.
7154
7155 Changes from Jeff Law and Peter Hoogenboom:
7156
7157 * read.c (next_char_of_string): Limit octal character constants to
7158 three digits.
7159
7160 * config/tc-hppa.h: Major cleanup. Use GNU-style comments. Warn
7161 against placing additional object-file dependent code here. Warn
7162 against contaminating all of GAS with the internals of tc-hppa.c
7163 through inclusion of tc-hppa.h. Delete all forward declarations
7164 for functions only used within tc-hppa.c, likewise for structures,
7165 variables, and #defines. Try to group OBJ_ELF and OBJ_SOM
7166 conditional code in a few small places.
7167
7168 * config/tc-hppa.c: Major cleanup. Use GNU-style comments. Group
7169 structures, global variables, forward declarations together.
7170 Reduce (or in some cases eliminate) OBJ_ELF and OBJ_SOM
7171 conditional code -- try to group conditional code together
7172 into a few places. Make all functions and variables which
7173 are only used within tc-hppa.c static. PARAMize all functions.
7174 Add comments to functions. Delete unused functions, variables,
7175 #defines, etc. Delete unused members within structures. Delete
7176 ldil;ble hacks -- it is believed they were installed to work
7177 around old gas bugs. Avoid using mixed case for local
7178 functions, variables, and structures. Fix formatting problems
7179 not found by GNU-indent. Add FIXME notices for things which
7180 should be worked on the near future. Delete lots of old
7181 useless (1.36 PA-SOM) code.
7182
7183 * config/tc-hppa.c: (fix_new_hppa): Initialize the fx_r_type
7184 field of the fixS structure. Needed to build unwind
7185 descriptors correctly.
7186
7187 * write.c: (fixup_segment): Allow expressions such as
7188 sym1-sym2+const as long as sym2 is $global$.
7189
7190 * write.c (adjust_reloc_syms): Provide a hook so that a target
7191 cpu configuration can reject certain relocation reductions.
7192 * tc-hppa.h (tc_fix_adjustable): New macro. Only accept relocations
7193 which do not involve function symbols.
7194
7195 * config/tc-hppa.h: Reindent with GNU-indent. Delete references
7196 to OBJ_OSFROSE. Fix typos (OBJ_SOME -> OBJ_SOM). Delete unused
7197 STAB_FIXUP macro.
7198 * config/tc-hppa.c: Likewise.
7199
7200 * config/tc-hppa.c (md_apply_fix_1): Use elf_symbol_type, instead
7201 of elf32_symbol_type.
7202 (pa_export_args): Likewise.
7203 (elf_hppa_final_processing): Likewise.
7204 (pa_desc): Do not call obj_elf_desc. (Is pa_desc even needed
7205 anymore?)
7206 (hppa_tc_make_sections): Do not declare elf_get_symtab_map any
7207 ore.
7208
7209 * config/tc-hppa.c: (md_section_align): Align all sections to
7210 a multiple of the section alignment rather than always a
7211 multiple of 8.
7212
7213 * config/tc-hppa.c (hppa_tc_symbol): If the argument relocation
7214 bits are zero (eg they specify no relocations), then do not even
7215 bother adding their entries to thesymextn section.
7216
7217 Thu Oct 21 15:44:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7218
7219 * config/tc-sparc.c (md_parse_option): Accept and ignore -sparc
7220 option, which is used by the SunOS make default .s.o rule.
7221
7222 Wed Oct 20 12:26:33 1993 Ken Raeburn (raeburn@rover.cygnus.com)
7223
7224 * config/tc-sparc.c (sparc_ip, label "immediate"): Convert relocs
7225 operating on upper 32 bits of immediate constants to lower-half
7226 relocs with adjusted constants.
7227
7228 Tue Oct 19 18:13:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7229
7230 * config/tc-m68k.h (AOUT_MACHTYPE): Define to be external variable
7231 m68k_aout_machtype.
7232 * config/tc-m68k.c (omagic): Remove obsolete and unused variable.
7233 (m68k_aout_machtype): New variable, if OBJ_AOUT.
7234 (md_assemble): Initialize m68k_aout_machtype based on
7235 current_architecture, if OBJ_AOUT.
7236 (md_parse_option): Remove obsolete reference to omagic.
7237
7238 Thu Oct 14 16:51:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7239
7240 * config/tc-mips.c (md_pseudo_table): Ignore .livereg pseudo-op.
7241 (s_option): Ignore .option O* and .option pic*.
7242 (s_ent): Skip whitespace between symbol and optional digit.
7243 (my_getSmallExpression): Handle ($xx) correctly: assume 0($xx).
7244
7245 * app.c (do_scrub_next_char): Always accept 'x' and 'X' as escape
7246 characters in state 6.
7247 * read.c (next_char_of_string): Accept \Xh* and \xh* where h* are
7248 hexidecimal digits.
7249
7250 * config/tc-i386.c (md_apply_fix_1): Make cross segment calls work
7251 for ELF by hacking around bizarre bfd_perform_relocation behaviour
7252 that I don't dare change.
7253
7254 Thu Oct 14 11:33:25 1993 Michael Meissner (meissner@osf.org)
7255
7256 * config/tc-i386.c: (md_begin): Do not zero static arrays. Don't
7257 call strchr for each character to see if it is a special char,
7258 instead add a second loop over special_chars. Set alignment
7259 of text, data and bss sections to 4.
7260 (pi, te, pt, pe, ps): Add declarations so that DEBUG386 can be
7261 used again.
7262 (reloc): Don't return 8 and 16 bit non-PC relative relocations on
7263 ELF, since the ELF object format does not have these type of
7264 relocations. Change the abort into as as_bad and return
7265 BFD_RELOC_NONE to silence compiler warnings.
7266 (md_assemble): Keep track of the instruction size. Allow white
7267 space between the $ and the constant for compatibility with older
7268 gases and other assemblers.
7269 (i386_operand): Skip spaces between $ and expression.
7270 (tc_gen_reloc): Don't allow anything but 32 bit relocations on
7271 ELF. Convert abort into an as_bad and assert into as_fatal.
7272
7273 Wed Oct 13 16:50:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7274
7275 * config/obj-coffbfd.c (fixup_segment) [DIFF_EXPR_OK]: If
7276 sub_symbolP is in the current segment, convert to a PC-relative
7277 fixup and discard the symbol.
7278
7279 Wed Oct 13 14:00:02 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7280
7281 * config/obj-ecoff.c (ecoff_build_symbols): Handle st_End symbol
7282 for st_StaticProc just like st_Proc.
7283
7284 * write.c (relax_and_size_all_segments): Moved #endif for OBJ_BOUT
7285 so that OBJ_BOUT doesn't forget to adjust all the fragments in the
7286 .bss section.
7287
7288 Tue Oct 12 17:26:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7289
7290 * config/tc-mips.c: If OBJ_ELF, include elf/mips.h.
7291 (mips_regmask_frag): New static variable, if OBJ_ELF.
7292 (md_begin): If OBJ_ELF, create .reginfo section and set
7293 mips_regmask_frag to a frag.
7294 (mips_elf_final_processing): New function, if OBJ_ELF. Set
7295 mips_regmask_frag to register mask information.
7296 * config/tc-mips.h (elf_tc_final_processing): New macro, defined
7297 if OBJ_ELF.
7298
7299 Tue Oct 12 03:33:26 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7300
7301 * messages.c (as_fatal): Use myname when printing messages.
7302
7303 * config/tc-i960.c (md_begin): Use null pointer, not empty string,
7304 as initial "return" value in case hashing isn't needed.
7305
7306 * config/tc-a29k.c (md_atof): Return null, not empty string, on
7307 success.
7308 * config/tc-h8300.c (md_atof), config/tc-h8500.c (md_atof),
7309 config/tc-hppa.c (md_atof), config/tc-i860.c (md_atof),
7310 config/tc-i960.c (md_atof), config/tc-m88k.c (md_atof),
7311 config/tc-ns32k.c (md_atof), config/tc-sh.c (md_atof): Ditto.
7312
7313 Mon Oct 11 16:46:31 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
7314
7315 fix for pr 3571
7316 * config/tc-h8300.c (get_specific): Special action if 8 bit
7317 address seen. (check_operand): Don't complain if truncating top
7318 bits of an 8 bit address. (build_bytes): Allow an immediate and
7319 an absolute in the same insn.
7320
7321 Mon Oct 11 17:18:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7322
7323 * write.c (write_contents): Don't crash if seginfo is NULL.
7324
7325 * config/obj-ecoff.c (ecoff_frob_file): Write out register masks
7326 by modifying .reginfo section, not by directly modifying BFD
7327 backend data.
7328
7329 Mon Oct 11 14:11:32 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
7330
7331 * config/ho-sunos.h: remove extern time declaration
7332
7333 Mon Oct 11 16:14:43 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7334
7335 * messages.c (as_fatal): Do mention that it's the assembler that
7336 got the fatal error.
7337
7338 Fri Oct 8 14:09:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7339
7340 * config/tc-mips.c (mips_gprmask, mips_cprmask): New variables to
7341 hold register masks.
7342 (md_begin): Initialize them to zero.
7343 (append_insn): Update mips_gprmask and mips_cprmask. Also add
7344 register variables pinfo and prev_pinfo.
7345 * config/tc-mips.h (mips_gprmask, mips_cprmask): Declare.
7346 * config/obj-ecoff.c (ecoff_frob_file): If TC_MIPS, set gprmask
7347 and cprmask from mips_gprmask and mips_cprmask.
7348
7349 * config/tc-mips.h: Define TARGET_FORMAT if OBJ_ELF.
7350 * config/tc-mips.c (GPOPT): Define if OBJ_ECOFF or OBJ_ELF.
7351 (various): Change all references to GP references to apply if
7352 GPOPT, not if OBJ_ECOFF.
7353 (s_change_sec): Rearrange somewhat. If OBJ_ELF, use .rodata
7354 instead of .rdata. If OBJ_ELF, set section flags for .rodata and
7355 .sdata sections.
7356 (s_frame, s_loc, s_mask): Comment out entire functions, rather
7357 than just body. They're not used anyhow.
7358 * configure.in: Set cpu_type to mips for mips*. Accept
7359 mips-*-elfl* and mips-*-elf*.
7360
7361 Thu Oct 7 18:36:29 1993 Michael Meissner (meissner@osf.org)
7362
7363 * config/obj-elf.c (obj_elf_common): Allow the alignment field to
7364 not be specified.
7365
7366 Wed Oct 6 13:01:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7367
7368 * config/tc-mips.c (cons_fix_new_mips): New function. Turn
7369 BFD_RELOC_64 into BFD_RELOC_32.
7370 * config/tc-mips.h (TC_CONS_FIX_NEW): Define.
7371 (cons_fix_new_mips): Declare.
7372
7373 Changes to let cons handle bignums like general expressions.
7374 * expr.h (expressionS): New field X_unsigned.
7375 * expr.c (operand): Initialize X_unsigned to 1. Set it to 0 for
7376 unary minus case.
7377 (expr) Fix typo resultP to right if missing operand. Set
7378 X_unsigned to 1 when building new expression.
7379 * read.c (potable): Make "octa" and "quad" call cons, not
7380 big_cons.
7381 (cons): Handle bignums. If given an O_constant (small integer) to
7382 fill a big space, turn it into a bignum.
7383 (parse_bitfield_cons): Set X_unsigned field.
7384 (bignum_low, bignum_limit, bignum_high, grow_bignum, big_cons):
7385 Removed.
7386 * read.h (big_cons): Remove prototype.
7387 * symbols.c (resolve_symbol_value): Don't give a warning if a
7388 symbol in expr_section can not be resolved.
7389 (S_SET_VALUE): Clear X_unsigned.
7390 * write.c (write_object_file): If resolve_symbol_value failed on a
7391 symbol we are writing out, give a warning.
7392 * config/tc-h8500.c (parse_reglist): Set X_unsigned.
7393 * config/tc-hppa.c (md_pseudo_table): Change "octa" and "quad" to
7394 call pa_cons, not pa_big_cons.
7395 (pa_big_cons): Remove.
7396 * config/tc-hppa.h (pa_big_cons): Remove declaration.
7397 * config/tc-i960.c (md_pseudo_table): Change "quad" to call cons,
7398 not big_cons.
7399
7400 Tue Oct 5 10:53:36 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
7401
7402 * doc/as.texinfo (Copying): new node, to handle the recent changes
7403 in the texinfo/gpl.texinfo file
7404
7405 Mon Oct 4 17:10:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7406
7407 * read.c (big_cons): Handle "0" correctly.
7408
7409 * config/tc-mips.c (md_begin): Set target_big_endian correctly.
7410
7411 Mon Oct 4 15:37:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7412
7413 * config/tc-m68k.c (m68k_ip): Mode 7.3 operand using PC should
7414 have pc-relative fixup.
7415 (md_parse_option): Move "-k" case down near "-pic" case.
7416
7417 * configure.in: Alphabetize list of cpu type alternatives. Enable
7418 OS values of "linux*elf*" and "linux*coff*" to select those
7419 formats, with linux emulation. Don't bother checking for upper-
7420 or mixed-case versions of "ose".
7421
7422 Thu Sep 30 11:05:35 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
7423
7424 * config/z8k.c (md_pseudo_table): add "unseg".
7425
7426 Wed Sep 29 16:15:11 1993 K. Richard Pixley (rich@sendai.cygnus.com)
7427
7428 * config/m88k-opcode.h (m88k_opcodes): correct a few mistakes
7429 found while extending the dissassembler.
7430
7431 Tue Sep 28 12:02:04 1993 Stan Shebs (shebs@rtl.cygnus.com)
7432
7433 * configure.in: Split i386 LynxOS out from other coff targets,
7434 add a specific Lynx emulation.
7435 Add m68k LynxOS target.
7436 * config/tc-i386.c: Define specific Lynx target format.
7437 * config/tc-m68k.c: Define specific Lynx target format.
7438 * config/te-lynx.h: New file.
7439
7440 * config/obj-coffbfd.h: Don't set TARGET_FORMAT to be
7441 "coff-{i386,m68k}" if TARGET_FORMAT already defined.
7442 (INIT_STAB_SECTION): Define.
7443 * config/obj-coffbfd.c: Include <time.h>.
7444 (write_object_file): Look for .stab sections and call
7445 adjust_stab_section.
7446 (adjust_stab_section): New function, fills in the first symbol
7447 of a stab section with number of symbols and string table size.
7448 (obj_coff_init_stab_section): New function, creates the initial
7449 symbol for a stab section.
7450
7451 Mon Sep 27 15:21:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7452
7453 * config/atof-vax.c (md_atof): Return null on success instead of
7454 empty string.
7455 * config/atof-tahoe.c (md_atof): Ditto.
7456 * read.c (float_cons): Expect a null pointer for success, not an
7457 empty string.
7458
7459 * hash.c (hash_insert, hash_jam, hash_grow): Return null pointer
7460 on success, instead of empty string. All callers changed.
7461
7462 * config/tc-vax.c: Use PARAMS in declarations.
7463 (vip_op): Use NULL instead of empty string for success in error
7464 and warning fields.
7465
7466 Sun Sep 26 23:45:29 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7467
7468 * expr.c (expr) [DIFF_EXPR_OK]: Permit subtraction of two symbols
7469 in different defined segments.
7470
7471 * write.c (relax_segment): Localize "aim" variable. If
7472 DIFF_EXPR_OK, don't impose checks on symbol segment types.
7473 (fixup_segment) [DIFF_EXPR_OK]: If sub_symbolP is in the current
7474 segment, convert to a PC-relative fixup and discard the symbol.
7475
7476 * config/tc-m68k.c (flag_want_pic): New variable, mostly ignored.
7477 (md_parse_option) [TE_SUN3]: Set it for "-k".
7478 (m68k_ip): Generate proper fixup for mode 7.3.
7479 * config/tc-m68k.h (DIFF_EXPR_OK): Define.
7480
7481 Sat Sep 25 05:08:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7482
7483 * config/tc-m68k.c (struct m68k_incant, getone, gettwo): Moved
7484 earlier in the file.
7485 (insop, add_exp): Now defined as functions, for readability.
7486 (insop): Now takes two arguments; callers changed.
7487
7488 Fri Sep 24 12:37:59 1993 K. Richard Pixley (rich@sendai.cygnus.com)
7489
7490 * config/tc-m88k.c (get_o6): new function.
7491 (get_bf, get_cmp, get_cnd, get_cr, get_fcr, get_imm16, get_reg,
7492 get_vec9, getval, get_pcr, calcop, match_name): make static and
7493 prototype.
7494 (s_file): remove extraneous forward decl.
7495 (md_begin): add const to retval decl.
7496 (calcop): cope with instructions without arguments. Handle 'o'
7497 type argument, the o6 field of the prot insn.
7498 (md_estimate_size_before_relax): return a dummy value.
7499
7500 * config/m88k-opcode.h (m88k_opcodes): comment change; o6 field is
7501 in bits 10 through 7. flt.[dxs]s requires an r register in the
7502 second argument. New instruction lda.x. New instruction muls
7503 (alias for mul).
7504
7505 Fri Sep 24 13:43:30 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7506
7507 * Makefile.in (distclean): Recurse like clean.
7508 * doc/Makefile.in (distclean): New target.
7509
7510 * config/tc-mips.c (md_begin): Set BFD architecture and machine
7511 based on MIPS ISA level.
7512
7513 Thu Sep 23 17:58:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7514
7515 * as.c (main): "exhausted", not "exhuasted".
7516
7517 * struc-symbol.h (struct symbol): Add sy_used_in_reloc field.
7518 * write.c (adjust_reloc_syms): Set sy_used_in_reloc.
7519 (write_object_file): Never strip symbols with sy_used_in_reloc
7520 set.
7521
7522 * config/obj-elf.c (obj_elf_section): Rewrote to handle both
7523 Solaris and SVR4 style .section pseudo-ops.
7524 (obj_elf_ident): Set SEC_READONLY for .comment section.
7525 * config/tc-sparc.c (md_apply_fix): If this is ELF, and we're
7526 generating a reloc, don't apply a fix.
7527
7528 Thu Sep 23 13:16:58 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7529
7530 * config/obj-coffbfd.c (relax_align): Now static.
7531
7532 Mon Sep 20 19:23:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7533
7534 * read.c (get_stab_string_offset): Make non-static. Make
7535 arguments const. Don't align strings to 4 byte boundaries.
7536 * read.h: Declare get_stab_string_offset.
7537 * config/obj-elf.c (obj_elf_section): Set SEC_ALLOC as well as
7538 SEC_LOAD for progbits section.
7539 (obj_elf_init_stab_section): New function.
7540 (adjust_stab_sections): Add casts to avoid warnings.
7541 * config/obj-elf.h (INIT_STAB_SECTION): Call
7542 obj_elf_init_stab_section.
7543 (OBJ_PROCESS_STAB): Removed definition.
7544
7545 Fri Sep 17 18:12:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7546
7547 * config/obj-elf.h (S_GET_SIZE): Define.
7548 (obj_frob_forward_symbol): Define.
7549 * config/tc-i386.c (line_comment_chars): Initialize in all cases.
7550
7551 Thu Sep 16 14:23:08 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7552
7553 * tc.h: Declare tc_gen_reloc differently depending upon
7554 RELOC_EXPANSION_POSSIBLE.
7555 * config/obj-elf.c (obj_elf_section): Only set flags when first
7556 creating the section.
7557
7558 Wed Sep 15 12:15:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7559
7560 * config/tc-mips.c (append_insn): Don't swap a trap instruction
7561 with a branch.
7562
7563 Tue Sep 14 13:31:04 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7564
7565 * config/obj-elf.c (obj_elf_data, obj_elf_text): New functions;
7566 set previous_section and previous_subsection and then call s_data
7567 and s_text, respectively.
7568 (obj_pseudo_table): Add data and text.
7569 (obj_elf_section): Add SEC_LOAD to default initialization of
7570 flags. Treat .rodata1 like .rodata. Set SEC_LOAD as well as
7571 SEC_ALLOC for "alloc" string. Don't bother trying to find the
7572 section; just use subseg_new.
7573
7574 * read.c (change_to_section): Removed. This is now done by
7575 subseg_new.
7576 (get_stab_string_offset): Rearranged somewhat. Create the section
7577 using subseg_new. Store the string index in seg_info, rather than
7578 in a static variable. Force the first string to be empty. Use
7579 frag_more rather than FRAG_APPEND_1_CHAR.
7580 (s_stab_generic): Rewrote.
7581 * subsegs.h (segment_info_type): Added stabu union.
7582 * subsegs.c (subseg_new): Initialize stab_string_size to 0.
7583 * config/obj-aout.c: Don't include aout/stab_gnu.h.
7584 (obj_aout_stab, obj_aout_desc): Removed.
7585 (obj_pseudo_table): Removed desc and stabX entries.
7586 * config/obj-bout.c: Same changes as config/obj-aout.c.
7587 * config/obj-bout.h (S_SET_TYPE): Define.
7588 (tc_bout_fix_to_chars): Declare.
7589 * config/obj-coff.c (obj_coff_stab): Removed.
7590 (obj_pseudo_table): Removed desc and stabX entries.
7591 * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define.
7592 * config/obj-coffbfd.c (current_stab_symbol): Removed.
7593 * config/obj-coffbfd.h (obj_symbol_type): Removed n_strx, n_type,
7594 n_other, n_desc and n_value fields.
7595 (S_{S,G}ET_{OFFSET,OTHER,TYPE,DESC}): Removed.
7596 (MAKE_STAB_SYMBOL): Removed.
7597 * config/obj-ecoff.c (obj_ecoff_stab): Renamed to ecoff_stab.
7598 Changed arguments and removed parsing code.
7599 (obj_pseudo_table): Removed stabX entries.
7600 * config/obj-ecoff.h (ecoff_stab): Declare.
7601 (OBJ_PROCESS_STAB): Define.
7602 * config/obj-elf.c: Don't include aout/stab_gnu.h.
7603 (obj_elf_stab, obj_elf_xstab, obj_elf_desc,
7604 elf_stab_symbol_string, elf_stab_symbol, obj_elf_stab_generic):
7605 Removed.
7606 (obj_pseudo_table): Removed desc, stabX and xstabs entries.
7607 (obj_elf_version): Use subseg_new, not bfd_make_section. Don't
7608 set SEC_LOAD for .note section.
7609 (adjust_stab_sections): Get frag pointer from seg_info, rather
7610 than looking through frags.
7611 * config/obj-elf.h (S_{S,G}ET_{OTHER,TYPE,DESC}): Removed.
7612 (SEPARATE_STAB_SECTIONS, INIT_STAB_SECTION, OBJ_PROCESS_STAB):
7613 Define.
7614 * config/obj-vms.c (obj_aout_stab): Removed.
7615 (obj_pseudo_table): Removed stabX entries.
7616 * config/obj-vms.h (S_SET_TYPE): Define.
7617
7618 * as.h: Declare listing.
7619 * read.c: Don't declare listing.
7620 (emit_expr): Cast fix_new_exp argument.
7621 (parse_bitfield_cons): Correct printf format.
7622 * symbols.c (symbol_new): Add cast to avoid warning.
7623 * write.h: Declare text_last_frag and data_last_frag.
7624 * config/obj-bout.c (obj_bout_line): Added dummy argument.
7625 * config/obj-coffbfd.c: Add some casts to avoid warnings.
7626 * config/tc-a29k.c: Likewise.
7627 * config/tc-i960.c: Likewise. Also fully bracket structure
7628 initializations, fix printf formats, and remove unused variables.
7629
7630 Mon Sep 13 16:48:38 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7631
7632 * read.c (s_desc): Only compile and use if S_SET_DESC is defined.
7633 * struc-symbol.h: Declare verify_symbol_chain and
7634 verify_symbol_chain_2 even if not SYMBOLS_NEED_BACKPOINTERS.
7635 * symbols.c (verify_symbol_chain): Removed useless expression.
7636 * write.c (headers, the_object_file): Only use if not
7637 BFD_ASSEMBLER and not BFD.
7638 (fixup_segment, cvs_frag_to_fill): Only use if BFD_ASSEMBLER or
7639 not BFD.
7640 (merge_data_into_text): Only use if BFD_ASSEMBLER or (not BFD and
7641 not OBJ_AOUT).
7642 * write.h: Declare relax_segment.
7643 * config/obj-coffbfd.c (stack_pop, stack_push, stack_init): Made
7644 static.
7645 (stack_top): Commented out, since it's not used.
7646 Fixed up pseudo-op functions to take an ignored int argument.
7647 (size_section): Added default BAD_CASE to switch.
7648 Changed bzero calls to memset.
7649 * config/obj-coffbfd.h (S_IS_LOCAL): Call strchr on S_GET_NAME
7650 (s), not on s itself.
7651 * config/tc-a29k.c (s_use): Take ignored int argument. Only
7652 define if OBJ_COFF is not defined.
7653 * config/tc-i386.c: (fits_in_signed_byte, smallest_imm_type): Make
7654 argument signed again.
7655 * config/tc-m68k.c (s_bss, s_even, s_proc): Take ignored int
7656 argument.
7657 (m68k_ip): Fully bracket initialization of archs.
7658 Correct several formats for __LINE__ to be %d rather than %s.
7659 (init_table): Fully bracket initialization.
7660 Cast values larger than 0x7f assigned to fr_opcode to char.
7661
7662 * subsegs.c: Renamed non-BFD_ASSEMBLER subseg_new to subseg_set.
7663 Wrote non-BFD_ASSEMBLER subseg_new. Now subseg_new always takes a
7664 section name, and subseg_set always takes a segT. Changed all
7665 callers as appropriate.
7666 * config/obj-coffbfd.c (change_to_section): Renamed to
7667 obj_coff_add_segment. Corrected. Made callers use subseg_new.
7668 * config/obj-coffbfd.h (obj_segment_name, obj_add_segment):
7669 Define.
7670
7671 Mon Sep 13 13:15:03 1993 Doug Evans (dje@canuck.cygnus.com)
7672
7673 * config/tc-sparc.h (LOCAL_LABEL): Remove test for name[0] == 'L'.
7674
7675 Fri Sep 10 11:22:08 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7676
7677 * config/obj-elf.h (S_SET_SIZE): Actually set the size.
7678
7679 Gcc lint.
7680 * Added a number of casts to function calls.
7681 * app.c (do_scrub_begin), as.c (main), expr.c (integer_constant,
7682 operand, expr), read.c (read_begin, HANDLE_CONDITIONAL_ASSEMBLY,
7683 read_a_source_file, s_align_bytes, demand_empty_rest_of_line,
7684 ignore_rest_of_line, big_cons, is_it_end_of_statement, s_ignore),
7685 read.h (is_name_beginner, is_part_of_name), config/obj-elf.c
7686 (obj_elf_section), config/tc-i386.c (parse_register),
7687 config/tc-sparc.c (isoctal, s_proc): Cast char
7688 array indices to unsigned char.
7689 * app.c (process_escape): Make static. Add prototype. Change
7690 argument from char to int.
7691 * as.c: Include output-file.h for prototypes. Comment out unused
7692 function got_sig.
7693 * Makefile.in (as.o): Depend on output-file.h.
7694 * as.h (BAD_CASE): Cast val argument to long, and use %ld.
7695 (pseudo_typeS): Add prototype to poc_handler field.
7696 (print_version_id): Add prototype.
7697 (xmalloc, xrealloc): Change size arguments to unsigned long.
7698 (do_scrub_next_char): Add prototypes for function arguments.
7699 (had_errors, had_warnings, scrub_from_file): Remove duplicate
7700 declarations.
7701 * atof-generic.c (atof_generic): Make size variables unsigned.
7702 * cond.c (ignore_input): Removed unused local variable ptr.
7703 * expr.c (floating_constant, integer_constant): Make static. Add
7704 prototypes.
7705 * flonum-copy.c (flonum_copy): Make size variables unsigned.
7706 * frags.h: Add prototype for frag_init.
7707 * hash.h, hash.c: Change hash values from char * to PTR, make hash
7708 strings const, make returned error strings const char *. Added
7709 prototypes for functions.
7710 * input-file.h, input-file.c (input_file_buffer_size): Return
7711 unsigned int.
7712 * input-scrub.c (buffer_length): Make unsigned.
7713 (input_scrub_push, input_scrub_pop): Make static.
7714 * listing.c (list_symbol_table): Cast sprintf argument to unsigned
7715 long and use %lx. Print name of segment rather than address of
7716 structure.
7717 (listing_list, listing_title): Change argument to int.
7718 (listing_eject, listing_flags, listing_psize): Add int argument.
7719 * listing.h: Corresponding declaration changes.
7720 * obj.h (obj_emit_symbols): Rename prototype argument to avoid
7721 shadowing.
7722 * read.h: Change get_absolute_expression prototype to return
7723 offsetT. Add prototype for next_char_of_string. Various
7724 prototype changes.
7725 * read.c: Remove prototype for next_char_of_string.
7726 (pobegin): Make errtxt const. Make new_length, tmp_len and num
7727 unsigned.
7728 (s_abort, s_align_ptwo, s_comm, s_data, s_app_line, s_fill,
7729 s_globl, s_lsym, s_org, s_set, s_text, s_desc): Add int argument.
7730 Change all callers.
7731 (s_comm): Change temp from valueT to offsetT. Cast to long when
7732 printing and use %ld (only for error messages anyhow).
7733 (s_long, s_int): Remove unused functions.
7734 (cons): Change argument to int.
7735 (emit_expr): Use %lx when printing longs.
7736 (get_absolute_expression): Return offsetT, not long.
7737 (get_stab_string_offset): Comment out unless
7738 SEPARATE_STAB_SECTIONS.
7739 (s_stab_generic): Remove unused offset. Define seg_is_new only
7740 if SEPARATE_STAB_SECTIONS. Use toP only in local block.
7741 * struc-symbol.h (verify_symbol_chain_2): Add prototype.
7742 * symbols.c: Remove nested comment.
7743 (symbol_new): Rename value to valu.
7744 (colon): Use %ld and cast to long in error message.
7745 * symbols.h: Remove duplicate verify_symbol_chain declaration.
7746 * tc.h: Remove unused md_emit_relocations declaration.
7747 (tc_gen_reloc): Add declaration.
7748 * write.c (cvt_frag_to_fill): Change first argument name depending
7749 on BFD_ASSEMBLER.
7750 (write_relocs): Remove unused offset, frags. Remove tc_gen_reloc
7751 declarations. Make n unsigned.
7752 (write_contents): Remove unused i, n, relocs, fixp. Rename frags
7753 to f to avoid shadowing.
7754 (write_object_file): Define fragP only if not BFD_ASSEMBLER or not
7755 WORKING_DOT_WORD. Remove unused keep. Only declare punt and
7756 punt_it if they will be used. Make i and n unsigned.
7757 (fixup_segment): Cast to long and use %ld in error message.
7758 * xmalloc.c (xmalloc, xrealloc): Make size argument unsigned.
7759 * config/obj-aout.h: Remove nested comment. Add prototype for
7760 obj_aout_frob_symbol.
7761 (obj_aout_line, obj_aout_desc): Add int argument.
7762 * config/obj-ecoff.c: Changed build routines to use an unsigned
7763 offset.
7764 (add_string): Make len unsigned long.
7765 (obj_ecoff_stab): Use %lu in error message.
7766 * config/obj-elf.c (obj_elf_common): Comment out unused label
7767 allocate_bss.
7768 (obj_elf_frob_symbol): Return 0 (currently broken).
7769 (obj_elf_desc, obj_elf_version, obj_elf_size, obj_elf_type,
7770 obj_elf_ident, obj_elf_weak, obj_elf_local, obj_elf_common,
7771 obj_elf_line, obj_elf_previous): Add int argument.
7772 (obj_elf_write_symbol_p): Make static.
7773 * config/obj-elf.h (obj_elf_write_symbol): Add prototype.
7774 * config/tc-hppa.h: Remove declarations of functions declared in
7775 read.h.
7776 * config/tc-i386.c (ENCODE_RELAX_STATE): Cast to relax_substateT.
7777 (s_bss): Add int argument.
7778 (fits_in_signed_byte, smallest_imm_type): Make argument unsigned.
7779 (dummy): Remove unused function.
7780 (md_assemble): Rename local o to op to avoid shadowing.
7781 (tc_gen_reloc): Rename local reloc to rel to avoid shadowing.
7782 * config/tc-m68k.c (s_data1, s_data2): Add int argument.
7783 * config/tc-mips.c (mips_ip, md_apply_fix): Cast to long and use
7784 %ld in error messages.
7785 * config/tc-sparc.c: Remove duplicate declarations.
7786 (getExpression): Rewrite condition to avoid empty conditional
7787 body.
7788 (s_reg, s_proc, s_reserve, s_common, s_seg, s_xword): Add int
7789 argument.
7790
7791 Thu Sep 9 17:10:00 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7792
7793 Changes from Jeff Law:
7794
7795 * config/tc-hppa.c (md_assemble): Fix typo.
7796 (pa_ip): Delete unused variables and labels. Do not check for
7797 unsigned values being < 0, it can't happen.
7798 (is_same_frag): Return a value in recursive call case.
7799 (pa_callinfo): Delete unused variables and labels.
7800 (pa_comm): Likewise.
7801 (pa_copyright): Likewise.
7802 (pa_export): Likewise.
7803 (pa_import): Likewise.
7804 (pa_param): Likewise.
7805 (pa_space): Likewise.
7806 (pa_subspace): Likewise.
7807
7808 Thu Sep 9 15:05:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7809
7810 * read.c (get_stab_string_offset, s_stab_generic): If
7811 BFD_ASSEMBLER, call subseg_set rather than subseg_new.
7812
7813 Wed Sep 8 15:09:17 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7814
7815 * config/obj-elf.c (obj_elf_section): Set SEC_LOAD when using
7816 default flag values.
7817
7818 Tue Sep 7 10:22:52 1993 Stan Shebs (shebs@rtl.cygnus.com)
7819
7820 * read.c: (change_to_section): Don't include body if not MANY_SECTIONS.
7821
7822 * read.c: (s_stab, s_xstab, s_desc): New functions to parse
7823 various stab-related directives.
7824 * read.h: (s_stab, s_xstab, s_desc): New function prototypes.
7825 * write.c: (merge_data_into_text): Fix ifdef tangle.
7826 * config/obj-coffbfd.c (current_stab_symbol): Fake symbol
7827 for stab reader to use.
7828 * config/obj-coffbfdh.h (obj_symbol_type): Added fields for
7829 stab reader, macros to access.
7830
7831 Fri Sep 3 16:44:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7832
7833 * config/obj-elf.h (elf_symbol): No longer special-cased on
7834 sparcv9, since elf_symbol_type is now independent of size.
7835
7836 * config/obj-elf.h (elf_symbol): Fixed name of elf_symbol_type.
7837
7838 * config/tc-hppa.h (struct default_subspace_dict, struct
7839 default_space_dict): Field "sort" is now unsigned char.
7840
7841 * config/tc-hppa.c (pa_def_subspaces, pa_def_spaces): Align
7842 columns for easier reading.
7843 (bcmp, index): Deleted USG-specific definitions. Should be dealt
7844 with in ho-*.h, or in libiberty. Changed mention of index to
7845 strchr.
7846 (label_symbolP, label_symbol_defined, callinfo_found,
7847 within_entry_exit, exit_processing_complete, within_procedure,
7848 pa_def_subspaces, pa_def_spaces, pa_pseudo_op_moves_pc,
7849 label_symbols_rootP, pa_get_label, pa_label_is_defined,
7850 pa_undefine_label): Now static.
7851 (movers): Now const, in addition to pointing to const data.
7852 * config/tc-hppa.h (label_symbolS_rootP, pa_get_label,
7853 pa_label_is_defined, pa_undefine_label, pa_pseudo_op_moves_pc):
7854 Delete declarations.
7855
7856 Merged more changes from Jeff Law and Pete Hoogenboom:
7857
7858 * config/tc-hppa.c (pa_def_subspaces, pa_def_subspaces): Remove
7859 entries for .stab and .stabstr.
7860
7861 * config/obj-elf.c: (elf_stab_symbol_string): Set the
7862 SEC_LOAD attribute for the .stabstr section.
7863 (obj_elf_stab_generic): Set the SEC_LOAD attribute for the
7864 .stab section.
7865 (obj_elf_stab_generic): Change '#if 1' to '#if 0'.
7866 (obj_elf_stab_generic): Incorrect byte count on call to
7867 md_number_to_chars function.
7868
7869 * config/tc-hppa.c (hppa_tc_symbol): Static functions need
7870 argument relocation bits too.
7871
7872 * config/tc-hppa.c (pa_stringer): Correctly handle escaping
7873 characters which should appear unaltered in the output string (for
7874 example an escaped double-quote).
7875
7876 * config/tc-hppa.c (pa_parse_nonneg_cmpsub_cmpltr): Always
7877 initialize name.
7878 (pa_parse_neg_cmpsub_cmpltr): Likewise.
7879 (pa_parse_nonneg_add_cmpltr): Likewise.
7880 (pa_parse_neg_add_cmpltr): Likewise.
7881
7882 * config/tc-hppa.h (parse_cons_expression_hppa): Remove prototype
7883 for now.
7884 (cons_fix_new_hppa): Likewise.
7885 * config/tc-hppa.c (md_apply_fix): Fix type of valp to match
7886 prototype.
7887
7888 * config/tc-hppa.c: Include libhppa.h.
7889
7890 * config/tc-hppa.h: Delete extern declarations of functions
7891 found in libhppa.h.
7892
7893 * config/tc-hppa.c (pa_space): Rework to avoid unwanted #ifdef
7894 OBJ_ELF conditionals.
7895 * config/tc-hppa.h (LOCAL_LABEL): Correctly identify local labels
7896 on the PA.
7897
7898 Thu Sep 2 10:43:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7899
7900 * config/tc-mips.c (macro_build): Accept 'z', and ignore it.
7901 (macro): Use "z,s,t" for div instructions to match corresponding
7902 change in opcode table.
7903 (mips_ip): Added 'z'--must be zero register.
7904
7905 Wed Sep 1 15:56:42 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7906
7907 * write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Declare
7908 tc_gen_reloc correctly.
7909
7910 * configure.in: Use "case" instead of "if" when possible. Rewrote
7911 Makefile editing to reduce work done. Treat "hppa*" as "hppa".
7912
7913 Wed Sep 1 12:19:07 1993 K. Richard Pixley (rich@sendai.cygnus.com)
7914
7915 * config/obj-coffbfd.c (obj_coff_section): add 'd' as an alias for
7916 section type of data. 'd' seems to be used for m88k.
7917
7918 Wed Aug 25 22:33:22 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7919
7920 * config/tc-mips.c (mips_align, s_stringer, s_cons, s_float_cons,
7921 s_mips_space): Set insn_label to NULL to avoid changing it at the
7922 next .align statement.
7923 (append_insn): Don't swap jal with instruction that sets the
7924 register that jal sets.
7925
7926 Wed Aug 25 16:15:57 1993 K. Richard Pixley (rich@sendai.cygnus.com)
7927
7928 * configure.in: recognize m88110.
7929
7930 Wed Aug 25 13:37:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7931
7932 Merged changes from Pete Hoogenboom and Jeff Law at Utah:
7933 * config/tc-hppa.c (pa_build_unwind_subspace): SEC_ALLOC should
7934 not be on for .hppa_unwind.
7935 (md_pseudo_table): .PARAM and .param are valid pseudo-ops for GAS.
7936 (pa_param): New function to handle .PARAM directives.
7937 (pa_ip): Pass "isbranch" argument down to pa_parse_*_compltr
7938 functions. Handle '|' for movb; allow movb,n.
7939 (pa_parse_nonneg_cmpsub_cmpltr): Delete old useless
7940 version. Handle cases where no completer exists for
7941 comb,n or addb,n.
7942 (pa_parse_neg_cmpsub_cmpltr): Handle cases where no
7943 completer exists for comb,n or addb,n. Make logic
7944 mirror that of pa_parse_nonneg_cmpsub_cmpltr.
7945 (pa_parse_nonneg_add_cmpltr): Likewise.
7946 (pa_parse_neg_add_cmpltr): Likewise.
7947 * tc-hppa.h (pa_param): Declare.
7948
7949 Tue Aug 24 15:41:35 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7950
7951 * config/tc-hppa.c (hppa_tc_make_symextn_section): Now static.
7952 Added forward declaration.
7953
7954 Merged changes from Pete Hoogenboom and Jeff Law at Utah:
7955
7956 * config/obj-elf.c (elf_frob_file): Arguments were incorrect on
7957 call to elf_tc_make_sections.
7958 (obj_elf_version): A .note section shouldn't have the SEC_ALLOC
7959 attribute.
7960
7961 * config/tc-hppa.c (hppa_tc_make_sections): Add some processing to
7962 handle symbol extension sections.
7963
7964 * config/tc-hppa.c (pa_build_symextn_section): New function to
7965 create a symbol extension section.
7966 (pa_export_args): Make call to pa_build_symextn_section.
7967 (hppa_tc_symbol, hppa_tc_make_sections,
7968 hppa_tc_make_symextn_section): New functions.
7969 * config/tc-hppa.h: Update elf_tc_symbol and elf_tc_make_sections
7970 macros.
7971
7972 * read.c (emit_expr): Place check for TC_CONS_FIX_NEW in the
7973 BFD_ASSEMBLER branch as well.
7974
7975 * config/tc-hppa.h: If ELF is the target object format, define
7976 some ELF- and hppa-specific types and constants.
7977
7978 * config/tc-hppa.c (getExpression): Fix a typo.
7979
7980 * read.c (read_a_source_file): Use TC_EQUAL_IN_INSN to determine
7981 if a `=' is part of an instruction.
7982 (read_a_source_file): Handle case where end-of-line markers are
7983 also used within instructions.
7984 * config/tc-hppa.h (TC_EQUAL_IN_INSN, TC_EOL_IN_INSN): Define.
7985
7986 * config/tc-hppa.c (md_apply_fix_1): Keep relocations for
7987 out-of-range branches/'calls using "bl" or calls which may need
7988 argument relocation stubs. Do not need/keep relocations for
7989 conditional branches.
7990 (elf_hppa_final_processing): Fix calculation of function size.
7991
7992 * config/obj-elf.c (obj_elf_version): Mark .note section as
7993 READONLY.
7994
7995 * config/tc-hppa.c (parse_cons_expression_hppa): Pass exp, not the
7996 address of exp, to expression.
7997 (pa_build_unwind_subspace): Turn SEC_HAS_CONTENTS flag on.
7998 (md_apply_fix_1): Delete unwanted comments.
7999 (process_exit): Symbols marking the end of a function are always
8000 BSF_LOCAL.
8001
8002 * config/tc-hppa.c: Include elf32-hppa.h from BFD tree.
8003 (pa_space): Declare and initialize gdb_section.
8004
8005 * config/obj-elf.c (elf_frob_file): Change
8006 elf_tc_final_processing_hook to elf_tc_final_processing.
8007
8008 * config/tc-hppa.c (fix_new_hppa): Fix argument list to match
8009 argument type declarations.
8010 (getExpression): Fix typo.
8011 (pa_export_args): Change elf_symbol_type to elf32_symbol_type.
8012 (elf_hppa_final_processing): Likewise. Name changed from
8013 elf_hppa_final_processing_hook.
8014 (start_symbol_root, start_symbol_last): Deleted.
8015
8016 * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION): Fix typo.
8017
8018 * config/tc-hppa.h: Replace "symbolS" with "struct symbol" to
8019 avoid changing include ordering.
8020
8021 * config/tc-hppa.c (pa_ip, case 'y'): Handle just like 't'.
8022
8023 Mon Aug 23 12:47:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8024
8025 * config/tc-mips.c (set_at): Added unsignedp argument. Use
8026 load_register.
8027 (set_at_unsigned): Removed; changed callers to use set_at.
8028 (load_register): Removed unused ip argument. Changed callers.
8029 (append_insn): Don't swap branch and branch likely.
8030 (macro_build): Handle 'u'.
8031 (load_register): Handle 64 bit constants.
8032 (macro): Added M_DABS, removed M_ABSU. Numerous changes to
8033 support 64 bit constants.
8034 (mips_ip): Use hex constants in range checks for clarity.
8035 (md_number_to_chars): Support 8 byte values.
8036
8037 Fri Aug 20 16:50:59 1993 K. Richard Pixley (rich@sendai.cygnus.com)
8038
8039 * config/tc-m88k.h: updated copyrights.
8040 (TC_CONS_RELOC): declare to be RELOC_32.
8041
8042 Fri Aug 20 11:16:44 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8043
8044 * config/tc-mips.c (mips_isa): New static variable.
8045 (md_begin): Initialize mips_isa based on TARGET_CPU. Don't sanity
8046 check macros. Set text alignment and GP size here.
8047 (md_assemble): Don't set text alignment and GP size here.
8048 (append_insn): Don't insert NOPs for load delays if mips_isa >= 2.
8049 Use the right mask and shift for WRITE_FPR_T and WRITE_FPR_S. Add
8050 a NOP after a branch likely.
8051 (mips_emit_delays): Don't insert NOPS for load delays if mips_isa
8052 >= 2.
8053 (macro): Support r6000 and r4000 macros.
8054 (mips_ip): Check insn ISA level against mips_isa before using it.
8055 Added 'x' case for ignored register.
8056 (md_parse_option): Handle -mipsN and -mcpu=XX.
8057
8058 Fri Aug 20 01:26:52 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8059
8060 * config/tc-i386.c (md_pseudo_table) [OBJ_ELF]: Handle ".zero".
8061
8062 Thu Aug 19 12:15:18 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8063
8064 * config/tc-sparc.c (s_local): Function moved and renamed...
8065 * config/obj-elf.c (obj_elf_local): ...to here.
8066 * config/tc-sparc.c (md_pseudo_table), config/obj-elf.c
8067 (obj_pseudo_table): Move handling of ".local".
8068
8069 * tc.h (md_parse_option): Don't declare if defined as a macro.
8070
8071 * config/tc-i386.h (NO_RELOC) [BFD_ASSEMBLER]: Define as
8072 BFD_RELOC_NONE.
8073 (md_parse_option): New macro, converted from function.
8074 * config/tc-i386.c (md_parse_option): Function deleted.
8075 (comment_chars) [OBJ_ELF]: Include "/".
8076 (line_comment_chars) [OBJ_ELF || TE_I386AIX]: Don't include "/".
8077 (md_assemble): Cast 0xe9 to char explicitly, to avoid compiler
8078 warning.
8079 (md_assemble, md_estimate_size_before_relax, md_create_long_jump):
8080 Call reloc for fix_new type, or use correct enumerator, instead of
8081 always using NO_RELOC.
8082 (i386_operand): Change "ifndef I386COFF" to "ifdef OBJ_AOUT" for
8083 tests for valid section.
8084 (md_convert_frag) [BFD_ASSEMBLER]: Compensate for frag start
8085 address.
8086 (md_apply_fix_1) [BFD_ASSEMBLER]: For pc-relative reloc with
8087 symbol, compensate for location of reloc.
8088 (reloc, BFD_RELOC_32, BFD_RELOC_32_PCREL) [!BFD_ASSEMBLER]: Define
8089 to return zero.
8090
8091 Wed Aug 18 16:51:29 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8092
8093 * config/obj-elf.c: Undef NO_RELOC before including aout/aout64.h.
8094 (obj_elf_weak): New function.
8095 (obj_pseudo_table): Handle ".weak".
8096 (obj_elf_section): If section directive includes a string, ignore
8097 it for now. Accept "progbits" flag.
8098 (obj_elf_type): Accept `@' before flag name.
8099
8100 * write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Get rid of `if(1)'
8101 condition.
8102 (fixup_segment) [BFD_ASSEMBLER]: Use bfd_is_com_section, rather
8103 than checking for bfd_com_section directly.
8104 (fixup_segment): Simplify range check.
8105 (fixup_segment) [OBJ_COFF && TC_I960]: Simplify cpp condition
8106 test.
8107
8108 * symbols.h (S_SET_WEAK): Declare.
8109 * symbols.c (S_SET_WEAK): New function.
8110 (S_SET_EXTERNAL, S_CLEAR_EXTERNAL): Don't bother with BSF_EXPORT,
8111 it's not a separate flag any more. Clear BSF_WEAK.
8112
8113 * read.c (potable): Treat "string" like "asciz".
8114
8115 Wed Aug 18 15:30:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8116
8117 * config/tc-mips.c (append_insn): Don't swap branch instructions
8118 if .set nobopt or .set volatile.
8119 (gp_reference): .lit8 and .lit4 are accessed via the GP register.
8120 (macro): Added cases M_LI_S, M_LI_SS. Fixed M_LI_D and M_LI_DD.
8121 (mips_ip): Added cases 'F', 'L', 'f', 'l' for floating point.
8122 * config/obj-ecoff.c: Renamed some variables to avoid shadow
8123 warnings.
8124
8125 Mon Aug 16 14:16:02 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
8126
8127 * config/obj-coff.h (S_IS_COMMON): add missing backslash
8128
8129 * configure.in (z8k-*-{coff,sim}): use coffbfd for this target
8130
8131 Thu Aug 12 11:47:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8132
8133 * config/tc-mips.c (mips_ip): Suggested by
8134 davidj@ICSI.Berkeley.EDU (David Johnson): Don't accept symbolic
8135 names for 'E' and 'G' argument types (coprocessor registers) and
8136 don't warn if $1 is used on the coprocessor.
8137 (macro): Handle M_{L,S}WC{0,2,3}_AB correctly.
8138
8139 Mon Aug 9 12:09:14 1993 Doug Evans (dje@canuck.cygnus.com)
8140
8141 * read.c (emit_expr): Use BFD_RELOC_16 for 2-byte values.
8142 * config/tc-sparc.c (md_apply_fix, tc_gen_reloc): Handle
8143 BFD_RELOC_16.
8144 * config/tc-sparc.h (WORKING_DOT_WORD): Define.
8145
8146 Mon Aug 9 13:36:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8147
8148 * write.c (merge_data_into_text): Define only if BFD_ASSEMBLER is
8149 defined or BFD is not.
8150 (relax_and_size_all_segments): Declare local variable fragP.
8151
8152 Fri Aug 6 15:22:53 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8153
8154 * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_32): Fill in
8155 bytes with real values, not zeros.
8156
8157 Fri Aug 6 10:57:59 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8158
8159 * configure.in (mips-*-riscos*, mips-*-sysv*): New (untested)
8160 targets, using ecoff and mips-big.
8161
8162 * config/tc-mips.c (mips_ip): From davidj@ICSI.Berkeley.EDU (David
8163 Johnson): Added case for 'C' for coprocessor instruction codes.
8164
8165 Thu Aug 5 13:08:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8166
8167 * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_64): Fill in
8168 bytes with real values, not zeros.
8169 (md_pseudo_table): Call cons for .uaxword.
8170
8171 * config/obj-elf.c (obj_pseudo_table): Handle ".8byte".
8172
8173 * read.c (emit_expr): Use BFD_RELOC_64 for 8-byte expressions.
8174
8175 * write.c (write_object_file): Test DEBUG_SYMS instead of DEBUG
8176 for verifying symbol chain.
8177 (merge_data_into_text, relax_and_size_all_segments): New
8178 functions, split out from write_object_file.
8179
8180 Tue Aug 3 15:43:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8181
8182 * config/obj-elf.c (obj_elf_stab_generic, in disabled code): If
8183 debug section is new, allocate an extra 12 bytes at its start. If
8184 ".stabs" type is N_SO, fill in filename symbol field of that first
8185 entry. Return early if "goof", to simplify later code slightly.
8186 (adjust_stab_sections): New function.
8187 (elf_frob_file): Apply adjust_stab_sections to each section.
8188
8189 * config/obj-elf.c (obj_elf_section, obj_elf_previous): No longer
8190 static.
8191 * config/obj-elf.h (obj_elf_section, obj_elf_previous): Declare.
8192 * config/tc-sparc.c (md_pseudo_table): Call them for "pushsection"
8193 and "popsection", and call cons for "uaword" and "uahalf".
8194
8195 * config/obj-elf.c (obj_elf_version): Use English in error
8196 messages.
8197
8198 Tue Aug 3 11:29:06 1993 Ian Lance Taylor (ian@cygnus.com)
8199
8200 * config/obj-ecoff.c: Updated for BFD ECOFF changes. Now gets the
8201 swapping routines and external structure sizes via the
8202 ecoff_backend information. No longer includes coff/mips.h.
8203
8204 Mon Aug 2 17:35:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8205
8206 * config/obj-ecoff.c (get_tag): Save tag name in permanent memory
8207 and in hash_ptr->string.
8208
8209 * app.c (do_scrub_next_char): Reset state to 0 after .appline if
8210 file name is not seen.
8211
8212 Mon Aug 2 11:51:41 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8213
8214 * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_64): New case,
8215 parallel to BFD_RELOC_32.
8216 (tc_gen_reloc): Accept BFD_RELOC_64.
8217
8218 Thu Jul 29 22:21:28 1993 Ian Lance Taylor (ian@cygnus.com)
8219
8220 * write.c: Don't use short int in a prototype.
8221
8222 * expr.c (operand): Make return value simply depend on contents of
8223 returned expression.
8224
8225 Thu Jul 29 18:38:37 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
8226
8227 * configure.in: sparc*-aout and sparc*-vxworks are BFD assemblers
8228
8229 Thu Jul 29 18:38:37 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
8230
8231 * config/ho-sunos.h: remove some old function decls that conflict
8232 w/ ANSI, and which weren't needed anyway
8233
8234 Wed Jul 28 16:34:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8235
8236 * config/obj-elf.h (obj_frob_symbol): Renamed from tc_frob_symbol,
8237 and disabled since it breaks Ian's new symbol-value code.
8238
8239 * expr.c (integer_constant): Accept more digits if BFD64.
8240
8241 Wed Jul 28 11:30:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8242
8243 * config/tc-m68k.c (m68k_ip): If we have a normal constant when we
8244 expect a bignum, turn it into a bignum. Output extra zeroes
8245 before a short bignum, rather than after.
8246
8247 Tue Jul 27 15:54:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8248
8249 * symbols.c (symbol_new): Conditionalize verify_symbol_chain call
8250 on DEBUG_SYMS, not DEBUG.
8251 (symbol_remove): Likewise.
8252 (symbol_insert): Likewise.
8253
8254 Tue Jul 27 08:45:05 1993 Ian Lance Taylor (ian@cygnus.com)
8255
8256 * config/tc-mips.c (mips_optimize): New static variable.
8257 (append_insn): If mips_optimize == 0, always insert NOP
8258 instructions. If mips_optimize < 2, don't swap branches.
8259 (md_parse_option): If -Ox or -gx, set mips_optimize accordingly.
8260
8261 Mon Jul 26 18:02:43 1993 K. Richard Pixley (rich@sendai.cygnus.com)
8262
8263 * Makefile.in (clean): if testsuite does not exist, then skip it.
8264
8265 Fri Jul 23 14:13:25 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8266
8267 * config/tc-mips.c (prev_insn_unreordered,
8268 prev_prev_insn_unreordered): New static variables.
8269 (append_insn): Don't swap branch instruction if
8270 prev_prev_insn_unreordered (see comment).
8271 (mips_no_prev_insn): Clear the unreordered variables.
8272 (s_mipsset): When turning on reordering, set the unreordered
8273 variables.
8274
8275 Fri Jul 23 13:09:44 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8276
8277 * config/obj-elf.c (obj_elf_section): Sections ".init" and ".fini"
8278 are also magic, and have special default flag settings.
8279 (obj_elf_frob_symbol): Since the return value from this function
8280 isn't used, don't bother calling obj_elf_write_symbol_p, since it
8281 doesn't accomplish anything else.
8282
8283 * config/tc-sparc.c (md_section_align): Round up section size only
8284 for a.out format.
8285
8286 * symbols.c: Don't define DEBUG by default.
8287
8288 Thu Jul 22 12:09:41 1993 Ian Lance Taylor (ian@cygnus.com)
8289
8290 * write.c (fix_new_exp): Handle a O_uminus expression.
8291
8292 * expr.c (expr): Don't let absolute_section override
8293 undefined_section for the return value.
8294
8295 * read.c (read_a_source_file): In NO_PSEUDO_DOT case, if we find a
8296 pseudo-op with a poc_handler field of NULL, ignore it and treat it
8297 as an instruction instead.
8298 * config/tc-m88k.c (md_pseudo_table): Add "set" with a NULL
8299 poc_handler field.
8300
8301 * config/tc-h8500.c (md_begin): Use a local variable when
8302 initializing md_relax_table to avoid warnings about modifying a
8303 supposedly const data structure.
8304
8305 Thu Jul 22 10:58:51 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
8306
8307 * config/obj-aout.c: Only include aout/aout64.h if BFD_ASSEMBLER
8308 is defined.
8309
8310 Wed Jul 21 17:32:02 1993 Fred Fish (fnf@deneb.cygnus.com)
8311
8312 * configure.in (case ${host}): Map *-*-sysv4* to gas_host=sysv.
8313 * configure.in (case ${generic_target}): Add i[34]86-*-sysv4*
8314 case to set obj_format=elf. Must go before i386-*-sysv* case that
8315 sets obj_format=coffbsd. Add *-*-sysv4* to *-*-elf and
8316 *-*-solaris case, and move to before *-sysv* case that wants to
8317 set obj_format to coff.
8318 * config/tc-i386.c (i386_operand): Change all 'exp.X_op' to
8319 'exp->X_op'.
8320 * config/tc-i386.c (md_apply_fix): Fix valp to be 'valueT *' for
8321 BFD_ASSEMBLER case.
8322
8323 Wed Jul 21 12:47:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8324
8325 * config/obj-aout.c: Include aout/aout64.h.
8326 (obj_aout_frob_symbol): Set BSF_DEBUGGING for a constructor
8327 symbol, so that BFD doesn't tamper with the type.
8328
8329 * read.c (read_a_source_file): If NO_PSEUDO_DOT is defined, look
8330 up opcodes as pseudo-ops even if they don't start with '.'.
8331 * config/tc-m88k.h (NO_PSEUDO_DOT): Define.
8332 * config/tc-m88k.c (md_assemble): Removed special pseudo-op
8333 handling.
8334 (md_apply_fix): Set fx_offset to the upper 16 bits of the reloc.
8335 Output the low 16 bits for RELOC_HI16, not the high 16 bits.
8336 * config/obj-coffbfd.c (do_relocs_for): If TC_M88K, set the
8337 r_offset field of the reloc to the fixup offset.
8338 (fixup_segments): If TC_M88K, don't warn about fixup overflows.
8339 * doc/as.texinfo: Minor updates.
8340
8341 Tue Jul 20 19:28:56 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8342
8343 * Extensive changes to permit symbols to contain any expression
8344 type and to delay the computation of the expression until the
8345 value is actually needed. This permits setting symbols to values
8346 calculated based on object code size. Expressions were changed to
8347 no longer be in a section, to stop the overloading of segment and
8348 expression type that previously occurred.
8349
8350 * as.c (big_section, pass1_section, diff_section, absent_section):
8351 Removed.
8352 (expr_section): Added (used for dummy symbols which hold
8353 intermediate expression values).
8354 (perform_an_assembly_pass): Create expr_section, do not create the
8355 sections now removed.
8356 * as.h (segT): Removed SEG_ABSENT, SEG_PASS1, SEG_BIG, and
8357 SEG_DIFFERENCE. Added SEG_EXPR.
8358 (SEG_NORMAL): Corresponding changes.
8359 * subsegs.c (seg_name, subsegs_begin): Changed accordingly.
8360 * write.c (write_object_file): Ditto.
8361 * config/obj-aout.c (seg_N_TYPE): Ditto.
8362 * config/obj-bout.c (seg_N_TYPE): Ditto.
8363 * config/obj-coff.c (seg_N_TYPE): Ditto.
8364 * config/obj-coffbfd.c (seg_N_TYPE): Ditto.
8365 * config/obj-vms.c (seg_N_TYPE): Ditto.
8366
8367 * expr.h (operatorT): Moved in from expr.c, added some values.
8368 (expressionS): Added X_op field, removed X_seg field; renamed
8369 X_subtract_symbol to X_op_symbol.
8370 * expr.c: Extensive changes to assign expression types rather than
8371 sections and to simplify the parsing.
8372 * write.c (fix_new_internal): New static function.
8373 (fix_new): Removed sub_symbol argument.
8374 (fix_new_exp): New function, takes expression argument.
8375 * write.h: Prototype changes for fix_new and fix_new_exp.
8376 * cond.c (s_if): Changed accordingly.
8377 * read.c (s_lsym, pseudo_set, emit_expr, parse_bitfield_cons,
8378 parse_repeat_cons, get_segmented_expression,
8379 get_known_segmented_expression, get_absolute_expression): Ditto.
8380 * symbols.c (resolve_symbol_value, S_GET_VALUE, S_SET_VALUE):
8381 Ditto.
8382 * write.c (write_object_file): Ditto.
8383 * config/obj-coff.c (obj_coff_def, obj_coff_val): Ditto.
8384 * config/obj-coffbfd.c (obj_coff_def, obj_coff_val,
8385 obj_coff_endef, yank_symbols): Ditto.
8386 * config/obj-elf.c (obj_elf_stab_generic, obj_elf_size): Ditto.
8387 * config/tc-a29k.c (md_assemble, parse_operand, machine_ip,
8388 print_insn, md_operand): Ditto.
8389 * config/tc-h8300.c (parse_exp, colonmod24, check_operand,
8390 do_a_fix_imm, build_bytes): Ditto.
8391 * config/tc-h8500.c (parse_exp, skip_colonthing, parse_reglist,
8392 get_specific, check, insert, md_convert_frag): Ditto.
8393 * config/tc-hppa.c (the_insn, fix_new_hppa, cons_fix_new_hppa,
8394 md_assemble, pa_ip, getExpression, getAbsoluteExpression,
8395 evaluateAbsolute, pa_build_unwind_subspace, pa_entry,
8396 process_exit): Ditto.
8397 * config/tc-hppa.h (STAB_FIXUP, is_DP_relative, is_PC_relative,
8398 is_complex): Ditto.
8399 * config/tc-i386.c (pe, md_assemble, i386_operand,
8400 md_estimate_size_before_relax, md_create_long_jump): Ditto.
8401 * config/tc-i860.c (md_assemble, getExpression, print_insn):
8402 Ditto.
8403 * config/tc-i960.c (parse_expr, subs, segs, md_convert_frag,
8404 get_cdisp, mem_fmt, parse_ldconst, relax_cobr, s_sysproc,
8405 i960_handle_align): Ditto.
8406 * config/tc-m68k.c (struct m68k_exp, struct m68k_it, seg, op,
8407 subs, add_fix, isvar, m68k_ip, md_assemble, md_convert_frag_1,
8408 md_estimate_size_before_relax, md_create_long_jump, get_num):
8409 Ditto.
8410 * config/tc-m88k.c (md_assemble, get_imm16, get_pcr,
8411 md_create_short_jump, md_create_long_jump): Ditto.
8412 * config/tc-mips.c (md_assemble, append_insn, gp_reference,
8413 macro_build, macro, my_getExpression): Ditto. Also removed
8414 get_optional_absolute_expression; just use get_absolute_expression
8415 instead.
8416 * config/tc-ns32k.c (get_addr_mode, evaluate_expr, convert_iif,
8417 fix_new_ns32k, fix_new_ns32k_exp, cons_fix_new_ns32k): Ditto.
8418 * config/tc-ns32k.h (fix_new_ns32k prototype): Ditto.
8419 * config/tc-sh.c (parse_exp, check, insert, md_convert_frag):
8420 Ditto.
8421 * config/tc-sparc.c (md_assemble, sparc_ip, getExpression,
8422 print_insn): Ditto.
8423 * config/tc-tahoe.c (struct top, md_estimate_size_before_relax,
8424 tip_op, md_assemble): Ditto.
8425 * config/tc-vax.c (seg_of_operand, md_assemble,
8426 md_estimate_size_before_relax, md_create_long_jump): Ditto.
8427 * config/tc-z8k.c (parse_exp, check_operand, newfix): Ditto.
8428
8429 Tue Jul 20 12:17:16 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
8430
8431 * configure.in: i386-lynx is the same as i386-coff
8432
8433 Mon Jul 19 15:21:20 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
8434
8435 * config/obj-elf.c (obj_elf_previous): New function.
8436 (previous_section, previous_subsection): New vars.
8437 (obj_elf_section): Save current place in case DWARF code wants us
8438 to pop back to it. Handle unquoted section name as well as quoted
8439 section name. Don't crash on invalid strings.
8440 (obj_pseudo_table): Handle new pseudos "previous", "2byte", and
8441 "4byte".
8442
8443 * config/obj-elf.h: Don't include struc-symbol.h.
8444 (obj_elf_frob_symbol): Declare arg as struct symbol *.
8445
8446 * tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Local labels can start with
8447 "L" or "_.L_".
8448
8449 * write.c (write_relocs): New function, split off from
8450 write_contents. Use memset instead of bzero.
8451 (write_object_file): Apply write_relocs to each section before
8452 applying write_contents.
8453
8454 * read.c (read_begin): Call obstack_begin with values closer to 1K
8455 multiples.
8456 (read_a_source_file, big_cons, float_cons): Use memcpy instead of
8457 bcopy.
8458
8459 Mon Jul 19 14:30:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8460
8461 * config/tc-m68k.c (m68k_ip_op): Don't decrement strend when
8462 calculating opP->isiz; this permits the expression size to be
8463 determined as well, later on.
8464
8465 * expr.c (clean_up_expression): Don't cancel the subtraction of
8466 undefined symbols.
8467
8468 * read.c (s_data), config/obj-coffbfd.c (obj_coff_data): If -R,
8469 switch to text section rather than data section.
8470
8471 Mon Jul 19 12:35:39 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8472
8473 * config/tc-m68k.c (m68k_ip, case AINDX): Add 6 to operand
8474 expression (to take the pc-rel instruction itself into account)
8475 before using the expression, instead of after.
8476
8477 Fri Jul 16 08:56:04 1993 Ian Lance Taylor (ian@cygnus.com)
8478
8479 * read.c (float_cons): Simplified parsing logic. If
8480 REPEAT_CONS_EXPRESSIONS is defined, accept a repeat count.
8481
8482 * symbols.c (colon): Rather than a special case for TC_HPPA,
8483 use new macro tc_frob_label.
8484 * config/tc-hppa.h (tc_frob_label): Define.
8485
8486 * config/tc-mips.c: Many changes to support simple assembler
8487 optimization.
8488 (insn_label, prev_insn, prev_prev_insn, dummy_opcode,
8489 prev_insn_valid, prev_insn_frag, prev_insn_where,
8490 prev_insn_fixp, prev_insn_is_delay_slot): New static
8491 variables.
8492 (insn_uses_reg, mips_no_prev_insn, mips_emit_delays,
8493 mips_align, s_stringer, s_mips_space): New static functions.
8494 (mips_define_label): New global function.
8495 (md_pseudo_table): For "ascii", "asciz", "asciiz", call
8496 s_stringer. Changed argument to float_cons from 0 or 1 to 'f'
8497 or 'd'. For "space" call s_mips_space.
8498 (md_begin): Call mips_no_prev_insn.
8499 (append_insn): Only insert necessary NOP instructions.
8500 (macro): Call mips_emit_delays before setting mips_noreorder.
8501 Increment and decrement mips_noreorder rather than using
8502 save_reorder_condition. Don't bother to use noreorder in
8503 M_L_DOB and M_L_DAB, since append_insn will not insert a NOP.
8504 (md_atof): Handle floating point numbers correctly for both
8505 big and little endian targets.
8506 (s_align, s_cons): Call mips_align rather than frag_align.
8507 (s_change_seg, s_cons): Call mips_emit_delays.
8508 (s_float_cons): Let float_cons do the work.
8509 (s_mipsset): Call mips_emit_delays when setting noreorder.
8510 * config/tc-mips.h (tc_frob_label): Define to be
8511 mips_define_label.
8512
8513 * config/obj-ecoff.c (ecoff_build_symbols, ecoff_build_procs,
8514 ecoff_frob_files): Consistently use S_GET_VALUE rather than
8515 bfd_asymbol_value. Warn if taking difference of symbols in
8516 different segments.
8517
8518 Thu Jul 15 11:51:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8519
8520 * config/obj-ecoff.c (ecoff_frob_file): Discard all open scopes,
8521 with a warning.
8522
8523 * config/obj-coffbfd.c (fixup_segment): If TC_M88K, don't adjust
8524 by md_pcrel_from if we are relocating against a symbol (we still
8525 need md_pcrel_from for a PC relative relocation within the same
8526 file).
8527 * config/tc-m88k.c (md_pcrel_from): Corrected return value.
8528 (omagic): Removed unused variable.
8529
8530 * Preliminary support for m88k-coff.
8531 * configure.in (m88k-*-coff*): New target. Use coffbfd and
8532 m88kcoff.
8533 * config/m88kcoff.mt: New file.
8534 * read.c (lex_type): New macro LEX_AT to set lex type of '@'.
8535 (pseudo_set): Handle difference of symbols in different fragments
8536 by saving the entire expression as the value of the symbol.
8537 * symbols.c (resolve_symbol_value): Resolve difference
8538 expressions.
8539 * config/obj-coffbfd.c (obj_pseudo_table): If TC_M88K, accept
8540 "sdef" as a synonym for "def".
8541 * config/obj-coffbfd.h: If TC_M88K, include coff/m88k.h and set
8542 TARGET_FORMAT.
8543 (S_IS_LOCAL): Any symbol which includes \001 in the name is local.
8544 * config/tc-m88k.c, config/tc-m88k.h: Numerous changes to bring
8545 m88k port up to date, and to add COFF support.
8546
8547 Wed Jul 14 15:09:32 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8548
8549 * Removed sy_forward and replaced it with an undefined expression
8550 as the value of a symbol.
8551 * struc-symbol.h (struct symbol): Removed sy_forward field. Added
8552 sy_resolved and sy_resolving single bit fields.
8553 * symbols.c (symbol_new): Don't initialize sy_forward field.
8554 (resolve_symbol_value): New function to adjust symbol value by
8555 fragment address, using recursion to resolve forward symbols.
8556 * symbols.h: Added prototype for new function.
8557 * read.c (pseudo_set): Set symbolP->sy_value to an undefined
8558 expression rather than setting symbolP->sy_forward.
8559 * write.c (write_object_file): Use resolve_symbol_value on
8560 symbols, keeping the common case (the old behaviour) inline.
8561 * config/obj-aout.c (obj_aout_frob_symbol): Removed sy_forward
8562 handling (subsumed by write.c change).
8563 * config/obj-coff.c, config/obj-coffbfd.c (obj_coff_val): Set
8564 sy_value rather than sy_forward.
8565 * config/obj-coffbfd.c (obj_coff_endef, yank_symbols): Check
8566 expression segment rather than sy_forward.
8567 (yank_symbols): Use resolve_symbol_value.
8568 (crawl_symbols): Removed extra pass over symbols.
8569 * config/obj-aout.c, config/obj-bout.c, config/obj-coff.c,
8570 config/obj-vms.c (obj_crawl_symbol_chain): Removed extra pass over
8571 symbols which handled sy_forward; use resolve_symbol_value
8572 instead.
8573 * config/obj-coff.h, config/obj-coffbfd.h (obj_frob_forward_symbol):
8574 Define.
8575 * config/obj-elf.c (obj_elf_stab_generic): Check expression
8576 segment rather than sy_forward.
8577 * config/obj-vms.c (VMS_Check_For_Main): Don't initialize
8578 sy_forward; do initialize sy_resolved and sy_resolving.
8579 * config/tc-hppa.h (STAB_FIXUP): Use sy_value, not sy_forward.
8580
8581 * Changes to keep a full expression as the value of a symbol, not
8582 just a longword:
8583 * struc-symbol.h: New field sy_value.
8584 * as.h: Include expr.h before struc-symbol.h.
8585 * expr.h: Use struct symbol rather than symbolS.
8586 * symbols.c (S_GET_VALUE, S_SET_VALUE): Rewrote to retrieve value
8587 of sy_value field; compile unconditionally, not just if
8588 BFD_ASSEMBLER.
8589 * symbols.h: Compile S_{SG}ET_VALUE prototypes unconditionally.
8590 * write.c (write_object_file): Set BFD symbol value to gas symbol
8591 value.
8592 * config/obj-aout.h, config/obj-bout.h, config/obj-coff.h,
8593 config/obj-coffbfd.h, config/obj-generic.h, config/obj-vms.h
8594 (S_GET_VALUE, S_SET_VALUE): Removed macro definitions.
8595 * config/obj-ieee.c (S_GET_VALUE, S_SET_VALUE): Removed.
8596 * config/obj-coff.h, obj-coffbfd.h: Rewrote several macros to use
8597 S_GET_VALUE rather than ost_entry.n_value.
8598 * config/obj-aout.c (obj_symbol_to_chars), config/obj-bout.c
8599 (obj_symbol_to_chars), config/obj-coff.c (obj_symbol_to_chars),
8600 config/obj-coffbfd.c (symbol_to_chars): Get value to write out
8601 using S_GET_VALUE--don't assume it is already set.
8602 * config/obj-ieee.c (do_symbols): Set BFD symbol value to gas
8603 symbol value.
8604 * config/obj-vms.c (various): Don't assign directly to
8605 S_GET_VALUE; use S_SET_VALUE instead.
8606
8607 Wed Jul 14 09:35:23 1993 Doug Evans (dje@canuck.cygnus.com)
8608
8609 * configure.in: Make sparc64-*-aout* use bfd gas.
8610
8611 * configure.in: Recognize h8300h.
8612
8613 Tue Jul 13 12:09:44 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
8614
8615 * config/tc-h8500.c (line_comment_chars): Add hash.
8616 (parse_exp, skip_colonthing, build_bytes): Add support for
8617 R_H8500_HIGH16 relocation type.
8618
8619 Mon Jul 12 11:15:34 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
8620
8621 * config/obj-elf.c (obj_elf_section): Allow `@' to introduce an
8622 attribute name. Handle `execinstr' attribute.
8623
8624 Mon Jul 12 07:22:28 1993 Ian Lance Taylor (ian@cygnus.com)
8625
8626 * config/tc-mips.c (mips_ip): Don't warn on 'i' or 'j' mismatch if
8627 there is another alternative for the instruction.
8628
8629 Fri Jul 9 17:31:34 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
8630
8631 * doc/as.texinfo: updates for H8/300H
8632
8633 Thu Jul 8 14:41:43 1993 Mark Eichin (eichin@cygnus.com)
8634
8635 * config/tc-i960.c (md_create_short_jump, md_create_long_jump,
8636 md_number_to_chars, md_section_align): Adjusted to use valueT,
8637 addressT, to match tc.h.
8638
8639 Thu Jul 8 14:15:05 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8640
8641 * config/tc-sparc.c (s_common): Revamp to handle both syntaxes,
8642 independent of format.
8643
8644 Thu Jul 8 07:25:25 1993 Doug Evans (dje@canuck.cygnus.com)
8645
8646 * config/tc-h8300.h (TC_CONS_RELOC): Use R_RELLONG if h8/300h.
8647
8648 Wed Jul 7 18:11:07 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com)
8649
8650 * configure.in: define CROSS=-DCROSS_COMPILE if it is a cross
8651 build; also recognize h8300-*-coff
8652
8653 Wed Jul 7 10:21:24 1993 Ian Lance Taylor (ian@cygnus.com)
8654
8655 * symbols.c (fb_label_instance, fb_label_instance_inc): Don't dump
8656 core just because somebody uses a label before it is defined.
8657
8658 * config/mips-opcode.h: Moved to opcode/mips.h.
8659 * config/tc-mips.c: Include opcode/mips.h rather than
8660 mips-opcode.h.
8661 (append_insn): An extra NOP is only needed after instructions
8662 which set HI or LO, not after instructions which read it.
8663 (macro_build, mips_ip): Support new 'E', 'G' and 'B' arguments.
8664 (macro): cfc1 and ctc1 now take "t,G" rather than "t,d".
8665 * config/tc-mips.h (struct mips_opcode): Don't define.
8666 * config/mips-big.mt, config/mips-lit.mt (TARG_CPU_DEPENDENTS):
8667 Set to $(srcdir)/../include/opcode/mips.h.
8668
8669 Get the MIPS assembler up to speed with other gas changes:
8670
8671 * config/obj-ecoff.c (ecoff_set_vma, ecoff_frob_symbol):
8672 Removed; don't change the symbol value.
8673 (ecoff_build_symbols, ecoff_build_procs, ecoff_frob_file): Use
8674 bfd_asymbol_value rather than S_GET_VALUE to include section
8675 vma in symbol value.
8676 (ecoff_frob_file): Ignore BSF_SECTION_SYM symbols, since ECOFF
8677 doesn't output them. Set the vma of sections.
8678 * config/obj-ecoff.h: Don't define obj_frob_symbol.
8679 * config/tc-mips.c (tc_gen_reloc): Adjustment by section vma is no
8680 longer necessary.
8681 (various): use valueT rather than long.
8682
8683 Wed Jul 7 08:33:30 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8684
8685 * config/tc-sparc.h (ENV64): Define for v9.
8686
8687 * config/tc-sparc.c (s_xword): For numbers, call big_cons.
8688 (sparc_ip, md_apply_fix, tc_gen_reloc): Handle some sparc64
8689 relocation types.
8690 (md_number_to_chars): Handle 8-byte value.
8691
8692 * config/obj-elf.h (elf_symbol): For v9, use 64-bit symbol type.
8693
8694 * as.h (valueT): Typedef moved here.
8695 * struc-symbol.h (valueT): ...from here.
8696 * write.c (write_object_file): Locals from_addr, to_addr,
8697 table_addr are now addressT. Supply prototype for bfd_alloc for
8698 now.
8699 (fixup_segment): Local add_number is now valueT. Correct some
8700 range-checking bugs.
8701 (relax_align): Type `int' should be sufficient for the exponent.
8702 (fix_new): Argument offset is type offsetT. Locals size and
8703 newsize are type valueT.
8704 * write.h (struct fix): Fields fx_offset and fx_addnumber are now
8705 type valueT.
8706 (fix_new): Fix prototype.
8707 * symbols.c (symbol_new): Symbol value is type valueT.
8708 (S_SET_VALUE, S_GET_VALUE): Likewise.
8709 (S_IS_*): Specify int return type explicitly.
8710 * symbols.h (symbol_new, S_GET_VALUE, S_SET_VALUE): Fixed
8711 prototypes.
8712 * read.c (s_comm): Values read are type valueT.
8713 * expr.h (expressionS): Field X_add_number is an offsetT.
8714 * tc.h (md_create_long_jump, md_create_short_jump,
8715 md_section_align): Addresses are now type addressT.
8716 (md_number_to_chars, md_apply_fix): Pass value as valueT.
8717 * config/tc-i386.c (md_create_short_jump, md_create_long_jump,
8718 md_number_to_chars, md_section_align): Adjusted.
8719 * config/tc-sparc.c (sparc_ip): Initialize `len' variable to make
8720 gcc shut up.
8721 (md_create_short_jump, md_create_long_jump, md_number_to_chars,
8722 md_section_align): Adjusted.
8723
8724 * config/tc-sparc.c (s_reserve): Permit use for other than a.out
8725 format.
8726 (s_common): Handle Solaris-2 version.
8727
8728 * config/ho-generic.h (free): Returns void if __STDC__.
8729
8730 * config/obj-elf.h (obj_elf_frob_symbol, elf_frob_file,
8731 elf_file_symbol): Declare.
8732
8733 * expr.c (floating_constant, integer_constant): Now return void.
8734
8735 Thu Jul 1 12:13:43 1993 Ian Lance Taylor (ian@cygnus.com)
8736
8737 * configure.in: Match on sparc*-fujitsu-none rather than
8738 sparclite*-fujitsu-none.
8739
8740 Wed Jun 30 11:12:02 1993 Ian Lance Taylor (ian@cygnus.com)
8741
8742 * read.c (cons): Conditionalize parsing of expression. Move
8743 putting value into object file into separate function. Separate
8744 out MRI and WANT_BITFIELDS cases into separate functions.
8745 (emit_expr): New function to write data into object file.
8746 Conditionalize on TC_CONS_FIX_NEW and TC_CONS_RELOC rather than on
8747 processor types.
8748 (parse_bitfield_cons): New function to parse bitfield expressions
8749 as used by i960 assemblers. Only compiled if
8750 BITFIELD_CONS_EXPRESSIONS is defined.
8751 (parse_mri_cons): New function to parse MRI style strings. Only
8752 compiled if MRI is defined.
8753 (parse_repeat_cons): New function to parse repeat counts. Only
8754 compiled if REPEAT_CONS_EXPRESSIONS is defined.
8755 * read.h (emit_expr): Added declaration of new function.
8756 * config/tc-a29k.h (TC_CONS_RELOC): Define to be RELOC_32.
8757 * config/tc-h8300.h (TC_CONS_RELOC): Define to be R_RELWORD.
8758 * config/tc-hppa.c (parse_cons_expression_hppa): New function to
8759 parse a HPPA expression, rather than special case in cons
8760 function.
8761 (cons_fix_new_hppa): New function to emit an HPPA fixup, rather
8762 than special case in emit_expr function.
8763 * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION, TC_CONS_FIX_NEW):
8764 Define to use new functions from tc-hppa.c.
8765 * config/tc-i960.h (BITFIELD_CONS_EXPRESSIONS): Define.
8766 (WANT_BITFIELDS): Removed; now obsolete.
8767 * config/tc-mips.h (REPEAT_CONS_EXPRESSIONS): Define.
8768 * config/tc-ns32k.c (cons_fix_new_ns32k): New function to emit an
8769 NS32K fixup, rather than special case in emit_expr function.
8770 * config/tc-ns32k.h (TC_CONS_FIX_NEW): Define to be
8771 cons_fix_new_ns32k. Also use PARAMS rather than checking
8772 __STDC__.
8773 * config/tc-sparc.h (TC_CONS_RELOC): Define to RELOC_32.
8774
8775 * write.c (relax_and_size_seg, adjust_reloc_syms, write_contents):
8776 Don't core dump if gas has no information about a section.
8777
8778 Wed Jun 30 06:21:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8779
8780 * config/tc-sparc.c (md_begin): If sparcv9 is defined, reset
8781 current_architecture to v9 automatically.
8782
8783 * config/tc-sparc.h (TARGET_FORMAT): Use elf64-sparc for v9.
8784
8785 * config/tc-sparc64.h, config/tc-sparc64.c: New files.
8786 * configure.in: Use sparc64 cpu files for v9, and default to elf
8787 format.
8788
8789 * write.c (relax_and_size_seg): Always fully process a section.
8790 Section size is last frag's (vm)address plus its size. If no
8791 relocations are present, force SEC_RELOC flag clear.
8792 (dump_section_relocs): New debugging routine.
8793 (adjust_reloc_syms): New routine, broken out from write_contents.
8794 Don't adjust relocs that are already relative to section symbol.
8795 Look for obj_fix_adjustable macro to know what else to skip,
8796 instead of obj_write_symbol. Look for section symbol stored in
8797 section information.
8798 (write_object_file): Map adjust_reloc_syms over all sections.
8799 (write_contents): Clear SEC_RELOC flag if no relocations are
8800 found.
8801
8802 * as.h (__PTR_TO_INT, __INT_TO_PTR): New versions for Saber, to
8803 keep it quiet.
8804
8805 * write.c (remove_subsegs): Don't define for BFD_ASSEMBLER.
8806
8807 Fri Jun 25 14:42:53 1993 K. Richard Pixley (rich@sendai.cygnus.com)
8808
8809 * Makefile.in (all, dvi, info, install-info, clean-info): do not
8810 echo recursion lines.
8811 (install-info, clean-info): collapse into the dvi and info rule.
8812
8813 Fri Jun 25 10:47:24 1993 Doug Evans (dje@canuck.cygnus.com)
8814
8815 * config/tc-sparc.c (sparc_ip): Remove support for %d/%q fp regs.
8816 All fp regs are now specified as %f.
8817 (priv_reg_table): fpq -> fq.
8818
8819 Fri Jun 25 03:43:06 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
8820
8821 * as.h (strstr): Disable declaration for now.
8822 (fprint_value, sprint_value): Declare.
8823
8824 * subsegs.c (subseg_new_rest): Use memset to clear new frag.
8825 (subseg_new) [BFD_ASSEMBLER]: Initialize all seginfo fields.
8826
8827 * expr.c (expr_part): Made sanity checks a.out-specific.
8828 (expr): Disabled sanity checks.
8829
8830 * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Add field for
8831 section symbol.
8832 * subsegs.c (subseg_change): Initialize section symbol pointer
8833 when setting up a new section.
8834
8835 * symbols.c (symbol_new) [BFD_ASSEMBLER]: Point BFD symbol's udata
8836 field back at gas symbol structure.
8837
8838 * symbols.c (colon): Cast obstack_next_free value to char* before
8839 doing arithmetic on it.
8840 * subsegs.c (subseg_new_rest): Likewise.
8841 * as.h (frag_now_fix): Likewise.
8842
8843 * config/obj-elf.c (elf_file_symbol): Use subseg_new instead of
8844 calling bfd_make_section_old_way directly, and call subseg_set
8845 instead of subseg_change. Now returns void.
8846 (obj_elf_write_symbol): Only check local symbols for now.
8847 (elf_stab_symbol): Now static and void, and disabled until it
8848 works completely.
8849 (obj_elf_size): For expression values, fail silently for now.
8850 (obj_symbol_new_hook): Do nothing.
8851
8852 * config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP22
8853 relocation.
8854 (s_local) [OBJ_ELF]: New function.
8855 (md_pseudo_table) [OBJ_ELF]: Call it for "local".
8856 (s_common): Rearrange to handle Solaris .common pseudo, which may
8857 sometimes use bss space instead of common.
8858 * config/obj-elf.h (TARGET_SYMBOL_FIELDS): Add new `local' field.
8859
8860 Thu Jun 24 16:33:53 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
8861
8862 * configure.in: set host config to hpux for hppa*-hp-hpux
8863
8864 Thu Jun 24 13:35:06 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
8865
8866 * app.c (app_pop, app_push): Fix bug reported by Chris Arthur.
8867
8868 Tue Jun 22 01:04:23 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
8869
8870 * subsegs.c (subseg_new): Don't special-case a.out -R flag here.
8871 * config/obj-aout.c (s_sect): Do it here.
8872
8873 * as.h (BAD_CASE): Don't make some lame compilers think we want
8874 substitution inside strings.
8875
8876 * as.c (print_version_id): New function, split off from main.
8877 (main): Call it.
8878 * config/tc-sparc.c (md_parse_option) [OBJ_ELF]: Print version id
8879 for -V. Ignore -Q and -s options for now.
8880
8881 Mon Jun 21 17:37:59 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
8882
8883 * Makefile.in: make installation & builds work again for crosses
8884
8885 Sun Jun 20 18:18:26 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
8886
8887 * listing.c (list_symbol_table): Rewrite to print wide (>32 bits)
8888 symbol values correctly.
8889
8890 * write.c (write_object_file): Deleted unused variables.
8891 (fixup_segment): Use sprint_value.
8892
8893 * messages.c (sprint_value, fprint_value): New routines.
8894
8895 * config/obj-elf.c (elf_stab_symbol): Now returns void.
8896 (obj_elf_stab_generic): Fix typo in logic.
8897
8898 * Makefile.in (INCLUDES): Look in ../bfd for bfd.h.
8899
8900 * as.h (addressT, offsetT): New types, using BFD types if
8901 available.
8902 (relax_addressT, struct frag): Use them.
8903 * struc-symbol.h (valueT, struct broken_word): Likewise.
8904
8905 * as.h (subseg_new) [BFD_ASSEMBLER]: Name argument is const.
8906 * subsegs.c (subseg_new) [BFD_ASSEMBLER]: Name argument is const.
8907
8908 Thu Jun 17 16:53:56 1993 david d `zoo' zuhn (zoo@cygnus.com)
8909
8910 * Makefile.in: canonicalize install.sh; for use within
8911 this directory (and subdirs)
8912
8913 Sun Jun 20 02:34:04 1993 Ashley Saulsbury (ans@sics.se)
8914
8915 * m88k-opcode.h : fixed tiny tiny mistake - xcr was incorrectly
8916 specified, should have both S1 and S2 fields identical
8917 If only finding the problem was as fast as fixing the bug !!!!
8918
8919 Tue Jun 15 16:01:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8920
8921 * write.c (write_contents): Do write out non-loadable sections.
8922 Debug sections can fall in this category.
8923
8924 * read.c (s_app_file): Call elf_file_symbol for ELF files.
8925 * config/obj-elf.c (elf_file_symbol): New function.
8926
8927 * config/obj-elf.c (elf_stab_symbol_string): Renamed from pa_...,
8928 added argument to specify section base name.
8929 (obj_elf_stab_generic): Renamed from ..._stab. New argument
8930 specifies section base name.
8931 (obj_elf_stab): New function, calls obj_elf_stab_generic with
8932 ".stab" as section base name.
8933 (obj_elf_xstab): New function, calls obj_elf_stab_generic.
8934 (obj_elf_type): Handle "object". Use bitwise-or to merge in
8935 symbol flags rather than simply replacing, so global/local flags
8936 are preserved.
8937 (obj_elf_ident): Rewrite.
8938
8939 Tue Jun 15 17:03:25 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
8940
8941 * Makefile.in: remove parentdir support; use INSTALL_XFORM
8942
8943 Wed Jun 9 11:26:07 1993 Ian Lance Taylor (ian@cygnus.com)
8944
8945 * config/tc-i386.c (md_pseudo_table): .align uses a power of two
8946 for any a.out target, not just Linux and 386BSD.
8947 * config/tc-i386.h (DOT_LABEL_PREFIX): Do not define for any a.out
8948 target.
8949
8950 Mon Jun 7 13:33:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8951
8952 * config/tc-m88k.c: Don't include flonum.h, md.h, m88k.h. They
8953 don't exist or duplicate other inclusions.
8954
8955 * config/tc-vax.h (NO_RELOC): Define.
8956
8957 Mon Jun 7 09:55:03 1993 Doug Evans (dje@canuck.cygnus.com)
8958
8959 * config/tc-sparc.c (sparc_ip): Fix parsing of asi number.
8960 Fix error message.
8961
8962 Sat Jun 5 19:32:52 1993 Torbjorn Granlund (tege@nada.kth.se)
8963
8964 * gas/config/m88k-opcode.h (m88k_opcodes): Add 88110 instructions.
8965 * gas/config/tc-m88k.c (get_reg): New arg reg_prefix. Compare first
8966 char to reg_prefix instead of to 'r'.
8967 (calcop): Change calls to get_reg.
8968 (calcop): Handle new case 'x' to set reg_prefix.
8969 (calcop): Set reg_prefix to 'r' after each call to get_reg.
8970 (cmpslot): Add 88110 conditions.
8971
8972 * gas/config/m88k-opcode.h: Swap cases for "rot" for consistency.
8973
8974 * gas/config/tc-m88k.c (get_bf): Always restore input_line_pointer
8975 before returning.
8976
8977 * gas/config/m88k-opcode.h (m88k_opcodes): Make equal mnemonics
8978 adjacent; mov.s and mov.d swapped.
8979 (m88k_opcodes): Fix typo `r2' -> `2'.
8980
8981 Fri Jun 4 15:59:31 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
8982
8983 * config/h8300.c: Support for H8/300-H opcodes.
8984
8985 * config/obj-coffbfd.c (w_strings): String table length is 4
8986 bytes, no matter what the host int size is.
8987
8988 * configure.in (alpha-*-osf*): New.
8989
8990 Fri Jun 4 07:51:18 1993 Ian Lance Taylor (ian@cygnus.com)
8991
8992 * configure.in (mips-*-ecoffl*): New target; use ecoff and
8993 mips-lit.
8994 (mips-*-ecoff*): Added trailing '*'.
8995
8996 * config/obj-ecoff.c (ecoff_build_procs): Force the adr of the
8997 first FDR in a file to be zero.
8998
8999 Thu Jun 3 14:09:59 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9000
9001 * Makefile.in (VERSION): Jump to 2.1.4.
9002
9003 * config/ho-hppabsd.h: New file, from Peter Hoogenboom.
9004
9005 * config/tc-mips.c (md_assemble): Call bfd_set_gp_size only for
9006 ECOFF format.
9007
9008 Tue Jun 1 15:21:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9009
9010 * config/tc-m68k.c (md_assemble): The 68040 cpu doesn't want a
9011 separate '851 mmu.
9012
9013 * config/obj-elf.c, config/obj-elf.h: Update for new type, macro,
9014 and routine names. Assuming 32 bits for now.
9015
9016 * config/obj-elf.c (elf_frob_file): Look for macro
9017 elf_tc_final_processing_hook, instead of assuming a function
9018 always exists.
9019 * config/tc-hppa.c (elf_hppa_final_processing_hook): Renamed from
9020 tc_final_processing_hook.
9021 * config/tc-hppa.h (elf_tc_final_processing_hook): Use it.
9022
9023 * config/tc-hppa.h (elf_tc_symbol, elf_tc_make_sections): Macros
9024 moved here from obj-elf.h.
9025 * config/obj-elf.h: Don't include CPU-specific header files.
9026
9027 Sun May 30 16:49:37 1993 Peter Hoogenboom (hoogen@fast.cs.utah.edu)
9028
9029 * configure.in: configurations should match on 'hppa*' not 'hppa'.
9030
9031 * read.c: Add support for HPPA assembly language syntax (denoted
9032 with '#ifdef TC_HPPA').
9033
9034 * symbols.c: Add support for HPPA assembly language syntax (denoted
9035 with '#ifdef TC_HPPA').
9036
9037 * write.c (write_contents): Add support for HPPA-style
9038 relocations.
9039
9040 * config/obj-elf.c: Stab symbols weren't written properly.
9041 (obj_elf_version):
9042 (obj_elf_desc):
9043 (obj_elf_write_symbol):
9044 (obj_elf_write_symbol_p):
9045 (obj_elf_frob_symbol):
9046 (elf_stab_symbol):
9047 (elf_frob_file):
9048
9049 * config/tc-hppa.c: Support for HPPA symbol extension sections.
9050 Remove some unused code. Support for HPPA assembly language
9051 syntax.
9052
9053 * app.c:
9054
9055 * symbols.c:
9056
9057 * config/obj-elf.h:
9058 (obj_write_symbol):
9059 (obj_frob_file):
9060 (elf_tc_symbol):
9061 (elf_tc_make_sections):
9062
9063 * config/tc-hppa.h:
9064
9065 Sun May 30 21:44:45 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
9066
9067 * config/obj-ecoff.c (obj_read_begin_hook, add_file): Assume
9068 hash_new will have succeeded if it returns.
9069 * config/tc-a29k.c (md_begin): Likewise.
9070
9071 * config/tc-i386.c (tc_aout_fix_to_chars): Now nbytes_r_length is
9072 const.
9073 (mode_from_disp_size, opcode_suffic_to_type): Now inline under
9074 gcc.
9075 (fits_in_{signed,unsigned}_{byte,word}): Likewise.
9076
9077 * expr.c: Delete register declarations; gcc ignores them anyways.
9078
9079 Fri May 28 19:03:32 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9080
9081 * hash.c (hash_new): Use xmalloc, since many callers don't check
9082 for failure.
9083
9084 Thu May 27 13:02:15 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9085
9086 * frags.c (zero_address_frag, bss_address_frag): These are
9087 external.
9088
9089 * tc.h (md_reloc_size): This is const.
9090 * config/tc-{a29k,h8300,h8500,i386,i860,i960,m68k,ns32k,z8k}.c
9091 (md_reloc_size): Now const.
9092
9093 * config/aout_gnu.h (enum machine_type, enum reloc_type): Delete
9094 trailing commas.
9095 * as.h (enum _segT): Ditto.
9096
9097 * struc-symbol.h (N_TYPE_seg): This should be const.
9098
9099 Thu May 27 11:43:59 1993 Michael Meissner (meissner@osf.org)
9100
9101 * config/obj-ecoff.c (add_file): Cast file_name to char * in
9102 listing_source_file call.
9103
9104 * config/obj-elf.c (elf_stab_symbol_string): Cast first argument
9105 of subseg_new call to eliminate const attribute.
9106 (obj_elf_stab): Ditto.
9107 (obj_symbol_new_hook): Cast first argument of bzero call to char *.
9108
9109 * read.c (s_align_bytes): Properly record alignment.
9110
9111 * expr.c (__): Undefine __ macro before use, since OSF/1 uses it
9112 for the prototype/no prototype macro.
9113
9114 * as.c (got_sig): Don't do return ((SIGTY) 0), SIGTY might well be
9115 void.
9116
9117 * as.h (relax_stateT enum): Delete trailing comma.
9118
9119 Thu May 27 11:07:50 1993 Ian Lance Taylor (ian@cygnus.com)
9120
9121 * app.c (do_scrub_begin): Let line_comment_chars override
9122 comment_chars.
9123 (do_scrub_next_char): If a line comment character is not at the
9124 start of a line, treat it as a comment character if it is one.
9125 For a CPP line comment use pseudo-op .appline rather than .line.
9126 * input-scrub.c (logical_input_line): Make int rather than
9127 unsigned.
9128 (input_scrub_push, input_scrub_begin): Initialize
9129 logical_input_line to -1 rather than 0.
9130 (bump_line_counters): Increment logical_input_line.
9131 (new_logical_line): If line_number is -2, decrement
9132 logical_input_line.
9133 (as_where): Use logical_input_line even if it is 0.
9134 * read.h (s_app_file prototype): Now takes an int argument.
9135 * read.c (potable): Make .appfile call s_app_file with 1. New
9136 .appline pseudo-op calls s_app_line.
9137 (s_app_file): If .appfile, call new_logical_line with -2 to
9138 account for newline inserted by do_scrub_next_char. If listing,
9139 call listing_source_file.
9140 (s_app_line): New function to handle fake pseudo-op .appline.
9141 * config/obj-coff.c (obj_pseudo_table): Make .appline call
9142 obj_coff_ln.
9143 (obj_coff_ln): Added argument to indicate whether .appline.
9144 * config/obj-coffbfd.c (obj_pseudo_table): Make .appline call
9145 obj_coff_ln.
9146 (obj_coff_ln): Added argument to indicate whether .appline.
9147 * config/tc-mips.c (s_file): Pass argument to s_app_file.
9148
9149 Tue May 25 11:59:07 1993 Ian Lance Taylor (ian@cygnus.com)
9150
9151 * config/obj-bout.h (S_GET_VALUE): Removed unnecessary cast.
9152
9153 Thu May 20 19:14:24 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9154
9155 * config/tc-m68k.c (md_apply_fix_2): Straighten out check for
9156 invalid values.
9157
9158 Wed May 19 07:33:17 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
9159
9160 * config/tc-h5000.c (build_bytes): Understand @rd mode and build
9161 relocations correctly.
9162
9163 Mon May 17 15:06:26 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
9164
9165 * Makefile.in (FLAGS_TO_PASS): Leave out TEXI2DVI for now, because
9166 it's wrong.
9167
9168 * config/tc-m68k.c (md_apply_fix_2): Apply range checks and warn
9169 if value is out of range.
9170
9171 Patch from Minh Tran-Le:
9172 * config/tc-i386.c (i386_operand): For in/out port register used
9173 as base reg, include InOutPortReg in operand type.
9174 (MATCH): Accept overlap value of InOutPortReg.
9175
9176 Mon May 17 09:29:34 1993 Ian Lance Taylor (ian@cygnus.com)
9177
9178 * config/obj-ecoff.c (add_file, obj_ecoff_loc, obj_ecoff_stab):
9179 Add calls to listing routines to produce combined source/assembler
9180 listings.
9181 (obj_ecoff_stab): Create a file pointer if none used yet.
9182 (ecoff_frob_file): Set symcount to correct value.
9183
9184 Fri May 14 06:53:33 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
9185
9186 * Makefile.in (VERSION): Bump to version 2.1, in preparation for
9187 release.
9188
9189 * config/obj-aout.h (H_GET_HEADER_SIZE, H_SET_SYMBOL_TABLE_SIZE):
9190 Define in terms of constants, not C structure sizes.
9191
9192 * config/tc-rs6000.c, config/tc-rs6000.h: Delete empty files.
9193
9194 Thu May 13 17:01:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9195
9196 * config/obj-aout.c (obj_header_append): Don't define if it's
9197 defined as a macro.
9198 * config/obj-hp300.h (obj_header_append): Define it as a macro.
9199 * config/obj-hp300.c (hp300_header_append): New function.
9200
9201 * Makefile.in (distclean): Don't bother cleaning up doc files;
9202 they aren't going to be in this directory.
9203
9204 Thu May 13 07:51:35 1993 Ian Lance Taylor (ian@cygnus.com)
9205
9206 * config/obj-ecoff.c (ecoff_build_symbols): Handle absolute
9207 symbols.
9208
9209 * tc.h (TC_COFF_SIZEMACHDEP): Don't define here.
9210 * config/tc-sh.h (TC_COFF_SIZEMACHDEP): Define here instead.
9211
9212 Mon May 10 06:01:12 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
9213
9214 * config/obj-vms.c (VMS_Symbol_type_list): Don't bother with
9215 initialization.
9216
9217 * configure.in (targets): Treat m68*-*-sysv* like m68k-*-coff.
9218
9219 Wed May 5 14:00:49 1993 Ian Lance Taylor (ian@cygnus.com)
9220
9221 * config/tc-mips.c (macro): Correct floating point double word
9222 loads and stores for big endian target.
9223
9224 Wed May 5 08:39:21 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
9225
9226 * config/tc-i386.c: Replace SEG_* with *_section, fix up subseg_*
9227 calls. Deleted some unused code.
9228 * config/obj-coff.c: Likewise.
9229
9230 ELF support, mostly contributed by Utah:
9231 * config/obj-elf.c (obj_elf_section, obj_elf_stab, obj_elf_line,
9232 obj_elf_type): Rewrite.
9233 (obj_elf_frob_symbol, elf_stab_symbol_string, elf_stab_symbol,
9234 obj_elf_desc, obj_elf_version, obj_symbol_new_hook, obj_elf_size):
9235 New functions.
9236 (obj_elf_ident): Dummy.
9237 * config/obj-elf.h (FALSE, TRUE, S_*, tc_frob_symbol,
9238 TARGET_SYMBOL_FIELDS): New macros.
9239 (gdb_section): New variable decl.
9240
9241 * config/tc-i386.c (md_atof): Return zero, not empty string, on
9242 success.
9243
9244 BFD_ASSEMBLER conditional changes:
9245 * config/obj-coff.c (lineno_rootP, seg_N_TYPE, *_section_header):
9246 Don't define these.
9247 (SA_SET_SYM_ENDNDX, SA_SET_SYM_TAGNDX): New functions.
9248 (fetch_coff_debug_section): Ditto.
9249 (obj_coff_endef): Call fetch_coff_debug_section.
9250 (struct line_no): New type.
9251 (c_symbol_merge): New way for copying aux fields.
9252 (c_dot_file_symbol): Put symbol in absolute section, and set flag
9253 BSF_DEBUGGING.
9254 (function_lineoff): New symbol.
9255 (function_lineoff, text_lineno_number, our_lineno_number,
9256 lineno_lastP): Don't define.
9257 (c_line_new): Don't define.
9258 (obj_emit_lineno, obj_coff_endef): Use abort calls as, uh,
9259 placeholders, until
9260 line-number recording gets implemented.
9261 (obj_new_symbol_hook): New code for handling aux fields.
9262 (add_lineno, add_linesym): New functions.
9263 (obj_coff_ln): Call add_lineno, not c_line_new.
9264 (obj_coff_endef): New code for handling symbol names. New lineno
9265 code. Look for section name "*DEBUG*" for debugging section.
9266 (align, coff_check_file_symbols, obj_coff_section,
9267 coff_frob_file): New functions.
9268 * config/obj-coff.h: Reordered some includes.
9269 (BYTE_ORDERING, FILE_HEADER_MAGIC, seg_N_TYPE, N_TYPE_seg,
9270 DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE, AOUTHDR, AOUTHDRSIZE): Don't
9271 define these.
9272 (TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): New macros.
9273 (SYM_AUXENT): New macro (for non-BFD_ASSEMBLER too) for accessing
9274 aux entries. Most SA_* macros now use it unconditionally.
9275 (S_*): Use `bsym' field, and access BFD private data.
9276 (SF_*): Use `sy_flags' symbol field for most of these.
9277 (H_*, object_headers, lineno, lineno_*P, OBJ_EMIT_LINENO): Don't
9278 define.
9279 (*_section_header): Don't define.
9280 * config/tc-i386.c (md_convert_frag, md_apply_fix): Changed
9281 interface.
9282 (tc_gen_reloc) [I386COFF]: New function.
9283 (tc_aout_fix_to_chars, tc_coff_fix2rtype): Don't define.
9284 * config/tc-i386.h (TARGET_ARCH, TARGET_BYTES_BIG_ENDIAN): New
9285 macros.
9286
9287 * config/obj-coff.c (stack_init): Don't do assignments inside
9288 conditions.
9289 (obj_coff_def): Simplified handling of symbol name a bit.
9290 (tag_insert): Name argument is now pointer to CONST.
9291 (obj_crawl_symbol_chain): Commented out.
9292
9293 * config/obj-coff.h: Use PARAMS macro in prototypes.
9294
9295 * write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Don't indirect
9296 through frchainP pointer if it is null.
9297
9298 * configure.in: Warn if BFD mode is explicitly turned off but is
9299 required by specified target.
9300 (mips ecoff targets): Don't need to set bfd_gas here; it gets
9301 taken care of later.
9302
9303 * config/obj-coffbfd.c (crawl_symbols): Don't clear sy_forward
9304 field.
9305 (yank_symbols): Merge symbols only if sy_forward is null.
9306
9307 * config/tc-m68k.h (AOUT_MACHTYPE): Don't define if already
9308 defined.
9309
9310 * tc.h (md_convert_frag) [BFD_ASSEMBLER]: Section arg is not
9311 pointer.
9312 * config/tc-m68k.c (md_convert_frag) [BFD_ASSEMBLER]: Ditto.
9313
9314 * config/tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Anything starting
9315 with "." is a local label.
9316
9317 * config/te-hppa.h, config/tc-hppa.h, config/tc-hppa.c: New config
9318 files.
9319
9320 * config/te-linux.h, config/te-386bsd.h: New config files.
9321 * configure.in (i386-*-linux, i386-*-bsd): Use them.
9322 * config/tc-i386.h (TARGET_FORMAT): Select format based on target
9323 environment.
9324 (DOT_LABEL_PREFIX): Don't define for 386bsd or Linux.
9325
9326 Wed May 5 13:14:01 1993 Ian Lance Taylor (ian@cygnus.com)
9327
9328 * config/obj-ecoff.c (init_file): Set fMerge to 0 since dbx seems
9329 to want it that way.
9330 (ecoff_build_symbols): Turn local st_Proc symbols into
9331 st_StaticProc symbols. Set index field of external st_Proc and
9332 st_staticProc symbols correctly.
9333 * config/tc-mips.h (NO_LISTING): Don't define. People might want
9334 listings.
9335
9336 Tue May 4 21:22:54 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9337
9338 * config/obj-hp300.h, config/obj-hp300.c, config/te-hp300.h: New
9339 files.
9340 * configure.in (m68k-*-hpux): Use them.
9341
9342 * config/obj-aout.c (obj_pre_write_hook): Use AOUT_VERSION if
9343 defined, otherwise zero.
9344
9345 * config/aout_gnu.h (OMAGIC): Don't define if already defined.
9346
9347 Mon May 3 15:59:32 1993 Steve Chamberlain (sac@thepub.cygnus.com)
9348
9349 * config/tc-sparc.c (sparc_ip): Allow any abs expression as an
9350 address space number.
9351
9352 Wed Apr 28 19:11:22 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
9353
9354 * config/obj-aout.h (TARGET_DEFAULT): Don't default this at all.
9355
9356 * config/tc-a29k.c: Include ctype.h.
9357 (define_some_regs): Added special-purpose registers for 29050.
9358
9359 * config/tc-i386.c (comment_chars) [TE_I386AIX]: Include "/".
9360
9361 * config/obj-coffbfd.c (fill_section): Don't set STYP_REG here.
9362 (change_to_section): Set it here instead.
9363
9364 Wed Apr 28 13:40:29 1993 Ian Lance Taylor (ian@rtl.cygnus.com)
9365
9366 * config/obj-ecoff.c (obj_symbol_new_hook): Make up a .file if one
9367 hasn't been seen yet.
9368 (add_ecoff_symbol): Don't refer to cur_file_ptr if it is NULL.
9369
9370 Mon Apr 26 18:29:05 1993 Steve Chamberlain (sac@thepub.cygnus.com)
9371
9372 * config/tc-sh.ch, config/tc-sh.h: New files supporting Hitachi
9373 SH.
9374
9375 Mon Apr 26 12:28:27 1993 Ian Lance Taylor (ian@cygnus.com)
9376
9377 * expr.c (operand): Fix unary plus operator (previously was the
9378 same as '~' operator!).
9379
9380 Wed Apr 21 00:20:11 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9381
9382 * write.c (cvt_frag_to_fill): Define even if BFD is defined.
9383 (write_object_file): Do define if BFD_ASSEMBLER. Invoke
9384 obj_check_file_symbols if defined. Call verify_symbol_chain_2
9385 instead of open-coding it. Fix some bugs in patching up symbol
9386 chain.
9387 (relax_segment): Make some code we "ought to be able to" use for
9388 all targets no longer conditionalized on ns32k target; instead, do
9389 it always, and if the appropriate conditions fail, abort.
9390
9391 * symbols.c (DEBUG): Enabled.
9392 (symbol_new): Make sure bfd_make_empty_symbol works.
9393 (verify_symbol_chain_2): New funcion; takes one symbol as
9394 argument, anywhere in the chain.
9395 (dollar_label*): Use default initializers.
9396
9397 * as.c (perform_an_assembly_pass): Call md_begin here...
9398 (main): ...and not here.
9399
9400 * config/tc-m68k.h (TARGET_FORMAT): Use a.out-sunos-big for a.out.
9401 (tc_frob_symbol): New macro: Get rid of symbols in reg_section.
9402
9403 * config/tc-m68k.c (omagic): Don't define for BFD_ASSEMBLER.
9404 (add_fix, add_frag): Now functions instead of macros.
9405 (m68k_reg_parse, m68k_ip, md_estimate_size_before_relax, get_num,
9406 s_data1, s_data2, s_bss): Use new *_section names, for
9407 compatibility with BFD_ASSEMBLER mode; rewrite switch statements
9408 to handle non-integral segT.
9409 (tc_coff_fix2rtype, tc_aout_fix_to_chars,
9410 tc_coff_symbol_emit_hook): Don't define for BFD_ASSEMBLER.
9411 (tc_gen_reloc): New routine for BFD_ASSEMBLER.
9412 (md_apply_fix, md_apply_fix_2): Renamed old md_apply_fix to
9413 md_apply_fix_2; new md_apply_fix definition varies interface
9414 depending on BFD_ASSEMBLER.
9415 (md_convert_frag, md_convert_frag_1): Likewise. Use new *_section
9416 names.
9417
9418 * config/obj-vms.c: Include config.h.
9419 (version_string): Delete declaration.
9420 (Write_VMS_MHD_Records): Use GAS_VERSION instead.
9421 (vms_resolve_symbol_redef): New function, taken from VMS code in
9422 symbols.c.
9423 (_doprnt): Deleted.
9424 (VMS_Store_Struct, VMS_Def_Struct, VMS_Set_Struct,
9425 VMS_TBT_Block_End, get_VMS_time_on_unix, generate_suffix,
9426 VMS_Psect_Spec): Fixed to compiler under traditional C.
9427 * config/obj-vms.h: Use PARAMS macro.
9428 (vms_resolve_symbol_redef): Declare.
9429 (RESOLVE_SYMBOL_REDEFINITION): New macro.
9430 * symbols.c (colon): Remove some VMS-specific code, look for
9431 RESOLVE_SYMBOL_REDEFINITION macro instead.
9432
9433 * config/tc-m68k.c (m68k_ip): Don't try expanding DBcc
9434 instructions.
9435
9436 * config/tc-i386.c: Reordered some functions so inlining might
9437 work. Use PARAMS in function declarations.
9438 (reloc): New routine.
9439 (md_assemble): Rearrange switch statements to work with
9440 non-integral segT.
9441
9442 * struc-symbol.h [BFD_ASSEMBLER]: Undefine
9443 SYMBOLS_NEED_BACKPOINTERS before defining it.
9444
9445 * subsegs.c (subseg_new_rest): Now static.
9446
9447 * read.c (pseudo_set): Better error message for difference of
9448 symbols in different frags.
9449
9450 * Makefile.in (check): Pass down some new variables, indicating
9451 pathname or program name for cc, nm, objdump.
9452
9453 * as.h (OUTPUT_FLAVOR): New macro.
9454 * config/tc-sparc.c (tc_gen_reloc): Use OUTPUT_FLAVOR.
9455
9456 * configure.in: Initialize bfd_gas properly. Warn that ELF
9457 support is incomplete.
9458
9459 Thu Apr 15 22:39:05 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9460
9461 * read.c (float_cons): Accept null pointer return from md_atof.
9462 * config/tc-m68k.c (md_atof): Return null for success.
9463 * config/tc-sparc.c (md_atof): Ditto.
9464
9465 Thu Apr 15 16:04:39 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
9466
9467 * doc/as.texinfo: formatting and comment cleanups; show SPARC
9468 alternative options in same style as other machines; simplify some
9469 conditional use; include GPL as separate file (from texinfo dir)
9470
9471 * doc/Makefile.in: (as.info) include directory containing GPL in
9472 makeinfo search path
9473
9474 * doc/h8.texi: new file; conditional settings for GAS manual
9475 on Hitachi chips
9476
9477 Tue Apr 13 15:31:40 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
9478
9479 * doc/as.texinfo: mention SPARC architecture options.
9480
9481 Fri Apr 9 17:43:11 1993 Ken Raeburn (raeburn@cygnus.com)
9482
9483 * configure.in: Rearranged whitespace in per-host/per-target
9484 sections. Added hooks for dropping in HPPA support (not included
9485 yet). Separate out overrides of variables based on target format
9486 and bfd-gas selection from actual target-specific commands. Add
9487 error message for recognized but unsupported format name.
9488
9489 Fri Apr 9 09:05:47 1993 Ian Lance Taylor (ian@cygnus.com)
9490
9491 * config/obj-ecoff.h (ecoff_build_lineno): Make ilineMax in
9492 symbolic header match cline in FDR; the native linker seems to
9493 want that.
9494
9495 Thu Apr 8 15:51:28 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
9496
9497 * doc/Makefile.in: as.texinfo is in $(srcdir). Use
9498 $(srcdir)/as.texinfo explicitly in several places
9499
9500 Thu Apr 8 15:15:02 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
9501
9502 * doc/Makefile.in: update dvi, clean targets for new source
9503 file structure
9504
9505 Thu Apr 8 12:52:46 1993 Ian Lance Taylor (ian@cygnus.com)
9506
9507 * config/ho-decstatn.h: Define BROKEN_ASSERT if not __GNUC__,
9508 rather than undefining know.
9509 * configure.in: Match ultrix*, not just ultrix.
9510
9511 Wed Apr 7 20:18:10 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
9512
9513 * doc/as.texinfo: converted conditional markup to use new
9514 Texinfo facilities, avoiding m4.
9515
9516 * doc/as-all.texinfo, all.m4, pretex.m4: deleted.
9517
9518 * doc/Makefile.in: recast doc configuration to use a link to an
9519 included texinfo file.
9520
9521 * doc/all.texi: settings for generic form of documentation.
9522
9523 Tue Apr 6 11:56:21 1993 Ian Lance Taylor (ian@cygnus.com)
9524
9525 * read.c (cons): Zero out frag when creating reloc.
9526
9527 Mon Apr 5 09:41:58 1993 Ian Lance Taylor (ian@cygnus.com)
9528
9529 * config/tc-mips.c (gp_reference): Certain magic symbols can never
9530 be referenced off the GP register.
9531
9532 * app.c (do_scrub_next_char): Handle states 9 and 10 correctly
9533 when dealing with characters of type LEX_IS_TWOCHAR_COMMENT_1ST,
9534 LEX_IS_STRINGQUOTE, and LEX_IS_ONECHAR_QUOTE.
9535
9536 * config/te-irix.h: New file; irix needs a different LOCAL_LABEL
9537 definition from other MIPS targets.
9538 * configure.in (mips-*-irix): Use emulation irix.
9539
9540 Sun Apr 4 15:21:09 1993 Steve Chamberlain (sac@thepub.cygnus.com)
9541
9542 * config/tc-h8500.c: Get relax size of branch instructions right,
9543 (get_operand): Parse @sp+ correctly.
9544
9545 Fri Apr 2 15:59:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9546
9547 * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Don't include
9548 COFF section header field.
9549
9550 * configure.in: Print error message if host or target is not
9551 supported.
9552
9553 * configure.in: If with-bfd-assembler, use obj-coff instead of
9554 obj-coffbfd.
9555
9556 * config/ho-generic.h: Include string.h.
9557
9558 Fri Apr 2 08:54:57 1993 Ian Lance Taylor (ian@cygnus.com)
9559
9560 * config/tc-mips.h (LOCAL_LABEL): Treat any label starting with
9561 '$' as local, for any object file format.
9562
9563 * config/tc-mips.c (macro): Optimizations to branching code and a
9564 couple of bug fixes from ralphc@pyrps5.eng.pyramid.com (Ralph
9565 Campbell).
9566
9567 * config/ho-irix.h: New file; if not gcc, define BROKEN_ASSERT.
9568 * configure.in (mips-sgi-irix*): Set gas_host to irix.
9569
9570 Wed Mar 31 17:53:54 1993 Ian Lance Taylor (ian@cygnus.com)
9571
9572 * subsegs.c (subseg_new): Set output_section of new section.
9573 * as.c (perform_an_assemly_pass): Don't set output_section here.
9574 * expr.c (expr_part, expr): Turn off section assertions for ECOFF,
9575 since it has additional sections.
9576 * read.c (s_lcomm): For MIPS ECOFF, put small objects in .sbss,
9577 not bss_section.
9578 * config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Added
9579 ecoff_undefined field.
9580 * config/obj-ecoff.c (obj_symbol_new_hook): Initialize
9581 ecoff_undefined field.
9582 (add_file): If using stabs, just output a stabs symbol rather than
9583 creating a new fdr.
9584 (obj_ecoff_begin, obj_ecoff_bend): Ignore line number by reading
9585 it with get_absolute_expression, rather than skipping it by hand.
9586 (obj_ecoff_loc): If using stabs, just output a stabs symbol rather
9587 than ECOFF line number information.
9588 (obj_ecoff_stab): Accept non-zero values for stabs line number.
9589 (ecoff_build_symbols): Set ifilesym correctly. Set storage class
9590 to small, undefined and/or readonly sections if appropriate.
9591 Don't output symbol names containing \001 characters.
9592 (ecoff_frob_file): Make sure at least one fdr is output.
9593 * config/tc-mips.h: Define TC_MIPS.
9594 * config/tc-mips.c (g_switch_value): New static variable.
9595 (md_assemble): Set gp size of output BFD.
9596 (gp_reference): New function; returns 1 if expression can be
9597 accesssed via gp. Always returns 0 if not using ECOFF.
9598 (macro_build): Convert BFD_RELOC_LO16 to BFD_RELOC_MIPS_GPREL if
9599 possible.
9600 (macro): Generate sequences using gp if possible.
9601 (md_parse_option): Ignore -EL and -EB. Parse -G.
9602 (md_apply_fix): Added BFD_RELOC_MIPS_GPREL to ignored case.
9603 (s_change_sec): Handle .rdata and .sdata for ECOFF.
9604 (s_extern): Mark symbol as external. Set ecoff_undefined field.
9605
9606 Tue Mar 30 10:11:41 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9607
9608 * output-file.c (output_file_create): Don't call as_perror for
9609 filename rejected by application.
9610
9611 * as.c (main) [BFD_ASSEMBLER]: If errors occur, close and unlink
9612 the output file.
9613
9614 * doc/as.texinfo: Don't use @value in node names for the moment;
9615 references don't appear to work right.
9616
9617 * as.h (const, volatile): Put these definitions back, and use
9618 them.
9619
9620 * doc/as.texinfo: First pass at using new texinfo features --
9621 variables, conditional tests. Far from complete.
9622
9623 Mon Mar 29 16:05:40 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9624
9625 * read.c: Temporary hack to handle some 64-bit constants. This
9626 should be redone later.
9627 (target_big_endian): Declare.
9628 (big_cons): If it's set, reverse order of bytes being copied.
9629 * config/tc-sparc.c (md_begin): Set target_big_endian.
9630
9631 * read.c (s_ignore): Delete declaration of is_end_of_line.
9632
9633 * config/obj-coffbfd.c (yank_symbols): Build list of file symbol
9634 forward pointers properly.
9635
9636 Mon Mar 29 13:47:33 1993 Steve Chamberlain (sac@thepub.cygnus.com)
9637
9638 * config/obj-coffbfd.c (do_relocs_for): Fix bug where nrelocs
9639 wasn't being stored into scnhdr.
9640 * config/obj-coffbfd.h: Add prototype of s_get_segment.
9641 * read.c (TC_START_LABEL): Default definition.
9642 (read_a_source_file): Use TC_START_LABEL macro to work out
9643 if a label has been seen.
9644
9645 Mon Mar 29 12:56:56 1993 Ian Lance Taylor (ian@cygnus.com)
9646
9647 * configure.in: Set BFDDEF and BFDLIB at the top of Makefile, not
9648 the bottom (make expands variables in dependencies when the
9649 dependencies are read, not when they are used).
9650
9651 * config/obj-coffbfd.c (fill_section): Don't set NOLOAD bit for
9652 a29k .bss section; the mondfe program doesn't like it.
9653
9654 Sun Mar 28 08:12:53 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
9655
9656 * config/tc-m68k.c: Use PARAMS macro, and use CONST instead of
9657 const.
9658 (current_architecture): Don't need initializer.
9659
9660 Fri Mar 26 08:12:48 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9661
9662 * doc/none.m4: Define Z8000.
9663 * doc/Makefile.in (as-*.texinfo): Refer to $(srcdir). Remove the
9664 texinfo file before recreating it.
9665 (TEXI2DVI): Need to set TEXINPUTS if "make as.dvi" is to work in
9666 this directory.
9667 (srcdir): Delete second, bogus definition.
9668 (as.info): Look for as-*.texinfo in current directory rather than
9669 in $(srcdir).
9670 (as.dvi): Ditto.
9671 (dvi): New rule.
9672 * doc/configure.in: Create links to all as-*.texinfo files in the
9673 source directory, if that's not the current directory.
9674
9675 * configure.in (per-host): Accept MIPS host with BSD version
9676 number.
9677 (per-target): Classify i486 as i386. Use generic cpu_type instead
9678 of target_cpu in selecting format etc.
9679
9680 * app.c (do_scrub_next_char): Use .appfile, not .app-file.
9681 * read.c (potable): Change .app-file to .appfile.
9682
9683 * config/ho-decstatn.h: Renamed from ho-decstation.h.
9684 * configure.in: Adjusted.
9685
9686 * config/obj-bfd-sunos.*: Unused; deleted.
9687
9688 * Makefile.in (version.c, vers-stamp): Deleted.
9689 (config.h): Define GAS_VERSION.
9690 * as.c (version_string): Deleted declaration.
9691 (main): Look for GAS_VERSION instead.
9692
9693 * doc/as.texinfo: Updated description of -a* (listing) options,
9694 and describe how to pass them through from gcc.
9695
9696 * config/obj-coffbfd.c (do_relocs_for): Don't allocate storage or
9697 process relocs if there aren't any relocs to process. Avoids
9698 malloc/free bug on SCO too.
9699
9700 * as.h: Move local include files below system include files, to
9701 avoid some redefinition complaints on some systems.
9702 (const, volatile): Don't need these conditionally defined if we
9703 use CONST and VOLATILE from ansidecl.h.
9704 (seg_name): Use CONST, not const.
9705
9706 Fri Mar 26 10:22:04 1993 Ian Lance Taylor (ian@cygnus.com)
9707
9708 * config/tc-mips.c: Reindented to GNU standards.
9709
9710 Thu Mar 25 08:59:14 1993 Ian Lance Taylor (ian@cygnus.com)
9711
9712 * config/obj-coffbfd.c (do_relocs_for): Remove a29k special case.
9713 (fixup_segment): Add a29k special case; the linker is not prepared
9714 to see a segment offset here.
9715
9716 * app.c (do_scrub_next_char): Added new state, 10, modifying state
9717 9 to only keep a space in between identifier characters.
9718
9719 Wed Mar 24 02:16:22 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com)
9720
9721 * Makefile.in: add dvi target; as-$(config).texinfo might live in
9722 srcdir, might be in objdir.
9723
9724 * doc/Makefile.in: dvi depends on as.dvi
9725
9726 Mon Mar 22 23:59:13 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
9727
9728 * Makefile.in: add installcheck target
9729
9730 Mon Mar 22 16:25:57 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
9731
9732 * config/tc-sparc.c (sparc_ip): Add support for membar mask names.
9733 Add missing colons in prefetch error messages. Add support for
9734 ASI names.
9735
9736 Mon Mar 22 10:19:00 1993 Ian Lance Taylor (ian@cygnus.com)
9737
9738 * config/tc-mips.c (macro): Use $AT for any floating point load.
9739
9740 Sat Mar 20 12:50:51 1993 Ken Raeburn (raeburn@urth.cygnus.com)
9741
9742 * config/tc-m68k.c (m68k_ip): For operand type 'M', reject
9743 bignums, but don't emit error message.
9744
9745 Fri Mar 19 21:02:19 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
9746
9747 * Makefile.in (targ-cpu.o): Depend on config.h.
9748
9749 Wed Mar 17 16:44:06 1993 Ian Lance Taylor (ian@cygnus.com)
9750
9751 * app.c (do_scrub_next_char): Added new state, 9, to avoid
9752 dropping a space immediately following an identifier.
9753 * expr.c, write.c: Rewrote assert expressions to not use multiple
9754 lines; I don't think that can be done portably.
9755 * config/tc-mips.c (macro): Use $AT if target register is zero in
9756 load instruction, which it can be for a floating point load.
9757
9758 Mon Mar 15 12:17:28 1993 Ian Lance Taylor (ian@cygnus.com)
9759
9760 * write.c (write_contents): Compute the relocs before writing out
9761 the section contents.
9762 * config/obj-ecoff.h, config/obj-ecoff.c: Numerous changes to get
9763 symbol table and values right.
9764 * config/tc-mips.h (LOCAL_LABEL): If OBJ_ECOFF, any label starting
9765 with $L is local.
9766 * config/tc-mips.c (tc_gen_reloc): If OBJ_ECOFF, adjust the addend
9767 by the section vma.
9768
9769 * config/z8k.mt (TARG_CPU_DEPENDENTS): The relevant file is
9770 z8k-opc.h, not z8k.h.
9771
9772 * config/obj-coffbfd.c (obj_coff_endef): Correct test for .bf
9773 symbol.
9774
9775 Fri Mar 12 18:33:36 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
9776
9777 * configure.in: recognize sparc-sun-solaris2* instead of -solaris2
9778
9779 Fri Mar 12 12:00:07 1993 Ian Lance Taylor (ian@cygnus.com)
9780
9781 * expr.c, write.c: Ultrix native 4.2 cc requires assert condition
9782 to be on a single line.
9783
9784 Thu Mar 11 17:56:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9785
9786 * Makefile.in (config.h): Create file, writing out definitions of
9787 target cpu, alias, and canonical name.
9788 (ALL_CFLAGS): No longer define TARGET_CPU.
9789
9790 * Makefile.in (check): Print a message, instead of quitting
9791 silently.
9792
9793 * as.c (main): Don't catch any signals, for now.
9794
9795 * version.c: Deleted.
9796 * Makefile.in: Generate it, putting in only the version number
9797 itself.
9798 (VERSION): New variable.
9799 * as.c: Include config.h.
9800 (main): Reformatted version string. Include target alias. Don't
9801 print if not requested (i.e., unknown -v argument).
9802
9803 * as.c (stralloc): Deleted.
9804 (main): Call strdup instead.
9805
9806 * configure.in: Handle all 68300 series chips.
9807 * config/tc-m68k.c: Include config.h.
9808 (md_assemble): Assume TARGET_CPU is defined. Accept some 68300
9809 series cpus as defaults.
9810 (md_parse_option): Accept some m68300 series CPUs as defaults.
9811
9812 Wed Mar 10 17:41:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9813
9814 * as.c (EXIT_SUCCESS, EXIT_FAILURE): Define to normal values if
9815 not already defined.
9816 (main, got_sig): Use them.
9817 * config/ho-vms.h (EXIT_SUCCESS, EXIT_FAILURE): Reverse default
9818 values.
9819
9820 Tue Mar 9 07:40:06 1993 Ian Lance Taylor (ian@cygnus.com)
9821
9822 * config/obj-ecoff.c, config/obj-ecoff.h: Preliminary ECOFF
9823 support.
9824
9825 * config/tc-mips.h (TARGET_FORMAT): Define based on OBJ_AOUT vs.
9826 OBJ_ECOFF as well as TARGET_BYTES_*_ENDIAN.
9827 (struct loc, struct proc, struct file): Moved to tc-mips.c within
9828 #ifndef OBJ_ECOFF block, since ECOFF uses different versions.
9829 * config/tc-mips.c: Rearranged for ECOFF support. Added
9830 prototypes for all static functions. Moved existing minimal
9831 debugging format support info #ifndef OBJ_ECOFF blocks.
9832 (macro_build_lui): Eliminated sign_extend argument, because ECOFF
9833 does not support a non sign extended high 16 bits reloc. Adjusted
9834 all callers accordingly.
9835 (tc_get_register): Renamed from get_register, and made non-static.
9836
9837 * config/mips-big.mt, config/mips-lit.mt: New files. Define
9838 TARGET_BYTES_BIG_ENDIAN and TARGET_BYTES_LITTLE_ENDIAN,
9839 respectively.
9840 * configure.in (mips-*-bsd*): Use gas_target mips-lit.
9841 (mips-*-ultrix*, mips-*-irix*, mips-*-ecoff): New targets, using
9842 obj_format ecoff and gas_target mips-lit or mips-big.
9843
9844 Tue Mar 9 07:43:01 1993 Ken Raeburn (raeburn@cygnus.com)
9845
9846 * version.c: Bump to version 2.0.1.
9847
9848 Tue Mar 9 07:40:06 1993 Ian Lance Taylor (ian@cygnus.com)
9849
9850 * write.c (chain_frchains_together): Check that seg_info (section)
9851 is not NULL.
9852 (write_object_file): Call obj_frob_file after setting the symbols,
9853 not before.
9854
9855 Tue Mar 9 00:00:00 1993 Ken Raeburn (raeburn@cygnus.com)
9856
9857 * Version 2.0 released.
9858
9859 Mon Mar 8 14:57:10 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9860
9861 * config/tc-i386.h (TC_COUNT_RELOC): Look for fx_addsy only.
9862
9863 Fri Mar 5 09:05:55 1993 Ian Lance Taylor (ian@cygnus.com)
9864
9865 * read.h: Define stringer here.
9866 read.c, config/obj-ieee.c, config/obj-tcm88k.c: Not any of these
9867 places.
9868
9869 Thu Mar 4 11:52:23 1993 Steve Chamberlain (sac@thepub.cygnus.com)
9870
9871 * read.c (s_space): Multiply repeat count by mult, not fill.
9872
9873 Thu Mar 4 05:20:42 1993 Ken Raeburn (raeburn@cygnus.com)
9874
9875 * read.c: Include ctype.h.
9876
9877 Wed Mar 3 10:41:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9878
9879 Patches from Eric Youngdale:
9880 * make-gas.com: Find obstack.obj if it's not in the current
9881 directory.
9882 * read.c (s_ignore): Don't declare is_end_of_line. It's
9883 redundant, and triggers a VMS gcc compiler bug.
9884
9885 * write.c (write_object_file): Macro SUB_SEGMENT_ALIGN now takes
9886 current segment as an argument. (Ignored in all cases but VMS.)
9887 All callers and definitions changed.
9888
9889 Tue Mar 2 11:56:19 1993 Ian Lance Taylor (ian@cygnus.com)
9890
9891 * listing.c: Cleaned up a bit, added prototypes, made NO_LISTING
9892 case compile again.
9893
9894 Tue Mar 2 08:53:34 1993 Ken Raeburn (raeburn@cygnus.com)
9895
9896 * config/tc-m68k.c (isbyte): Accept all values from -255 to +255,
9897 so "~0x80" won't be rejected.
9898
9899 * config/obj-elf.c: No longer include elf/reloc.h.
9900 (obj_elf_section): Set SEC_READONLY and SEC_CODE for text section.
9901 (obj_elf_stab, obj_elf_desc): Deleted do-nothing and commented-out
9902 routines.
9903 (obj_elf_xstab): New routine.
9904 (obj_elf_set_size): Call as_warn, not fprintf. Pass desired
9905 argument to s_ignore. Put "#if 0" around unused code.
9906 (obj_pseudo_table): Use s_ignore instead of do-nothing routines.
9907 Call elf_xstabs for .stabs and .xstabs operators.
9908
9909 * config/tc-sparc.h (TARGET_FORMAT) [OBJ_ELF]: Now "elf32-sparc".
9910
9911 * write.c (relax_and_size_seg): Set SEC_RELOC only if fixups are
9912 present.
9913
9914 * configure.in: mips-bsd configuration was missing format spec.
9915 Should use aout.
9916
9917 * Makefile.in (Makefile): Depends on configure.in.
9918
9919 * config/tc-mips.c (append_insn): Don't check for alignment of
9920 frag in memory; alignment of instructions in section is a separate
9921 matter.
9922
9923 * config/tc-mips.c (macro_build_lui): Fix some assumptions of ANSI
9924 C availability.
9925
9926 * listing.h: Always provide function declarations, not macros, so
9927 pcc won't lose.
9928
9929 Tue Mar 2 00:50:43 1993 John Gilmore (gnu@cygnus.com)
9930
9931 * CONTRIBUTORS: Update Gilmore entry.
9932
9933 Mon Mar 1 12:03:16 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
9934
9935 * config/tc-sparc.c (sparc_ip): Correctly assemble prefetch
9936 instructions. Accept integer prefetch function numbers.
9937
9938 Wed Feb 24 14:58:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9939
9940 * config/tc-sparc.c (s_xword): Now call big_cons, so large
9941 constants are accepted, but symbolic values are not. GCC will not
9942 generate the latter currently.
9943
9944 * frags.c (frag_init): New function.
9945 (zero_address_frag, bss_address_frag): Now initialized at run
9946 time.
9947 * as.c (main): Call frag_init.
9948
9949 Wed Feb 24 10:32:42 1993 Ian Lance Taylor (ian@cygnus.com)
9950
9951 * app.c (do_scrub_next_char): In LEX_IS_LINE_COMMENT_START case:
9952 Don't unget ch2 if we didn't get it.
9953
9954 Wed Feb 24 04:14:07 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
9955
9956 * doc/Makefile.in (TEXIDIR): Updated for new layout.
9957
9958 * config/tc-sparc.c (s_common): Add support for ELF version.
9959 (tc_gen_reloc) [BFD_ASSEMBLER]: New function.
9960 * config/tc-sparc.h (TARGET_ARCH, TARGET_FORMAT) [BFD_ASSEMBLER]:
9961 New macros.
9962 (md_convert_frag): New macro.
9963
9964 * config/tc-m68k.c (m68k_ip): For PC-relative addressing of a
9965 symbol, fix the offset so "+2" isn't required.
9966
9967 * config/tc-i960.c (line_comment_chars, line_separator_chars):
9968 Define as common/bss.
9969 (op_hash, reg_hash, areg_hash, iclasses_seen, br_cnt): Default C
9970 initializers are sufficient.
9971
9972 * config/obj-aout.h [BFD_ASSEMBLER]: Include libaout.h from bfd.
9973 (TARGET_FORMAT) [BFD_ASSEMBLER]: Default to "a.out".
9974 (S_SET_*, S_GET_*, obj_frob_symbol) [BFD_ASSEMBLER]: New macros.
9975 (S_SET_TYPE) [!BFD_ASSEMBLER]: New macro.
9976 * config/obj-aout.c: Use PARAMS macro for declarations. Remove
9977 "IGNORE_DEBUG" conditional, since both branches are identical.
9978 Use S_SET_TYPE, S_GET_TYPE, and S_GET_DESC instead of directly
9979 referencing symbol structure members.
9980 (obj_aout_frob_symbol) [BFD_ASSEMBLER]: New function.
9981
9982 * as.h (struct frag): Reordered a couple of fields for better
9983 packing.
9984
9985 * write.c (record_alignment) [BFD_ASSEMBLER]: Record it in the
9986 section info.
9987 (write_contents) [BFD_ASSEMBLER]: New function.
9988 (write_object_file) [BFD_ASSEMBLER]: Always handle -R here. Call
9989 fix_new with BFD_RELOC_NONE instead of 0 or NO_RELOC. Call
9990 obj_frob_file, obj_frob_symbol, tc_frob_symbol if defined.
9991 (fixup_segment): Make sure common-section symbols get treated the
9992 same as undefined symbols.
9993 (fix_new) [BFD_ASSEMBLER]: Argument r_type is of type
9994 bfd_reloc_code_real_type. Use seg_fix_{root,tail}P derived from
9995 section info.
9996 * write.h (fix_new): Update prototype.
9997
9998 * tc.h (md_operand, md_convert_frag, tc_headers_hook,
9999 md_section_align, md_undefined_symbol): Don't provide prototypes
10000 if these are defined as macros.
10001 (md_convert_frag) [BFD_ASSEMBLER]: BFD version needs bfd and
10002 section passed.
10003
10004 * symbols.c (symbol_new): Argument NAME is now pointer to const.
10005 Simplified STRIP_UNDERSCORE code. Remove assumptions about null
10006 pointers in freshly allocated storage. [BFD_ASSEMBLER]: Get new
10007 BFD symbol.
10008 (colon): Display other/desc fields of redefined symbol only if
10009 S_GET_OTHER and S_GET_DESC are defined.
10010 (symbol_make): Argument NAME is now pointer to const.
10011 (symbol_find, symbol_find_base): Likewise.
10012 (S_IS_*, S_GET_*, S_SET_*) [BFD_ASSEMBLER]: New functions.
10013 * symbols.h: Fix prototypes for new const arguments. Add
10014 prototypes for BFD_ASSEMBLER S_* functions.
10015
10016 * subsegs.c (subseg_change) [BFD_ASSEMBLER]: BFD version of code
10017 for changing to an existing section.
10018 (subseg_new_rest) [BFD_ASSEMBLER]: Split off from subseg_new,
10019 called by subseg_new and subseg_set.
10020 (subseg_new) [BFD_ASSEMBLER]: Rewritten to change to new section,
10021 given section name and subseg number.
10022 (subseg_set) [BFD_ASSEMBLER]: New function; change to a possibly
10023 new section/subsection.
10024
10025 * read.c: Don't include ctype.h.
10026 (cons) [BFD_ASSEMBLER]: For undefined symbols, use BFD_RELOC_32
10027 for now; should be machine-dependent.
10028
10029 * configure.in: Accept *-*-elf and *-*-solaris* as ELF format
10030 targets, forcing BFD use.
10031
10032 Wed Feb 17 18:59:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10033
10034 * config/tc-sparc.c: Use PARAMS macro for static function
10035 declarations. Use BFD_RELOC_ macros everywhere, with
10036 compatibility macros declared for non-BFD mode.
10037 (struct sparc_it) [BFD_ASSEMBLER]: Use bfd_reloc_code_real_type
10038 instead of enum reloc_type.
10039 (emit_sparc_reloc): Commented-out function deleted.
10040 (md_convert_frag): Deleted.
10041 (tc_aout_pre_write_hook): Don't define for BFD_ASSEMBLER.
10042 (md_apply_fix): Changed calling sequence (conditionally) for BFD
10043 version.
10044 * config/tc-sparc.h (md_convert_frag): New macro.
10045
10046 * config/obj-aout.c (obj_aout_stab): Refer to undefined_section,
10047 not SEG_UNKNOWN. Use S_SET_TYPE, S_GET_TYPE, S_GET_DESC instead
10048 of referencing fields directly.
10049
10050 * write.c (cvt_frag_to_fill): New function; extracted from
10051 write_object_file.
10052 (write_object_file) [! BFD_ASSEMBLER]: Call it.
10053 (relax_and_size_seg) [BFD_ASSEMBLER]: New function; relax section
10054 and set its size and flags.
10055
10056 * struc-symbol.h (struct symbol) [BFD_ASSEMBLER]: Replace some
10057 fields with BFD equivalents. Turn on back-pointers, and add
10058 target-specific fields at end.
10059
10060 Thu Feb 11 09:20:37 1993 Ian Lance Taylor (ian@cygnus.com)
10061
10062 * config/obj-coffbfd.c (fill_section): Don't set vaddr here.
10063 (write_object_file): Set it here instead, so that fixup_segment
10064 can see the correct value.
10065
10066 Mon Feb 8 13:56:17 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10067
10068 * write.c (write_object_file): Check for errors and warnings and
10069 bail out before processing contents.
10070 (chain_frchains_together_1): New function, does most of the work
10071 of remove_subsegs.
10072 (chain_frchains_together) [BFD_ASSEMBLER]: New function.
10073 (remove_subsegs) [! BFD]: Call it.
10074 (write_object_file) [BFD_ASSEMBLER]: Converted to use BFD
10075 structures and routines.
10076
10077 * config/obj-elf.*: New files.
10078
10079 * config/mips.mt, config/rs6000.mt: Deleted.
10080
10081 * config/h8300.mt: Don't specify compiler here.
10082
10083 * config/z8k.mt: The z8k code depends on the z8k opcode table,
10084 not the h8300 one.
10085 * config/tc-z8k.h: Comment fix.
10086
10087 * write.c: Reordered some functions for better inlining.
10088 (fixup_segment): Linkrelax code is no longer conditional on
10089 TC_I960.
10090
10091 Thu Feb 4 12:45:16 1993 Steve Chamberlain (sac@thepub.cygnus.com)
10092
10093 * config/{h8500.mt, tc-h8500.c, tc-h8500.h, obj-coffbfd.c,
10094 obj-coffbfd.h}: support for the H8/500
10095
10096 Wed Feb 3 19:28:18 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10097
10098 * config/obj-vms.h (SUB_SEGMENT_ALIGN): Define VMS version here.
10099 * write.c (write_object_file): Not here.
10100 (fix_new): Initialize fx_addnumber.
10101
10102 * listing.c: Don't include target-cpu.h explicitly, since as.h
10103 includes it.
10104
10105 Thu Jan 28 00:35:40 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
10106
10107 * write.h [BFD_ASSEMBLER]: Don't declare next_object_file_charP,
10108 *_fix_root, *_fix_tail, seg_fix_rootP, seg_fix_tailP.
10109 (struct fix): Reordered fields for compactness and efficiency.
10110 Converted some logical fields to 1-bit fields.
10111
10112 * config/obj-aout.h: Use PARAMS.
10113 [BFD_ASSEMBLER]: Don't define/declare AOUT_MACHTYPE, seg_N_TYPE,
10114 N_TYPE_seg, DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE.
10115
10116 * read.c: Don't include listing.h; as.h includes it. Removed
10117 DONTDEF code.
10118 [BFD_ASSEMBLER]: Include subsegs.h.
10119 (old_buffer, new_broken_words): Default initialization is
10120 sufficient.
10121
10122 * output-file.c [BFD_ASSEMBLER]: Include bfd.h, default TARGET_MACH
10123 to 0, define stdoutput.
10124 (output_file_create) [BFD_ASSEMBLER]: Call bfd_perror on failure.
10125 Call bfd_set_arch_mach.
10126 (output_file_close) [BFD_ASSEMBLER]: Call bfd_close, not
10127 bfd_close_all_done. Call bfd_perror on failure.
10128 (output_file_append) [BFD_ASSEMBLER]: Don't define.
10129
10130 * config/m68kcoff.mt (LOCAL_LOADLIBES): Delete definition.
10131
10132 * subsegs.h (segment_info_type): Always define. Omit field scnhdr
10133 if not MANY_SEGMENTS. Define new field bfd_section if
10134 BFD_ASSEMBLER.
10135 (seg_info): New macro.
10136
10137 * expr.c, input-scrub.c: Use PARAMS macro. Deleted unused
10138 variables, and some irrelevant comments.
10139
10140 * Makefile.in (ALL_CFLAGS): Include $(BFDDEF).
10141 (LIBS): Include $(BFDLIB). Don't bother with $(CLIB).
10142 * configure.in: Permit --with-bfd-assembler now, with a warning.
10143 Variable need_bfd is now a boolean, as is new variable bfd_gas.
10144 Set BFDDEF and BFDLIB in Makefile when appropriate.
10145
10146 * as.c: Removed "#ifdef DONTDEF" and "#ifdef comment" code.
10147 (main): Refer to flag_always_generate_output instead of
10148 flagseen['Z'].
10149
10150 * as.c (main) [BFD_ASSEMBLER]: Open output bfd.
10151 (*_section) [BFD_ASSEMBLER]: Define them.
10152 (perform_an_assembly_pass) [BFD_ASSEMBLER]: Initialize them, and
10153 set section flags when appropriate.
10154 * as.h (SEG_NORMAL) [BFD_ASSEMBLER]: Require that the specified
10155 section is not absolute, undefined, or an assembler internal one.
10156 (absolute_section, undefined_section): Always define.
10157 * expr.c, read.c, symbols.c: Refer to *_section, not SEG_*; break
10158 switch statements into if-else trees.
10159 * symbols.c [MANY_SEGMENTS]: Deleted redundant definitions of
10160 SEG_BSS and SEG_DATA.
10161
10162 * as.h (frag_now_fix): New macro.
10163 * symbols.c (colon): Use it.
10164
10165 Wed Jan 27 21:43:53 PST 1993 Ralph Campbell (ralphc@pyramid.com)
10166
10167 * config/tc-mips.c: Added mips support for mips-dec-bsd.
10168 * config/tc-mips.h: Added mips support for mips-dec-bsd.
10169 * config/ho-mipsbsd.h: Added mips support for mips-dec-bsd.
10170 * config/mips-opcode.h: Added mips support for mips-dec-bsd.
10171 * configure.in: Added mips support for mips-dec-bsd.
10172 * atof-generic.c: Define TRUE and FALSE if not defined.
10173
10174 Thu Jan 21 12:48:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10175
10176 * version.c: Bumped version number to 1.93.05.
10177
10178 Wed Jan 20 17:11:53 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10179
10180 * config/obj-coff.c (obj_emit_relocations): Don't use #elif.
10181 (obj_emit_lineno): Don't need return at end of void function.
10182 (obj_symbol_new_hook): Ditto.
10183
10184 * config/tc-m68k.c: Removed some unused code.
10185 (tc_aout_fix_to_chars): Array nbytes_r_length is now const.
10186
10187 * config/tc-m68k.h (TC_COUNT_RELOC): Don't emit reloc if only
10188 offset field is set.
10189
10190 Fri Jan 8 05:44:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10191
10192 * config/tc-sparc.c (sparc_ip): For %uhi and %ulo, if not
10193 ENV64, emit no reloc.
10194 (md_pseudo_table): For ".xword", call s_xword.
10195 (s_xword): New function.
10196
10197 * config/tc-sparc.c (architecture_requested, warn_on_bump,
10198 md_relax_table): Use default zero initialization.
10199 (s_reserve): Since SEG_E2 is equivalent to SEG_BSS, just use the
10200 latter, instead of selecting with preprocessor conditionals.
10201
10202 Thu Jan 7 08:58:21 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
10203
10204 * configure.in: recognise all sparclite variants
10205
10206 Thu Jan 7 05:25:25 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10207
10208 * read.c (s_data) [!BFD_ASSEMBLER]: Fix typo in 4 Jan change --
10209 accidentally changed to use subseg_change where it should have
10210 been subseg_new.
10211
10212 Tue Jan 5 08:42:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10213
10214 * expr.c (operand): If character other than comma or newline is a
10215 logical end-of-line character, use the newline case.
10216 From Eric Youngdale:
10217 (operand): Set X_add_number field for floating-point numbers.
10218 (operand): Treat zero byte as end-of-operand.
10219
10220 * configure.in (per-target): Look for with_bfd_assembler option.
10221 For now, only accept "no", until the merge is done.
10222
10223 Merged changes from Eric Youngdale (youngdale@v6550c.nrl.navy.mil):
10224 * as.c, flonum-konst.c, hex-value.c, input-file.c, version.c,
10225 config/obj-aout.h, config/obj-vms.c: VMS -> HO_VMS.
10226 * read.c: Finish conversion to S_* macros in the VMS only
10227 parts of the program. Add "const" modifier to hex_value.
10228 * as.c, read.c, symbols.c, write.c: Change "ifdef VMS" to
10229 "ifdef OBJ_VMS".
10230 * expr.c: Add "const" modifier to hex_value.
10231 * symbols.c: Finish conversion to S_* macros in the VMS only
10232 parts of the program. Add "const" modifier to
10233 md_[long,short]_jump_size. Remove declaration of const_flag
10234 (which will be declared in obj-vms.h).
10235 * write.c: Add "const" modifier to md_[long,short]_jump_size.
10236 Fix arguments to VMS_write_object_file.
10237 * config-gas.com: New file. Script for VMS systems to set up the
10238 configuration to build gas for VMS, and create config.status.
10239 * make-gas.com: Redone to work with new scheme.
10240 * obj-vms.c: Patch to fix bug where we were not correctly parsing the
10241 stabs directives.
10242 * obj-vms.c: Define macros COPY_LONG and COPY_SHORT which
10243 will swap bytes if needed on a big endian system. Use throughout
10244 as needed.
10245 * obj-vms.c (obj_aout_stab): Add code to generate listing file.
10246 * obj-vms.c (VMS_typedef_parse): Add alias to correctly handle certain
10247 types of malformed stabs. Change parsing algorithm so that we are
10248 more certain of having all of the information that we need on hand.
10249 * obj-vms.c (final_forward_reference): New function, used to help
10250 resolve the data types of as many struct elements as possible
10251 when some part of the struct is not fully defined by the compiler.
10252 * obj-vms.c (VMS_LSYM_Parse): Correctly handle case of continuation
10253 stabs directives.
10254 * obj-vms.c (VMS_write_object_file): Define all vtable psects
10255 as symbols as well in the object file. Look for external functions
10256 that start with "__vt.", and turn them into variables, since the
10257 g++ compiler is incapable of doing this.
10258 * tc-vax.c: Add '1' option for backward compatibility with older GCC
10259 versions.
10260 * bignum-copy.c (bignum_copy): Fix bug where we pad with zeroes.
10261 * input-scrub.c (as_where): Fix bug where as would crash if we did not
10262 have the name of the source file yet.
10263 * config/ho-vms.h: define HO_VMS, not HO_VAX.
10264
10265 Mon Jan 4 05:17:26 1993 Ken Raeburn (raeburn@cygnus.com)
10266
10267 * read.c (s_data): Always use "data_section", since it'll map to
10268 SEG_DATA or SEG_E1 if needed.
10269 (s_lcomm): Likewise with bss_section.
10270 (s_fill): Use memset, not bzero.
10271
10272 Thu Dec 31 04:29:27 1992 Ken Raeburn (raeburn@kr-pc.cygnus.com)
10273
10274 * read.c: Deleted some code under "#ifdef DONTDEF" that was for
10275 handling GDB symbol table data.
10276
10277 * config/obj-aout.h (segment_name): Delete definition.
10278 (seg_name): Delete declaration.
10279 * config/obj-bout.h (segment_name, seg_name): Ditto.
10280 * config/obj-vms.h (segment_name, seg_name): Ditto.
10281 * config/obj-coff.h (segment_name): Ditto.
10282 * config/obj-coffbfd.h (segment_name): Ditto.
10283
10284 * Changes for BFD_ASSEMBLER:
10285 * obj.h (obj_crawl_symbol_chain): Declare only if not
10286 BFD_ASSEMBLER.
10287 (obj_header_append, obj_pre_write_hook): Ditto.
10288 * as.h (stdoutput): New var, defined only if BFD_ASSEMBLER.
10289 (segT) [BFD_ASSEMBLER]: New typedef for "asection *".
10290 (segment_name) If BFD_ASSEMBLER, look up BFD section name;
10291 otherwise, use seg_name array.
10292 (seg_name): Declare only if not BFD_ASSEMBLER.
10293 (section_alignment): Declare only if not BFD_ASSEMBLER.
10294 (big_section, reg_section, pass1_section, diff_section,
10295 absent_section, text_section, data_section, bss_section): If
10296 BFD_ASSEMBLER, declare as variables; otherwise, declare as macros,
10297 mapping to segT enum values.
10298 (tc_aout_fix_to_chars, next_object_file_charP): Force parse errors
10299 if these are used or defined, if BFD_ASSEMBLER.
10300 (subseg_set, subseg_new) [BFD_ASSEMBLER]: Functionality of old
10301 subseg_new split into two functions.
10302 (SEG_NORMAL): For BFD_ASSEMBLER, always return true, for now.
10303
10304 * as.h (volatile): Don't define if already defined.
10305 (had_errors, had_warnings): Provide prototypes for ANSI C even if
10306 NO_STDARG.
10307 (as_bad, as_fatal, as_tsktsk, as_warn): For GNU C version 2,
10308 declare with format attribute for -Wformat checking.
10309
10310 Wed Dec 30 10:18:57 1992 Ian Lance Taylor (ian@cygnus.com)
10311
10312 * app.c, config/tc-*.c: Don't include read.h, since it is already
10313 included by as.h.
10314
10315 * These are based on patches from Minh Tran-le
10316 <mtranle@paris.intellicorp.com>.
10317 * configure.in (i[34]86-ibm-aix*): Accept i486 for host. Use
10318 obj_format coffbfd and gas_target i386coff for target.
10319 (i[34]86-*-isc*): New host (uses sysv).
10320 * config/i386aix.mt: Removed (no longer used).
10321 * config/mh-i386aix (RANLIB): Use true rather than /bin/true.
10322 (MINUS_G): Removed.
10323 (LDFLAGS): Added, defined as -shlib.
10324 * config/te-i386aix.h (REVERSE_SORT_RELOCS): Undefine.
10325 * config/te-sco386.h (LOCAL_LABEL): Don't define.
10326 (DOT_LABEL_PREFIX): Define.
10327 * expr.c (operand): If DOT_LABEL_PREFIX, use .L0\001 as a label
10328 name rather than L0\001.
10329 * read.c (s_lcomm): Make a frag in SEG_BSS rather than using
10330 local_bss_counter.
10331 * symbols.c, symbols.h (local_bss_counter): Removed.
10332 * write.c (write_object_file): bss no longer uses
10333 local_bss_counter. Pass correct data and bss size to
10334 VMS_write_object_file.
10335 * config/obj-vms.c (VMS_write_object_file): Accept bss size as
10336 argument, rather than using local_bss_counter.
10337 * config/tc-m88k.c (s_bss): Don't use local_bss_counter.
10338 * config/tc-sparc.c (s_reserve): Don't use local_bss_counter.
10339 * config/obj-coffbfd.c (had_lineno, had_reloc): Removed.
10340 (size_section): Restored sanity check.
10341 (do_relocs_for): Base section address on s_paddr rather than
10342 computing it. Adjust a29k R_IHIHALF special case to account for
10343 section paddr (used to require paddr to be zero). If there are no
10344 reclos, set s_relptr to 0. Set relocation size in object_headers.
10345 (fill_section): Always set s_vaddr here, removing
10346 ZERO_BASED_SEGMENTS case. Force s_scnptr for bss to 0. Don't set
10347 NOLOAD for i386 .bss, because it confuses the SVR3 native linker.
10348 Set STYP_INFO for .comment.
10349 (coff_header_append): Use object headers and H_{SET,GET}_* macros.
10350 Make aouthdr writing depend on OBJ_COFF_OMIT_OPTIONAL_HEADER.
10351 (crawl_symbols): Handle 8 character section name correctly. Use
10352 H_{SET,GET}_* macros.
10353 (do_linenos_for): Set lineno size in object_headers.
10354 (write_object_file): Use H_{SET,GET}_* macros. Don't bother to
10355 set s_vaddr here. If string_byte_count remains 4, set it back to
10356 0, and only write strings out if there are some. Call
10357 fill_section before do_relocs_for and do_linenos_for.
10358 (obj_coff_section): Handle optional quoted second argument giving
10359 section characteristics.
10360 (obj_coff_bss): Added to handle .bss.
10361 (obj_coff_ident): Added to handle .ident (puts string in .comment
10362 section).
10363 (obj_coff_lcomm): Put common symbols in .bss, not .data.
10364 (fixup_mdeps): Change to segment. Call frag_wane after
10365 md_convert_frag.
10366 (fixup_segment): Explicitly check S_IS_COMMON before making 386
10367 adjustment (already happened only for common symbols, but this is
10368 clearer).
10369 * config/obj-coffbfd.h (OBJ_COFF_OMIT_OPTIONAL_HEADER): Define.
10370 * config/tc-i386.c (s_bss): Don't use if I386COFF.
10371 (md_pseudo_table): Ignore .optim and .noopt.
10372 (tc_coff_sizemachdep): New function.
10373 * config/tc-i386.h (REVERSE_SORT_RELOCS): Undef, for SVR3
10374 compatibility.
10375 (LOCAL_LABEL): Removed definition.
10376 (DOT_LABEL_PREFIX): Defined.
10377
10378 Mon Dec 28 10:32:05 1992 Ken Raeburn (raeburn@cygnus.com)
10379
10380 * app.c (app_push): Use memcpy, not bcopy.
10381 (do_scrub_next_char): For \", return " not '.
10382 (symbol_chars): Now const.
10383
10384 * expr.c (operand): If not LOCAL_LABELS_FB, don't look for "0f"
10385 and "0b". If LOCAL_LABELS_DOLLAR, check for "0$".
10386
10387 * config/obj-coff.h: Don't use #elif.
10388
10389 * config/ho-sunos.h: Don't include sys/stdtypes.h; 4.0.3 doesn't
10390 have it. (Reported by Noah Friedman, friedman@gnu.ai.mit.edu.)
10391
10392 Wed Dec 16 12:12:33 1992 Ian Lance Taylor (ian@cygnus.com)
10393
10394 * write.c, obj-ieee.c: don't define SUB_SEGMENT_ALIGN if it is
10395 already defined.
10396
10397 Tue Dec 15 12:40:11 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10398
10399 * app.c (do_scrub_begin): allow single quote strings if so
10400 configured.
10401
10402 * config/*z8k*: checkpoint
10403
10404 Sun Dec 13 00:04:38 1992 Ian Lance Taylor (ian@cygnus.com)
10405
10406 * read.c (read_a_source_file): avoid calling xmalloc (0).
10407
10408 Sat Dec 12 15:26:34 1992 Ian Lance Taylor (ian@cygnus.com)
10409
10410 * listing.c: Call xmalloc, not malloc; don't declare malloc.
10411
10412 * Changes to support SCO 3.2v4:
10413 * read.c (s_align_bytes, s_align_ptwo): If not SEG_DATA or
10414 SEG_BSS, fill with NOP_OPCODE.
10415 * config/i386coff.mt: Add opcode/i386.h to TARG_CPU_DEPENDENTS.
10416 * config/obj-coffbfd.c (do_relocs_for): Increment addr even if not
10417 using ZERO_BASED_SEGMENTS.
10418 (fill_section): If ZERO_BASED_SEGMENTS, set segment addresses, but
10419 never set segment address for SEG_E2 (.bss) and don't write out
10420 SEG_E2 contents. Set .init and .fini sections to STYP_TEXT.
10421 (obj_coff_endef): Don't merge labels or symbols awaiting forward
10422 definitions, and don't merge tags with non-tags. Check for .bf
10423 rather than just checking whether the second character is b and
10424 the third character is f.
10425 (obj_coff_val): gcc can generate values which we don't handle
10426 correctly; discard information for now, since it only affects the
10427 debugging information.
10428 (tag_find_or_name): Don't insert tags in the symbol table.
10429 (yank_symbols): Don't merge labels.
10430 (write_object_file): Don't define SUB_SEGMENT_ALIGN if it is
10431 already defined. Fill subsegments with NOP_OPCODE, not 0. Don't
10432 set segment address if ZERO_BASED_SEGMENTS.
10433 (obj_coff_section): Accept and ignore a trailing quoted string, as
10434 used in AT&T i386 syntax.
10435 (fixup_segment): Take segment as argument. On the i386, adjust PC
10436 relative addends by the segment vaddr.
10437 * tc-i386.h: Define SUB_SEGMENT_ALIGN.
10438 * tc-a29k.h: Define ZERO_BASED_SEGMENTS.
10439 * tc-i386.c: (i386_operand): If I386COFF, accept any segment type.
10440
10441 Tue Dec 8 00:06:48 1992 Ken Raeburn (raeburn@rtl.cygnus.com)
10442
10443 * config/obj-coffbfd.c: Include libcoff.h.
10444
10445 * version.c: Now version 1.93.
10446
10447 Mon Dec 7 00:39:09 1992 Ken Raeburn (raeburn@cygnus.com)
10448
10449 * config/tc-i386.c (md_pseudo_table): For 386bsd and linux, do
10450 power-of-two alignment for .align.
10451
10452 * as.h: If BROKEN_ASSERT, just redefine `assert' to be trivial,
10453 and leave everything else alone.
10454
10455 Fri Dec 4 16:58:42 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
10456
10457 * Makefile.in (as.new): Don't bother saving as.old.
10458
10459 * write.c: Conditionalize on OBJ_VMS, not VMS.
10460 (magic_number_for_object_file): Don't define if OBJ_VMS.
10461
10462 * config/obj-vms.c: Changes for traditional C.
10463
10464 Thu Dec 3 01:24:07 1992 Ken Raeburn (raeburn@kr-pc.cygnus.com)
10465
10466 * config/ho-generic.h (malloc, realloc): Declare.
10467
10468 * Lots of comment/whitespace changes.
10469
10470 * write.h (struct fix): Some fields reordered, narrowed.
10471
10472 * read.c (MASK_CHAR): Define using C types, not magic number.
10473
10474 * as.c, input-file.c: Deleted some unused code.
10475
10476 * app.c, as.h: Doc fix.
10477
10478 * flonum-konst.c, flonum-mult.c: Include ansidecl.h.
10479
10480 * as.h (xmalloc): Argument is long.
10481
10482 * xmalloc.c (error): Remove declaration; as.h takes care of it.
10483
10484 * doc/as.texinfo: Regrouped documentation of some command-line
10485 options. Updated options documentation for m68k. Some minor
10486 wording/punctuation changes.
10487
10488 Mon Nov 30 11:42:11 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
10489
10490 * configure.in: Accept target OS "vms".
10491
10492 * symbols.c: Merged ANSI and non-ANSI function decls, using
10493 PARAMS macro.
10494
10495 * xmalloc.c: Just include as.h, don't bother trying to figure out
10496 other header files.
10497
10498 * strstr.c, strerror.c: Deleted.
10499 * Makefile.in: Deleted references.
10500
10501 * config/tc-ns32k.c: Don't include header file for string
10502 declarations; leave that to ho-*.h.
10503
10504 Fri Nov 27 04:11:36 1992 Ken Raeburn (raeburn at cambridge-laptop.cygnus.com)
10505
10506 * config/coff_gnu.h [TC_I860]: Guesses for reloc type values,
10507 imported from FSF sources.
10508
10509 * messages.c (strerror): Declare unconditionally.
10510
10511 * as.h: Delete alloca and register definitions.
10512
10513 * config/atof-ieee.c (mask): Now const.
10514
10515 * obstack.c, obstack.h: Deleted.
10516
10517 * as.h (flag_readonly_data_in_text): New flag.
10518 * as.c (main): Set it for -R.
10519
10520 * as.h (flag_suppress_warnings): New flag.
10521 * as.c (main): Set it for -W.
10522 * messages.c (as_warn): Check it instead of flagseen['W'].
10523
10524 * as.h (flag_always_generate_output): New flag.
10525 * as.c (main): Set it for -Z.
10526
10527 * config/tc-sparc.h: Define NEED_FX_R_TYPE.
10528 * config/tc-a29k.h: Ditto.
10529 * write.h (struct fix): Don't conditionalize fx_r_type field on TC
10530 macros.
10531
10532 * as.h: Merged ANSI and non-ANSI function decls, using PARAMS
10533 macro.
10534 * bignum.h, expr.h, flonum.h, frags.h, input-file.h, listing.h,
10535 obj.h, output-file.h, read.h, struc-symbol.h, symbols.h, tc.h,
10536 write.h: Likewise.
10537 * read.c: Likewise.
10538
10539 * xmalloc.c: Conditionalize on HAVE_MALLOC_H, not USG. Fold in
10540 xrealloc from xrealloc.c.
10541 * xrealloc.c: Deleted.
10542 * Makefile.in (REAL_SOURCES, OBJS): Adjusted.
10543
10544 * configure.in: For host CPU a29k, rs6000, vax, consider using bsd
10545 or vms ho- files.
10546
10547 * config/ho-sysv.h (setbuffer, HO_USG): Deleted.
10548
10549 * config/atof-ieee.c (atof_ieee): Exponent field isn't a pointer;
10550 don't initialize it with NULL.
10551
10552 * config/ho-vax.h (M_VAX): Deleted; was unused.
10553
10554 * README-vms, config/ho-vms.h, config/obj-vms.c, config/obj-vms.h:
10555 New files imported from FSF version, contributed by Eric Youngdale.
10556 * README-vms-dbg, config/vms: Deleted.
10557
10558 * ChangeLog, config/ChangeLog: Merged.
10559
10560 * config/*tahoe*, configure.in: Tahoe support brought in from FSF
10561 version.
10562
10563 * input-file.c (input_file_open): Eliminate call to setvbuf.
10564 [USG] (setbuffer): Deleted macro.
10565
10566 Mon Nov 23 11:00:16 1992 Ken Raeburn (raeburn@cygnus.com)
10567
10568 * all files: Whitespace changes for GNU indentation style, done by
10569 GNU `indent'. Some cleanup still needed, especially of comments.
10570
10571 * configure.in: No te-386bsd.h file exists; don't try to use it.
10572
10573 * obj-coff.c (obj_coff_endef): Use as_warn, not fprintf.
10574
10575 * tc-m68k.c (md_assemble): Don't complain about 68000 with 68881;
10576 could be doing emulation.
10577
10578 Thu Nov 19 11:47:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10579
10580 z8000 documentation
10581 * doc/Makefile.in, doc/all.m4, doc/as-all.texinfo, doc/as.texinfo:
10582 all modified.
10583
10584 Tue Nov 10 09:49:24 1992 Ian Lance Taylor (ian@cygnus.com)
10585
10586 * Makefile.in (as.o, obj-format.o): added dependency on subsegs.h.
10587
10588 * subsegs.h: add extern to segment_info declaration.
10589
10590 * read.h: added extern declarations for comment_chars,
10591 line_comment_chars, and line_separator_chars.
10592 read.c, app.c: removed definitions of comment_chars,
10593 line_comment_chars, and line_separator_chars.
10594
10595 * tc-m68k.c (m68k_reg_parse): If REGISTER_PREFIX isn't defined,
10596 still accept (but don't require) OPTIONAL_REGISTER_PREFIX before
10597 the register name.
10598 (insert_reg): put REGISTER_PREFIX before register names before
10599 putting them in the symbol table.
10600 * tc-m68k.h (OPTIONAL_REGISTER_PREFIX): Define to be "%", if not
10601 M68KCOFF.
10602
10603 * obj-coffbfd.c (fill_section): set STYP_NOLOAD bit for .bss
10604 section.
10605
10606 * atof-ieee.c, atof-ns32k.c, tc-*.c: made EXP_CHARS, FLT_CHARS,
10607 comment_chars, line_comment_chars and line_seperator_chars
10608 consistently const, and always initialized them. Included read.h.
10609
10610 Thu Nov 5 17:55:41 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
10611
10612 * tc-sparc.c (sparc_ip): Add code to flag error if an absolute
10613 constant will not fit in an immediate field.
10614 (md_apply_fix, RELOC_BASE13 case): Check for relocation overflow.
10615
10616 Wed Nov 4 07:50:46 1992 Ken Raeburn (raeburn@cygnus.com)
10617
10618 * obj-coff.c (callj_table): Delete global variable.
10619 (obj_emit_relocations): Define it locally here, and only if
10620 TC_I960 is defined.
10621
10622 * tc-m68k.c (m68k_reg_parse): Underscore is part of a symbol name.
10623 (m68k_ip): Don't warn about bignum used as float bit-pattern.
10624
10625 * obj-coff.c: Replaced ANSI and non-ANSI function declarations
10626 with a single set using PARAMS macro.
10627
10628 * tc-i960.c (tc_bout_fix_to_chars): Bit-field fixups want a length
10629 of 2.
10630
10631 * tc-i960.c: Missed a couple of 0->NO_RELOC conversions.
10632
10633 * tc-i960.h (N_BALNAME, N_CALLNAME): Define as char-type values,
10634 so widening works consistently.
10635
10636 Wed Oct 28 08:52:34 1992 Ken Raeburn (raeburn@cygnus.com)
10637
10638 * version.c: Put conditional "const" before version_string, not
10639 before dummy function for VMS. Now version 1.91.03.
10640
10641 * app.c (do_scrub_next_char): Need double-\ before `000' to show
10642 printed rep of null character.
10643
10644 Fri Oct 23 14:40:38 1992 Ian Lance Taylor (ian@cygnus.com)
10645
10646 * obj-coffbfd.c (write_object_file): check return value of
10647 bfd_close_all_done.
10648
10649 Tue Oct 20 12:18:08 1992 Ian Lance Taylor (ian@cygnus.com)
10650
10651 * Support for i386-sysv.
10652 obj-coffbfd.c (do_relocs_for, write_object_file): set segment
10653 addresses to reasonable sizes. New define ZERO_BASED_SEGMENTS can
10654 be used to set them all to zero as was done before.
10655 (fill_section): segment addresses now set in write_object_file.
10656 (fill_section): Don't set STYP_NOLOAD for .bss section.
10657 (fixup_segment): 386 uses strange common symbol format.
10658 tc-i386.c (tc_coff_fix2rtype): use R_DIR32, not R_RELLONG, for
10659 compatibility with SVR3.2 linker.
10660 * configure.in: i386-sysv and i386-sco use coffbfd.
10661
10662 * app.c (do_scrub_next_char): discard whitespace after a label.
10663
10664 Sat Oct 10 12:33:45 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
10665
10666 * configure.in: differentiate between SunOS 4 and Solaris2 for Sun4
10667 hosts, use the sysv configuration for solaris2
10668
10669 Mon Oct 5 09:28:57 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10670
10671 fix i960+non-bfd coff bit rot.
10672 * obj-coff.c (c_dot_file_symbol, obj_coff_ln, obj_coff_line):
10673 support for C source listings. (obj_coff_endef): look in the right
10674 part of the symbol for the symbol name
10675
10676 * tc-m68k.c (get_num): make it work for all segments, not just the
10677 first three.
10678
10679 Mon Oct 5 03:30:36 1992 Mark Eichin (eichin at tweedledumber.cygnus.com)
10680
10681 * configure.in: recognize i386-*-bsd emulation.
10682
10683 Thu Oct 1 23:05:12 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
10684
10685 * configure.in: use the cpu-vendor-os triple for host and target
10686
10687 Tue Sep 29 12:22:52 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10688
10689 * obj-coffbfd.c (write_object_file): don't fixup for the z8k
10690 * tc-z8k.c: lots of bug fixes
10691
10692 Tue Sep 29 10:51:55 1992 Ian Lance Taylor (ian@cygnus.com)
10693
10694 * tc-i960.h, tc-i960.c: avoid the ANSI preprocessor addition
10695 #elif, since it is not supported by old compilers.
10696 ho-rs6000.h, tc-m68k.c: the native RS/6000 compiler miscompiles a
10697 couple of expressions in tc-m68k.c.
10698
10699 Mon Sep 28 21:18:24 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
10700
10701 * read.c (cons): If NO_RELOC is defined, use it.
10702
10703 * tc-i960.c (get_cdisp): Use NO_RELOC, not 0, in call to fix_new.
10704
10705 Fri Sep 25 18:18:52 1992 Ian Lance Taylor (ian@cygnus.com)
10706
10707 * tc-m68k.h: if M68KCOFF, define DOT_LABEL_PREFIX (to require
10708 local labels to start with a .) and set REGISTER_PREFIX to %.
10709 tc-m68k.c (m68k_reg_parse): accept REGISTER_PREFIX if defined.
10710
10711 Fri Sep 25 17:53:43 1992 John Gilmore (gnu@cygnus.com)
10712
10713 * messages.c: Comment changes.
10714
10715 Fri Sep 25 14:12:58 1992 Ken Raeburn (raeburn@kyriath.cygnus.com)
10716
10717 * as.h: Test if __STDC__ is defined only, don't test its value.
10718 * messages.c: If __STDC__ is not defined, define NO_STDARG.
10719
10720 Thu Sep 24 12:42:32 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
10721
10722 * listing.c (debugging_pseudo): Add stabs and stabn as things to
10723 ignore.
10724
10725 Tue Sep 22 13:02:07 1992 Sean Eric Fagan (sef@cygnus.com)
10726
10727 * obj-coffbfd.c (do_relocs_for,fill_section): now allocate all
10728 sections starting from zero, rather than making them consecutive.
10729 This makes subsequent reloc calculations easier, esp if the object
10730 format doesn't understand addends. (obj_coff_lcomm): (maybe temporarily)
10731 allocate lcomm in .data rather than in .bss. It seems that some
10732 tools can't cope with a non-zero sized bss before linkage.
10733
10734 Tue Sep 22 15:10:51 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
10735
10736 * tc-m68k.c: Replace "enum m68k_architecture" with "int"
10737 throughout. That enum no longer means what we thought it meant.
10738
10739 * tc-m68k.c (md_assemble, md_parse_option): Handle new
10740 "-mno-688[58]1" options.
10741
10742 * tc-m68k.c: Added CPU32 support.
10743
10744 Fri Sep 18 08:02:18 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10745
10746 * tc-m68k.c (m68k_ip): An(disp) is not pc relative.
10747
10748 Tue Sep 15 17:25:05 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
10749
10750 * Makefile.in (as.new): Remove dependence on LOCAL_LOADLIBES.
10751 Change LIBDEPS dependence to LIBS.
10752
10753 Tue Sep 15 15:32:02 1992 Ian Lance Taylor (ian@cygnus.com)
10754
10755 * Makefile.in (install): if $(tooldir) exists, install as in
10756 $(tooldir)/bin.
10757
10758 Sun Sep 13 20:30:10 1992 Ian Lance Taylor (ian@cygnus.com)
10759
10760 * Added WARN_SIGNED_OVERFLOW_WORD define to give an error if any
10761 .word is < -32768 or > 32767. The -J flag causes the error to be
10762 ignored. This is to catch over-sized switches generated by gcc on
10763 systems which don't support the broken .word hack.
10764 as.c (main): permit -J if WARN_SIGNED_OVERFLOW_WORD.
10765 write.c (fixup_segment): check for signed .word overflow if
10766 WARN_SIGNED_OVERFLOW_WORD.
10767
10768 * write.c (fixup_segment): fixed missing parens in expression
10769 checking for byte or word overflow.
10770
10771 * obj-coffbfd.h: define WARN_SIGNED_OVERFLOW_WORD.
10772 obj-coffbfd.c (fixup_segment): check for signed .word overflow if
10773 WARN_SIGNED_OVERFLOW_WORD.
10774
10775 * obj-coffbfd.c (fixup_segment): fixed missing parens in
10776 expression checking for byte or word overflow.
10777
10778 Fri Sep 11 10:21:04 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10779
10780 Support for i386 coff
10781 * obj-coffbfd.h : added stuff
10782 * tc-i386.c (tc_coff_fix2rtype): new function
10783 * tc-i386.h : new coff defines
10784
10785 Thu Sep 10 09:23:15 1992 Ian Lance Taylor (ian@cygnus.com)
10786
10787 * input-scrub.c (input_scrub_push): call input_file_begin, not
10788 input_scrub_begin.
10789 messages.c (as_perror): print ": " between the passed in error and
10790 the strerror, like perror does.
10791
10792 Wed Sep 9 11:06:25 1992 Ian Lance Taylor (ian@cygnus.com)
10793
10794 * Makefile.in: use gas_target instead of modifying target_cpu.
10795 From Steve Chamberlain:
10796 Makefile.in: Handle m68*-*-coff*.
10797 read.c, read.h: add mult argument to s_space
10798
10799 * tc-m68k.c (m68k_ip, m68k_ip_op, get_num, try_moto_index): merge
10800 Motorola and MIT syntax; gas can now assemble either type of
10801 file.
10802 tc-m68kmote.c, tc-m68kmote.h: removed now superfluous files.
10803 From Steve Chamberlain:
10804 m68kcoff.mt: for m68k COFF.
10805 obj-coffbfd.c: (fixup_mdeps) added
10806 (size_section) removed bad sanity check
10807 (fill_section) added rs_machine_dependent case
10808 (write_object_file) call fixup_mdeps
10809 (fixup_segment) set fx_subsy to 0.
10810 obj-coffbfd.h: define WORKING_DOT_WORD (too hard to support) and
10811 handle m68k.
10812 tc-m68k.c, config/tc-m68k.h: added m68k COFF support and Motorala
10813 pseudo ops.
10814
10815 Tue Sep 8 17:10:58 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
10816
10817 * Makefile.in (LIBS): Include opcode library.
10818
10819 Fri Sep 4 18:20:56 1992 Ken Raeburn (raeburn@cygnus.com)
10820
10821 * config/tc-m68k.c (get_num, case SEG_BIG): If only small integers
10822 including zero are accepted, pass +0.0.
10823
10824 Sun Aug 30 21:24:46 1992 Ian Lance Taylor (ian@cygnus.com)
10825
10826 * Makefile.in: map "as" through program_transform_name when
10827 installing.
10828
10829 * doc/Makefile.in: map "as" through program_transform_name when
10830 installing.
10831
10832 Sat Aug 29 12:11:12 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
10833
10834 * Makefile.in (as.new): Depend on LOCAL_LOADLIBES.
10835
10836 Fri Aug 28 16:25:22 1992 Ian Lance Taylor (ian@cygnus.com)
10837
10838 * obj-bout.h, obj-bout.c (obj_header_append, obj_symbol_to_chars),
10839 tc-i960.c (md_ri_to_chars): Always output bout object file in
10840 little endian byte order (used to use endianness of host).
10841
10842 Tue Aug 25 15:50:48 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
10843
10844 * config/tc-m68k.c (init_table): Now const. Always include 68851
10845 data, so that "bc" is available to 68040 cache instructions.
10846 Added "tt0", "tt1", and 68ec030 variants.
10847 (md_assemble): Complain if 68000 (only) and 68881 are specified.
10848 (enum _register): Added TT0, TT1.
10849 (m68k_ip, cases '3' and 't'): Handle new operand type codes. Pass
10850 line number correctly in "internal error" messages. Don't print
10851 architecture-mismatch message for operand errors.
10852
10853 From Colin Smith (colin@wrs.com):
10854 * config/tc-m68k.c (m68k_ip, case '_'): Use addword twice rather
10855 than install_operand.
10856
10857 Tue Aug 25 15:13:48 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10858
10859 * listing.c (buffer_line): rewind to the start of include
10860 files, they might be included twice.
10861
10862 * z8k.c, z8k.h, z8k.mt: z8000 support stuff
10863
10864 Mon Aug 24 12:45:43 1992 Ian Lance Taylor (ian@cygnus.com)
10865
10866 * Makefile.in: defined TARGET_CPU for C code so that it can choose
10867 one element of a family.
10868
10869 * tc-m68k.c: use TARGET_CPU to choose default cpu type.
10870
10871 * te-generic.h: default to LOCAL_LABELS_DOLLAR and LOCAL_LABELS_FB
10872 so that we can assemble hand-written libgcc code.
10873
10874 Fri Aug 21 14:38:44 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
10875
10876 * messages.c (as_warn): Use fputs, not fprintf, with a buffer that
10877 has already been formatted (but may still contain %-characters).
10878 (as_bad): Likewise.
10879
10880 Wed Aug 19 11:20:59 1992 Ian Lance Taylor (ian@cygnus.com)
10881
10882 * tc-m68k.c, tc-m68kmote.c: the cas2 instruction is supposed to be
10883 written with indirection on the last two operands, which can be
10884 either data or address registers. Added a new operand type 'r'
10885 which accepts either register type. Added '(' to notend stuff in
10886 tc-m68kmote.c to accept (a0):(a2) in cas2 instruction.
10887
10888 Wed Aug 19 09:25:09 1992 Ken Raeburn (raeburn@cygnus.com)
10889
10890 * as.h (enum _relax_state): Start off at one, not zero, to better
10891 catch uninitialized-variable errors.
10892 (linkrelax): Declare new variable.
10893
10894 * messages.c (warning_count, error_count): Default initializer is
10895 sufficient.
10896
10897 * write.c: Merged some declarations, using PARMS macro.
10898 (text_frag_root, data_frag_root, bss_frag_root, text_last_frag,
10899 data_last_frag): No longer static.
10900 (write_object_file, case rs_align or rs_org): If HANDLE_ALIGN is
10901 defined, call it. Change segments before calling fixup_segment.
10902 (relax_align): If linkrelax, provide extra padding.
10903
10904 * obj-bout.c (obj_emit_relocations): Emit alignment relocs despite
10905 their not having symbols associated.
10906
10907 * tc-i960.c (norelax, instrument_branches): Default initializer is
10908 sufficient.
10909 (linkrelax): Delete variable definition.
10910 (mem_fmt): Call fix_new with NO_RELOC.
10911 (tc_bout_fix_to_chars): Handle alignment relocs.
10912 (i960_handle_align): New function.
10913 * tc-i960.h (linkrelax): Delete declaration.
10914 (HANDLE_ALIGN): New macro; calls i960_handle_align.
10915 (NEED_FX_R_TYPE, NO_RELOC): New macros.
10916
10917 Tue Aug 18 14:59:21 1992 Ken Raeburn (raeburn@cygnus.com)
10918
10919 * config/sparc.mt: New file. Grab sparc opcode table from bfd
10920 library.
10921
10922 Tue Aug 18 14:16:38 1992 Ian Lance Taylor (ian@cygnus.com)
10923
10924 * Makefile.in: always create installation directories. Removed
10925 MINUS_G, set CFLAGS to default to -g, added FLAGS_TO_PASS, passed
10926 FLAGS_TO_PASS to recursive makes.
10927
10928 * doc/Makefile.in: always create installation directories.
10929
10930 Mon Aug 17 15:09:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10931
10932 * input-scrub.c (input_scrub_pop, input_scrub_push): memcpy was
10933 being used with args swapped, causing occasional lossage when
10934 refilling buffers after an include file.
10935
10936 Mon Aug 17 13:18:51 1992 Ken Raeburn (raeburn@cygnus.com)
10937
10938 * messages.c (as_tsktsk): Use correct ANSI form for stdarg
10939 version. Discard bogus DONTDEF version.
10940 (as_warn, as_bad, as_fatal): Likewise.
10941
10942 Fri Aug 14 18:31:14 1992 Ken Raeburn (raeburn@cygnus.com)
10943
10944 * config/tc-m68k.c (m68k_ip): If instruction is invalid for the
10945 selected architecture, print a message saying so and listing what
10946 processors support it, rather than saying "operands mismatch".
10947
10948 Thu Aug 13 13:53:19 1992 Ken Raeburn (raeburn@cygnus.com)
10949
10950 * as.h [BROKEN_ASSERT]: If defined, turn off all assertion checks.
10951
10952 * config/ho-rs6000.h (M_RS6000): Don't define it.
10953 (free): Declare it.
10954 (BROKEN_ASSERT): Define it if not __STDC__.
10955
10956 Tue Aug 11 12:58:14 1992 Ken Raeburn (raeburn@cygnus.com)
10957
10958 * sparc.mt: New file.
10959
10960 Mon Aug 10 14:37:08 1992 Per Bothner (bothner@cygnus.com)
10961
10962 * tc-m68k.c: ".align N" means align to N-byte boundary *only*
10963 if TN_SUN3; otherwise align to 2**N-byte bounary.
10964
10965 Thu Aug 6 12:10:39 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10966
10967 * read.c (s_fill): make the .fill size clamped error a warn and
10968 fix bug where 0's were always placed.
10969
10970 * config/tc-h8300.c: if a :8 is seen after an operand, fill top
10971 two bytes of any constant with 0xff:
10972
10973 Wed Aug 5 12:02:40 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10974
10975 * config/tc-m68k.c (md_pseudo_table): fix the .align thing
10976 the right way; for just the 68k. Sun 3 .align is nbytes, not ptwo.
10977
10978 Wed Aug 5 01:54:34 1992 John Gilmore (gnu at cygnus.com)
10979
10980 * tc-m68k.c (try_index): Error if index scaling specified and
10981 assembling for an older CPU than a 68020.
10982
10983 Sat Aug 1 19:10:13 1992 Ken Raeburn (raeburn@cygnus.com)
10984
10985 * config/tc-sparc.c (tc_aout_fix_to_chars): If pc-relative, take
10986 fx_offset into account.
10987
10988 Fri Jul 31 21:53:28 1992 Ken Raeburn (raeburn@cygnus.com)
10989
10990 * configure.in (mips host): Accept "ultrix" with version number.
10991
10992 * expr.c (floating_constant): Separate "=-" to avoid confusing
10993 ancient or broken compilers.
10994
10995 * config/tc-m68k.c (m68k_ip): Mismatch error could also indicate
10996 processor/opcode mismatch, so reword the error message.
10997 (md_assemble): If no CPU has been set (even if FPU/PMMU
10998 characteristics have been), default to 68020. Don't need extra
10999 quotes around error string.
11000
11001 Fri Jul 31 12:26:34 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
11002
11003 * read.c (potable): Revert sac's incorrect change made Jul 13.
11004 Align really is supposed to be ptwo not nbytes.
11005
11006 Mon Jul 20 02:51:59 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
11007
11008 * Makefile.in: _Do_ include libiberty. (from sef)
11009
11010 Fri Jul 17 15:15:28 1992 Ken Raeburn (raeburn@cygnus.com)
11011
11012 * expr.c (integer_constant): Handle "0f" and "0b" label references
11013 properly.
11014
11015 Thu Jul 16 08:20:17 1992 Steve Chamberlain (sac@thepub.cygnus.com)
11016
11017 * write.c (fixup_segment): if relaxing, don't do anything.
11018 * config/obj-bout.[ch] : maintain the a_relaxable file header info
11019 * config/tc-i960.c: new option -linkrelax
11020
11021 Mon Jul 13 14:11:36 1992 Steve Chamberlain (sac@thepub.cygnus.com)
11022
11023 * expr.c (expr): allow SEG_BSS in expressions
11024 * read.c (potable): align should be nbytes, not ptwo!
11025 * write.c (write_object_file): extra glue for new bss attributes
11026 (relax_segment): SEG_BSS is ok now
11027 * config/tc-m68k.c (m68k_ip_op): can now parse more @( modes
11028
11029 Mon Jul 6 17:09:32 1992 Steve Chamberlain (sac@cygnus.com)
11030
11031 * obj-coffbfd.c (fill_section): mark .lit sections as STYP_LIT
11032
11033 Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com)
11034
11035 * configure.in: recognize m680x0 as having sun3 emulation mode for
11036 vxworks environment.
11037
11038
11039 Tue Jun 30 20:25:54 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
11040
11041 * Makefile.in: Add program_suffix (parallel to program_prefix)
11042
11043 Wed Jun 24 10:57:54 1992 Steve Chamberlain (sac@thepub.cygnus.com)
11044
11045 * app.c (process_escape): new function to handle escapes the right
11046 way, (do_scrub_next_char): use new function
11047 * cond.c (s_ifdef): do ifdef/ifndef right
11048 * read.c (s_fill): make the , expressions optional like the doc
11049 says
11050 * config/tc-h8300.[ch]: better warnings
11051
11052 Tue Jun 9 07:54:54 1992 Steve Chamberlain (sac@thepub.cygnus.com)
11053
11054 * subsegs.c (subsegs_begin): create bss0_frchainP in the same was
11055 as data0_frchainP
11056
11057 * write.c (write_object_file): various changes to handle data in
11058 the BSS segment in much the same was as stuff in the DATA segment.
11059
11060 * tc-m68k.c (m68kip): Fix typo so that only arch's >=68020 do
11061 pcrel data stuff. (md_estimate_size_before_relax): when relaxing a
11062 68010 bxx into a bra+6 jmpxx, put the bytes of the jmp opcode into
11063 the right place. (s_bss): Don't put .bss stuff into SEG_DATA, put
11064 it into SEG_BSS
11065
11066 Thu Jun 4 11:59:13 1992 Steve Chamberlain (sac@thepub.cygnus.com)
11067
11068 * expr.c(expr): allow SEG_REGISTER in expressions.
11069 * read.c(pseudo_set): register expressions can be the source of a
11070 set.
11071 * subsegs.c (subseg_new): Now -R forces all changes to SEG_DATA to
11072 goto SEG_TEXT (if a.out)
11073 * write.c (write_object_file): If a.out don't use the old way for
11074 -R.
11075 * config/obj-a.out (s_sect): complain if the user tries to use a
11076 subsegment with a value which might interfere with out -R hackery.
11077 * config/tc-m68k.c (m68k_reg_parse): lookup names in symbol table
11078 rather than use ugly if tree. (init_regtable): insert register
11079 names into symbol table.
11080
11081 Tue Jun 2 16:47:09 1992 Steve Chamberlain (sac@cygnus.com)
11082
11083 * write.c (write_object_file): keep the fix_tail clean, which
11084 fixes a bug in -R where relocations were being lost.
11085
11086 Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com)
11087
11088 * configure.in: recognize m680x0 as having sun3 emulation mode for
11089 vxworks environment.
11090
11091 Sun May 31 05:33:00 1992 david d `zoo' zuhn (zoo@cygnus.com)
11092
11093 * configure.in: recognize m680x0 as an m68k
11094
11095 Thu May 28 11:22:02 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
11096
11097 * configure.in: Recognize sparclite as a sparc variant.
11098
11099 * tc-sparc.c: Use new ARCHITECTURES_CONFLICT_P macro. Mention new
11100 -Asparclite flag.
11101
11102 Tue May 26 16:47:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
11103
11104 * config/tc-a29k.c: lint
11105 * listing.c, expr.c: patches from Andrew Smith
11106
11107 Thu May 14 17:22:48 1992 K. Richard Pixley (rich@rtl.cygnus.com)
11108
11109 * doc/Makefile.in: use m4 rather than gm4.
11110
11111 Mon May 4 18:56:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
11112
11113 * obj-coffbfd.c: use is a synonym for section, (do_relocs_for):
11114 calc the base of relocs correctly.
11115 * tc-a29k.c (parse_operand): allow expressions to be in any section.
11116
11117 Mon Apr 27 13:13:31 1992 K. Richard Pixley (rich@cygnus.com)
11118
11119 * as.c, write.c: use -K rather than -k for the broken word warning
11120 option.
11121
11122 Tue Apr 21 13:35:30 1992 K. Richard Pixley (rich@cygnus.com)
11123
11124 * Makefile.in: do not print recursion lines.
11125
11126 Wed Apr 15 21:19:31 1992 K. Richard Pixley (rich@rtl.cygnus.com)
11127
11128 * Makefile.in: the tooldir copy of gas goes directly in tooldir.
11129
11130 Tue Apr 14 14:50:22 1992 Ken Raeburn (Raeburn@Cygnus.COM)
11131
11132 * write.c (write_object_file): For b.out format, round up section
11133 start addresses to match required alignment.
11134
11135 Thu Apr 9 05:45:29 1992 Ken Raeburn (Raeburn@Cygnus.COM)
11136
11137 * Makefile.in (install): Install into $(tooldir)/bin, since that's
11138 where gcc looks for it.
11139
11140 Tue Apr 7 15:12:15 1992 Sean Eric Fagan (sef@cygnus.com)
11141
11142 * Makefile.in: Changed some lines to be less confusing for some
11143 makes.
11144
11145 * input-file.c: Conditionalize on _IOFBF, not VMS.
11146
11147 * read.c, write.c: Change a series of ifdef/elif to
11148 ifdef/else/ifdef etc.
11149
11150 Fri Mar 27 12:21:16 1992 K. Richard Pixley (rich@cygnus.com)
11151
11152 * symbols.c (fb_label_init): fix sizeof to memset.
11153
11154 Fri Mar 13 15:45:44 1992 K. Richard Pixley (rich@cygnus.com)
11155
11156 * Makefile.in: install the man page.
11157
11158 * Makefile.in: pass down MAKEINFO explicitly on info.
11159
11160 * doc/Makefile.in: use $(MAKEINFO) not makeinfo.
11161
11162 Fri Mar 13 08:03:03 1992 Steve Chamberlain (sac@thepub.cygnus.com)
11163
11164 * flonum-const.c: renamed flonum-konst.c to stop dos name
11165 conflict.
11166
11167 Thu Mar 12 04:42:38 1992 K. Richard Pixley (rich@cygnus.com)
11168
11169 * tc-m68k.h, te-sun3.h: moved LOCAL_LABELS_FB definition from
11170 tc-m68k.h to te-sun3.h.
11171
11172 Wed Mar 11 23:32:42 1992 K. Richard Pixley (rich@cygnus.com)
11173
11174 * configure.in: vxworks68 gets te-sun3.h.
11175
11176 * expr.c: remove limitation that local_labels_dollar or
11177 local_labels_fb must be < 10.
11178
11179 * symbols.c: remove local_labels_dollar, replace with a function
11180 interface for a sparse array. All users adjusted.
11181
11182 * te-sun3.h: add LOCAL_LABELS_DOLLAR.
11183
11184 Sat Mar 7 00:06:25 1992 K. Richard Pixley (rich@rtl.cygnus.com)
11185
11186 * doc/Makefile.in: commented out line for building as-all.texinfo.
11187 This is temporary.
11188
11189 * doc/as.texinfo, doc/as-all.texinfo: added menu item hooks.
11190
11191 Fri Mar 6 21:57:18 1992 K. Richard Pixley (rich@cygnus.com)
11192
11193 * Makefile.in: added check target.
11194
11195 Tue Mar 3 15:45:56 1992 K. Richard Pixley (rich@rtl.cygnus.com)
11196
11197 * Makefile.in: added tooldir and program_prefix.
11198
11199 Sun Mar 1 04:43:19 1992 Michael Tiemann (tiemann@cygnus.com)
11200
11201 * write.{c,h} (fix_new): Make these declarations consistent.
11202
11203 Sat Feb 29 13:59:10 1992 Michael Tiemann (tiemann@cygnus.com)
11204
11205 * Makefile.in (strerror.o): Add rule so that broken Sun make can
11206 work in subdirs.
11207
11208 Wed Feb 26 19:26:28 1992 Steve Chamberlain (sac at thepub.cygnus.com)
11209
11210 * read.c, obj-coffbfd.c : fix h8300 specific bit rot
11211
11212 * expr.c (operand): if can't work out what sort of operand it is,
11213 then look through FLT_CHARS for a hint.
11214
11215 Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com)
11216
11217 * Makefile.in, configure.in: removed traces of namesubdir,
11218 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
11219 copyrights to '92, changed some from Cygnus to FSF.
11220
11221 * doc/Makefile.in, doc/configure.in: removed traces of namesubdir,
11222 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
11223 copyrights to '92, changed some from Cygnus to FSF.
11224
11225 Tue Feb 25 14:17:15 1992 Steve Chamberlain (sac at rtl.cygnus.com)
11226
11227 * expr.c: If an expression is single comma, then return with
11228 SEG_ABSENT rather than an error - since the sparc front end does
11229 really strange things with things like fbge,a
11230
11231 * as.h: include bfd.h if using many sections
11232 * expr.c: LOCAL_LABELS_FB had been changed to lower case - so
11233 local labels didn't work.
11234 * listing.c (list_symbol_table): don't core dump when there's no
11235 symbol there.
11236 * write.c, write.h: call fix_new with the right number of args on
11237 the H8.
11238 * config/tc-h8300.[ch] : fix bugs reported by HMSI, and make
11239 errors nices
11240
11241 Sat Feb 22 12:26:28 1992 Steve Chamberlain (sac at rtl.cygnus.com)
11242
11243 * app.c: MRI compatibility - allow single quote to start a string.
11244 * as.c: fix typo recently introduced.
11245 * as.h : Don't include aout/reloc.h - it's not right for COFF!
11246 * expr.c: Much rewriting, to accomodate MRI syntax for
11247 expressions. Also easier to read now.
11248 * listing.c: Put back defuns
11249 * read.c: modified to accept MRI syntax, put back listing pseudo
11250 ops so that an assembler built with NO_LISTING ignores list ops
11251 rather than pukes.
11252 * write.c, write.h: fixs - only keep a reloc type in a fix if the target
11253 machine is a SPARC or a 29K.
11254 * config/obj-aout.c: added s_sect pseudo op
11255 * config/obj-coffbfd.c: lints, set the filehdr flags right and
11256 fill in the timestamp.
11257 * config/obj-coffbfd.h: Since we don't include aout/reloc.h
11258 anymore, define all the relocs which the tc-<x> bit will use so we
11259 can translate from them to the coff types.
11260 * config/tc-a29k.c: reloc_type isn't ane enum any more
11261 * config/tc-m68k.c: Added NO_RELOC definition.
11262
11263 Fri Feb 21 06:21:07 1992 K. Richard Pixley (rich@rtl.cygnus.com)
11264
11265 * Makefile.in: put header files before C source for TAGS; remove
11266 references to non-existent syscalls.h.
11267
11268 * read.c, write.c subsegs.c: back out the .bss changes.
11269
11270 * obj-aout.c: do not include stab.gnu.h if NO_LISTING.
11271
11272 * tc-i860.c, a.out.gnu.h: move i860 relocs to a proper place.
11273
11274 * a.out.h: removed.
11275
11276 Fri Feb 21 01:08:48 1992 Minh Tran-Le (TRANLE@INTELLICORP.COM)
11277
11278 * symbols.c (local_label_name): symbols now start with ^A.
11279
11280 * read.c, subsegs.c, write.c obj-coff.c: added handling of
11281 `.bss` pseudo op for unitialized data. The new gcc (1.37.9x)
11282 generate these sections. .align: will use NOP_OPCODE or 0
11283 for padding. This is just for being nice to the
11284 disassembler.
11285
11286 * expr.c (operand): changed to generate local label "\001L0"
11287 starting with a ^A so that it is recognized as a local label.
11288
11289 * as.c (perform_an_assembly_pass): zero bss_fix_root, too.
11290
11291 * tc-i386.c: tc-i386.c: added handling of the following opcodes:
11292 i/o opcodes - inb, inw, outb and outw. string manipulation with
11293 att syntax - scmp, slod, smov, ssca, ssto.
11294
11295 * obj-coff.c: (for aix386) Moved the symbols .text, .data and .bss
11296 to just after .file .
11297
11298 In obj_crawl_symbol_chain() where it tries to put the external
11299 symbols apart, with the condition:
11300 (!S_IS_DEFINED(symbolP) &&
11301 !S_IS_DEBUG(symbolP) &&
11302 !SF_GET_STATICS(symbolP))
11303 it was moving too many symbols out. So I switch it back to the
11304 condition:
11305 (S_GET_STORAGE_CLASS(symbolP) == C_EXT && !SF_GET_FUNCTION(symbolP))
11306
11307 In obj_emit_relocations() added the conditional on KEEP_RELOC_INFO
11308 so that we don't use the F_RELFLG which make the linker complain
11309 that somebody has stripped the relocation info.
11310
11311 Also, the AIX ld program require that the relocation table
11312 is sorted by r_vaddr like the standard ATT assembler does.
11313
11314 [he also changed the sizeof(struct ...)'s into the coff
11315 style FOOSZ macros. I'm not sure this is right, but I can't
11316 remember why. xoxorich.]
11317
11318 Fri Feb 21 01:08:48 1992 K. Richard Pixley (rich@cygnus.com)
11319
11320 * Makefile.in, configure.in, doc: use the doc. Build it, install
11321 it, clean it, etc.
11322
11323 Tue Feb 18 02:21:25 1992 K. Richard Pixley (rich at cygnus.com)
11324
11325 * read.c: white space and comments only.
11326
11327 * configure.in: use the new atof-ns32.c for ns32k.
11328
11329 * write.c: comment change only.
11330
11331 * tc-m88k.[hc]: pulled in from hack's unfinished work. These
11332 aren't yet integrated.
11333
11334 * tc-i860.[hc]: blew off the dust. Something must still be done
11335 about conflicting relocation types.
11336
11337 * tc-ns32k.c: Replaced previous tc_aout_fix_to_chars stub with the
11338 real thing.
11339
11340 * tc-i960.c, tc-sparc.c: white space and comments only.
11341
11342 * tc-a29k.h: delete duplicate macro definition.
11343
11344 * new file atof-ns32k.c copied from hack's last unreleased gas.
11345
11346 Mon Feb 17 07:51:06 1992 K. Richard Pixley (rich at cygnus.com)
11347
11348 * config/tc-ns32k.c: actually make tc_aout_fix_to_chars work
11349 rather than abort.
11350
11351 * nearly everything. flush ChangeLog, package as gas-1.92.1.
11352 ChangeLog's prior to this are sketchy at best. I have logs.
11353 They just aren't ChangeLogs.
This page took 0.266923 seconds and 4 git commands to generate.