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