Make ! a comment only under Solaris; Add .rdata/.rodata pseduo ops
[binutils-gdb.git] / gas / ChangeLog
1 Thu May 30 19:00:19 1996 Ian Lance Taylor <ian@cygnus.com>
2
3 * read.c (s_lcomm): Set section flags for .sbss section.
4
5 * config/tc-mips.c (mips_64): New static variable.
6 (mips_target_format): If mips_64, return elf64 targets rather than
7 elf32 ones.
8 (md_longopts): Add "32" and "64".
9 (md_parse_option): Handle -32 and -64.
10 (md_show_usage): Mention -32 and -64.
11 (cons_fix_new_mips): If mips_64, don't convert an 8 byte reloc to
12 a 4 byte one.
13
14 Thu May 30 10:36:19 1996 Michael Meissner <meissner@tiktok.cygnus.com>
15
16 * config/tc-ppc.c (comment_chars): Under Solaris, make '!' a
17 comment character.
18 (ppc_elf_rdata): Add support for .rdata and .rodata to go to the
19 .rodata section.
20
21 * config/ppc-sol.mt (TDEFINES): Define TARGET_SOLARIS_COMMENT.
22
23 * stabs.c (s_stab_generic): Under PowerPC Solaris, convert a
24 .stabd with 4 arguments into a .stabn.
25
26 Wed May 29 16:43:16 1996 Ian Lance Taylor <ian@cygnus.com>
27
28 * config/tc-mips.c (macro): When passing X_add_number to
29 macro_build, cast it to int first.
30
31 Tue May 28 13:29:39 1996 Ian Lance Taylor <ian@cygnus.com>
32
33 * config/tc-z8k.c (md_apply_fix): Handle fx_r_type of 0, as
34 created by emit_expr.
35
36 * symbols.c (symbol_create): If bfd_make_empty_symbol fails, call
37 as_perror rather than assert.
38
39 Fri May 24 18:24:11 1996 Ian Lance Taylor <ian@cygnus.com>
40
41 * config/tc-mips.c (mips_ip): Mark sections created to hold
42 floating point information as read only.
43
44 Fri May 24 12:07:54 1996 David Edelsohn <edelsohn@mhpcc.edu>
45
46 * config/tc-ppc.c (ppc_set_cpu): Change defaults to match AIX.
47
48 Thu May 23 17:34:24 1996 Michael Meissner <meissner@tiktok.cygnus.com>
49
50 * read.c (potable): Add .skip as a synonym for .space.
51
52 * stabs.c (s_stab_generic): For PowerPC ELF, allow .stabd to take
53 4 arguments, providing the 4th argument is 0, to allow
54 compatibility with the Solaris assembler.
55
56 Thu May 16 15:51:48 1996 Ian Lance Taylor <ian@cygnus.com>
57
58 * config/tc-sh.h (struct sh_segment_info_type): Define.
59 (TC_SEGMENT_INFO_TYPE): Define.
60 (sh_frob_label): Declare.
61 (tc_frob_label): Define.
62 (sh_flush_pending_output): Declare.
63 (md_flush_pending_output): Define.
64 * config/tc-sh.c (md_assemble): If relaxing, emit a R_SH_CODE
65 reloc before the instruction if necessary.
66 (sh_frob_label): New function.
67 (sh_flush_pending_output): New function.
68 (sh_coff_frob_file): Ignore ALIGN, CODE, DATA, and LABEL relocs
69 when looking for the reloc for the target of .uses.
70 (md_convert_frag): Fix printf format (%0xlx to 0x%lx).
71 (sh_force_relocation): Force CODE, DATA, and LABEL relocs to be
72 emitted.
73 (md_apply_fix): Ignore CODE, DATA, and LABEL relocs.
74 (sh_coff_reloc_mangle): Force CODE, DATA, and LABEL relocs to use
75 the absolute symbol.
76
77 * subsegs.h (segment_info_type): Add tc_segment_info_data field if
78 TC_SEGMENT_INFO_TYPE is defined.
79
80 Wed May 15 12:23:53 1996 Ian Lance Taylor <ian@cygnus.com>
81
82 * config/tc-i386.c (md_assemble): Make sure the opcode suffix
83 matches the register size.
84
85 Wed May 15 08:33:37 1996 Jeffrey A Law (law@cygnus.com)
86
87 * config/obj-coff.c (count_entries_in_chain): Ignore Fixups with
88 fx_done set.
89 (do_relocs_for): Likewise.
90 (fixup_segment): Don't just quit if linkrelax is set. Try to
91 apply non pc-relative sym1-sym2 fixups, even if linkrelax is
92 nonzero.
93
94 Fri May 10 14:16:59 1996 Michael Meissner <meissner@tiktok.cygnus.com>
95
96 * config/tc-ppc.c (ppc_elf_validate_fix): Allow GOT and section
97 relative relocations with -mrelocatable. Also allow unfixed
98 relocs in .ex_shared.
99
100 Tue May 7 11:24:10 1996 Ian Lance Taylor <ian@cygnus.com>
101
102 * config/obj-coff.c (yank_symbols): Check that FNAME_OFFSET is
103 non-zero before assuming this is a long file name.
104 (w_strings): Likewise.
105 (c_dot_file_symbol): Set FNAME_OFFSET to 1 for a long file name.
106
107 * config/obj-coff.c (w_strings): Move declaration of i inside
108 #ifdef block which uses it.
109
110 Tue May 7 00:49:58 1996 Jeffrey A Law (law@cygnus.com)
111
112 * config/tc-h8300.c (do_a_fix_imm): Rename last argument to
113 "relaxmode". Output relocs which identify various relaxing
114 possibilities for mov.[bwl] instructions.
115 (build_bytes): Pass in a relaxing mode to do_a_fix_imm.
116
117 Mon May 6 15:26:28 1996 Doug Evans <dje@canuck.cygnus.com>
118
119 * config/tc-arm.h (TC_HANDLES_FX_DONE): Define.
120 (MD_APPLY_FIX3): Define.
121 * config/tc-arm.c (my_get_expression): Only watch for bad segments
122 if OBJ_AOUT.
123 (md_apply_fix3): Renamed from md_apply_fix.
124 If pcrel reloc and symbol is in different section, undo effects
125 of md_pcrel_from.
126
127 Sat May 4 12:49:35 1996 Jeffrey A Law (law@cygnus.com)
128
129 * config/tc-hppa.c (hppa_fix_adjustable): Don't adjust
130 any reloc with an LR% or RR% field selector for SOM.
131
132 Sat May 4 11:26:19 1996 Ian Lance Taylor <ian@cygnus.com>
133
134 * Makefile.in: Add subsegs.h to appropriate TARG_CPU_DEP_*
135 variables.
136
137 Fri May 3 17:58:31 1996 Ian Lance Taylor <ian@cygnus.com>
138
139 * config/obj-coff.c (coff_frob_symbol): Don't merge a symbol with
140 SF_GET_STATICS set.
141 (yank_symbols): Likewise.
142
143 Wed May 1 13:38:17 1996 Ian Lance Taylor <ian@cygnus.com>
144
145 * subsegs.h (segment_info_type): If MANY_SEGMENTS and not
146 BFD_ASSEMBLER, add name field.
147 * config/obj-coff.c: Include "libiberty.h".
148 (coff_header_append): Handle long section names.
149 (crawl_symbols): Just use the name field for the symbol name,
150 without worrying about null byte termination.
151 (w_strings): Handle long section names.
152 (write_object_file): Likewise. Also, use the name field, rather
153 than scnhdr.s_name.
154 (obj_coff_add_segment): Permit long section names.
155 (obj_coff_init_stab_section): Use the name field, rather than
156 scnhdr.s_name.
157 (adjust_stab_section): Likewise.
158 * config/te-pe.h (COFF_LONG_SECTION_NAMES): Define.
159
160 * config/tc-i960.c (brtab_emit): Don't set fx_im_disp field.
161 (mem_fmt): Likewise.
162 (md_apply_fix): Don't check fx_im_disp field.
163
164 Thu Apr 25 11:39:51 1996 Ian Lance Taylor <ian@cygnus.com>
165
166 * configure.in: Add * after sparc*-*-vxworks.
167 * configure: Rebuild.
168
169 * app.c (do_scrub_begin): If tc_comment_chars is not defined,
170 define it to comment_chars. Use tc_comment_chars rather than
171 comment_chars.
172 (do_scrub_chars): Use tc_comment_chars rather than comment_chars.
173 * config/tc-m68k.h (tc_comment_chars): Define.
174 (m68k_comment_chars): Declare.
175 * config/tc-m68k.c (m68k_comment_chars): Rename from
176 comment_chars. Change into a pointer rather than an array.
177 (md_longopts): Add "bitwise-or".
178 (md_parse_option): Handle OPTION_BITWISE_OR.
179 (md_show_usage): Mention --bitwise-or.
180 * doc/c-m68k.texi: Document --bitwise-or.
181
182 Wed Apr 24 11:28:38 1996 Ian Lance Taylor <ian@cygnus.com>
183
184 * config/tc-m68k.c (m68k_ip): Prevent attempts to use long offsets
185 in 68000 mode.
186
187 * config/obj-coff.c (obj_coff_section): BFD_ASSEMBLER version:
188 call demand_empty_rest_of_line. Non BFD_ASSEMBLER version:
189 correct handling of input line pointer, and call
190 demand_empty_rest_of_line.
191
192 Mon Apr 22 18:02:37 1996 Doug Evans <dje@blues.cygnus.com>
193
194 * config/tc-sparc.c (in_bitfield_range): New static function.
195 (sparc_ip): New cases X,Y. Use SPARC_OPCODE_ARCH_V9_P.
196 (md_apply_fix, cases BFD_RELOC_32_PCREL_S2,
197 BFD_RELOC_SPARC_{WDISP16,WDISP19}): Fix undefined code.
198 (md_apply_fix): New cases BFD_RELOC_SPARC_[56].
199 (tc_gen_reloc): New cases BFD_RELOC_SPARC_[56].
200
201 Thu Apr 18 18:58:33 1996 Ian Lance Taylor <ian@cygnus.com>
202
203 * config/obj-coff.c: BFD_ASSEMBLER:
204 (coff_last_bf): New static variable.
205 (coff_frob_symbol): Set endndx of a .bf symbol.
206 Non BFD_ASSEMBLER:
207 (obj_coff_endef): Call SF_SET_PROCESS on a .bf symbol.
208 (last_bfP): New static variable.
209 (yank_symbols): Set endndx of a .bf symbol.
210
211 Thu Apr 18 11:53:58 1996 Michael Meissner <meissner@tiktok.cygnus.com>
212
213 * config/tc-ppc.c (md_parse_option): Add support for Solaris's -le
214 and -s options. Add -be for good measure.
215
216 Wed Apr 17 12:31:01 1996 Ian Lance Taylor <ian@cygnus.com>
217
218 * read.c (s_space): Support non-constant fill value. Handle fill
219 value correctly for a size other than 1.
220
221 Tue Apr 16 15:17:40 1996 Doug Evans <dje@canuck.cygnus.com>
222
223 * config/tc-arm.c (my_get_float_expression): Update call to
224 gen_to_words, X_PRECISION changed from 6 to 5.
225
226 Tue Apr 16 10:25:42 1996 Michael Meissner <meissner@tiktok.cygnus.com>
227
228 * config/tc-ppc.c (register_name,reg_name_search): Move register
229 name lookup from PE specific code to all targets. Add support for
230 -mregnames/-mno-regnames to control whether register names are
231 expanded or not.
232 (md_assemble): Call register_name for all platforms.
233 (md_parse_option): Add support for -mregnames/-mno-regnames.
234
235 * configure.in (powerpcle*-*-solaris): Add support.
236 (powerpc*-*-linux): Ditto.
237 * configure: Regenerate.
238
239 * config/ppc-sol.mt: New config file for PowerPC Solaris.
240
241 Mon Apr 15 12:26:33 1996 Ian Lance Taylor <ian@cygnus.com>
242
243 * config/tc-mips.c (mips_frob_file): Permit multiple %hi relocs to
244 be associated with a single %lo reloc.
245
246 * config/tc-mips.c (load_address): Cast X_add_number to valueT
247 before comparing against MAX_GPREL_OFFSET, so that negative
248 numbers are handled correctly.
249 (macro): Likewise.
250
251 Thu Apr 11 12:39:02 1996 Ian Lance Taylor <ian@cygnus.com>
252
253 * config/tc-sparc.c (last_insn): New static variable.
254 (md_assemble): Warn about putting floating point branches in a
255 delay slot. If architecture is less than v9, insert NOP
256 instructions between floating point instructions and floating
257 point branches. (The SunOS assembler does both these operations.)
258 Save the last instruction opcode.
259 (sparc_ip): Add pinsn parameter. Change caller.
260
261 * config/tc-m68k.c (md_estimate_size_before_relax): Correct check
262 for byte jump to next instruction to skip empty frags.
263
264 Wed Apr 10 16:48:12 1996 Ian Lance Taylor <ian@cygnus.com>
265
266 * config/tc-alpha.c (alpha_ip): If we are going to call emit_add64
267 for addq with a 16 bit signed value, just emit a lda instruction
268 instead.
269
270 Wed Apr 10 14:34:49 1996 Jeffrey A Law (law@cygnus.com)
271
272 * config/tc-h8300.c (do_a_fix_imm): Don't cut off high bits
273 of a 32bit operand.
274
275 Mon Apr 8 14:42:53 1996 Ian Lance Taylor <ian@cygnus.com>
276
277 * configure.in: Permit --enable-shared to specify a list of
278 directories.
279 * configure: Rebuild.
280
281 Fri Apr 5 17:01:35 1996 Jeffrey A Law (law@cygnus.com)
282
283 * config/tc-h8300.c (get_specific): Remove some #if 0 code.
284 (build_bytes): Remove all ABSMOV related code; it's unnecessary.
285
286 Fri Apr 5 15:13:10 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
287
288 * config/atof-ieee.c: Fix handling of denormalized extended
289 precision numbers and overflow/underflow detection.
290 (MAX_PRECISION, X_PRECISION, P_PRECISION): Changed from 6 to 5, to
291 not include the 16 bit gap in the m68k extended precision format.
292
293 Fri Apr 5 14:29:23 1996 Ian Lance Taylor <ian@cygnus.com>
294
295 * configure.in: Add i386-*-freebsdelf* target; from John Polstra
296 <jdp@polstra.com>.
297 * configure: Rebuild.
298
299 Fri Apr 5 18:39:28 1996 James G. Smith <jsmith@cygnus.co.uk>
300
301 * config/tc-mips.c: Allow non-zero offsets from .sdata symbols to
302 be accessed using the $gp register.
303 * config/tc-mips.h (MAX_GPREL_OFFSET): Added.
304
305 Wed Apr 3 10:56:14 1996 Doug Evans <dje@canuck.cygnus.com>
306
307 * config/tc-sparc.c (sparc_md_end): Set bfd machine number to
308 bfd_mach_sparc_sparclet if current_architecture is sparclet.
309
310 Mon Apr 1 16:55:44 1996 Ian Lance Taylor <ian@cygnus.com>
311
312 * read.c (get_line_sb): Bump line counters based on
313 input_line_pointer[-1], not *input_line_pointer. Don't bother to
314 call LISTING_NEWLINE.
315 (s_macro): Don't call demand_empty_rest_of_line.
316 * app.c (do_scrub_chars): When handling C style comments, unget
317 ch2 rather than ch.
318
319 Fri Mar 29 16:15:06 1996 Ian Lance Taylor <ian@cygnus.com>
320
321 * read.h (enum linkonce_type): Define.
322 (s_linkonce): Declare.
323 * read.c (potable): Add "linkonce".
324 (s_linkonce): New function.
325 * subsegs.h (segment_info_type): Add linkonce field to
326 MANY_SEGMENTS && ! BFD_ASSEMBLER section.
327 * config/obj-coff.h (obj_handle_link_once): Define if TE_PE.
328 (obj_coff_pe_handle_link_once): Declare if TE_PE.
329 * config/obj-coff.c: If TE_PE and not BFD_ASSEMBLER, #include
330 "coff/pe.h".
331 (obj_coff_pe_handle_link_once): New function, defined if TE_PE.
332 (c_section_symbol): If TE_PE, set the x_comdat field in the aux
333 entry based on the linkonce field in segment_info.
334 * doc/as.texinfo: Document .linkonce.
335
336 Fri Mar 29 11:31:27 1996 J.T. Conklin (jtc@lisa.cygnus.com)
337
338 * doc/as.1: Changed to be recognized by catman -w on Solaris.
339
340 Thu Mar 28 15:27:47 1996 Ian Lance Taylor <ian@cygnus.com>
341
342 * stabs.c (s_stab_generic): Call the listing functions before
343 doing the rest of the processing, which may involve freeing the
344 string. Pass string, not string + stroff, to OBJ_PROCESS_STAB in
345 SEPARATE_STAB_SECTIONS case.
346
347 * config/tc-hppa.c: Remove nested comment.
348 (tc_gen_reloc): Move label done inside the ifdef in which it is
349 used.
350 (md_apply_fix): Pass pointers to correct types to libhppa.h
351 functions. Always return a value.
352
353 * config/tc-mips.h (tc_frob_file): Define.
354 (mips_frob_file): Declare.
355 * config/tc-mips.c (struct mips_hi_fixup): Define.
356 (mips_hi_fixup_list): New static variable.
357 (imm_unmatched_hi): New static variable.
358 (md_assemble): Clear imm_reloc, imm_unmatched_hi, and
359 offset_reloc. Pass imm_unmatched_hi to append_insn.
360 (append_insn): Add unmatched_hi parameter. If it is set, add the
361 new fixup to mips_hi_fixup_list. Change all callers.
362 (mips_ip): Set imm_unmatched_hi when appropriate.
363 (mips_frob_file): New function.
364
365 Thu Mar 28 11:47:59 1996 Doug Evans <dje@canuck.cygnus.com>
366
367 * configure.in (sparc-*-solaris2*): Renamed from sparc*-*-solaris2*.
368 * configure: Regenerated.
369
370 Tue Mar 26 18:19:12 1996 Ian Lance Taylor <ian@cygnus.com>
371
372 * as.c (main): Call bfd_set_error_program_name.
373
374 Fri Mar 22 11:13:00 1996 Ian Lance Taylor <ian@cygnus.com>
375
376 * as.h (strdup): Don't declare.
377 * stabs.c: Include libiberty.h
378 (get_stab_string_offset): Use xstrdup rather than strdup.
379 (s_stab_generic): Likewise.
380 * as.c (parse_args): Likewise.
381 * read.c (s_mri_sect): Likewise.
382
383 * gasp.c (change_base): Recognize \(...) construct documented to
384 pass through enclosed characters literally through to the output.
385 (process_assigns): Likewise. Also, be more careful to avoid
386 looking past the end of the buffer.
387
388 Thu Mar 21 13:18:43 1996 Ian Lance Taylor <ian@cygnus.com>
389
390 * config/tc-i386.c (md_parse_option): If OBJ_ELF, ignore -k for
391 FreeBSD compatibility. From John Polstra <jdp@polstra.com>.
392
393 Wed Mar 20 18:13:32 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
394
395 * doc/as.texinfo, doc/c-i960.texi: Fix typos.
396
397 Wed Mar 20 17:05:16 1996 David Mosberger-Tang <davidm@azstarnet.com>
398
399 * config/alpha-opcode.h: Added cvtst instruction.
400
401 Mon Mar 18 13:12:46 1996 Ian Lance Taylor <ian@cygnus.com>
402
403 * ecoff.c (ecoff_stab): Don't try to make a symbol out of the stab
404 string. Extract the addend from the result of expression.
405
406 Fri Mar 15 17:10:43 1996 Ian Lance Taylor <ian@cygnus.com>
407
408 * app.c (do_scrub_chars): If whitespace is seen in state 11, and
409 LABELS_WITHOUT_COLONS is not defined, and we are not in m68k MRI
410 mode, change the state to 3 rather than 1.
411
412 Thu Mar 14 18:18:25 1996 Ian Lance Taylor <ian@cygnus.com>
413
414 * config/obj-coff.h (C_REGISTER_SECTION): Change from 20 to 50, to
415 correspond to 11 March change.
416
417 Thu Mar 14 15:27:10 1996 Jeffrey A Law (law@cygnus.com)
418
419 * config/tc-h8300.c (build_bytes, MEMIND case): Generate
420 an R_MEM_INDIRECT reloc rather than R_RELBYTE.
421
422 Tue Mar 12 12:21:10 1996 Ian Lance Taylor <ian@cygnus.com>
423
424 * configure: Rebuild with autoconf 2.8.
425
426 Mon Mar 11 18:57:12 1996 Ian Lance Taylor <ian@cygnus.com>
427
428 * config/atof-ieee.c (gen_to_words): Improve handling of
429 X_PRECISION numbers. Based on patches from Andreas Schwab
430 <schwab@issan.informatik.uni-dortmund.de>.
431
432 Mon Mar 11 09:59:53 1996 Steve Chamberlain <sac@slash.cygnus.com>
433
434 * as.h (SEG_NORMAL, SEG_LIST): Bump segment limit from 10 to 40.
435 (SEG_LAST): New.
436 * subsegs.c (MANY_SEGMENTS): Increase segment limit.
437 * obj-coff.c (seg_N_TYPE, seg_info_off_by_4): Likewise.
438 (do_relocs_for, w_symbols, obj_coff_add_segment, do_linenos_for,
439 crawl_symbols, coff_header_append): Loop to SEG_LAST rather than
440 SEG_E9.
441
442 Thu Mar 7 15:17:39 1996 Doug Evans <dje@charmed.cygnus.com>
443
444 * config/tc-sparc.c (sparc_ip): Handle operand char 'O' (neg reg).
445
446 Thu Mar 7 09:19:15 1996 Jeffrey A Law (law@cygnus.com)
447
448 * config/tc-hppa.c (SUBSEG_MILLI): Define.
449 (pa_def_subspaces): Add $MILLICODE$.
450 (pa_spaces_begin): Set section flags for $MILLICODE$.
451
452 Wed Mar 6 14:11:30 1996 Ian Lance Taylor <ian@cygnus.com>
453
454 * config/obj-elf.c (obj_elf_section): Only SEC_LOAD if the type is
455 not SHT_NOBITS. Don't tamper with flags based on type if a
456 special section was found (revert Feb 29 change).
457
458 * config/tc-sh.c (sh_do_align): Only align using the nop pattern
459 if aligning to a longword boundary or greater.
460
461 Tue Mar 5 15:10:43 1996 Jim Wilson <wilson@chestnut.cygnus.com>
462
463 * config/tc-sh.c (sh_do_align): Pass 1 not 2 to frag_align.
464
465 Mon Mar 4 20:50:57 1996 Steve Chamberlain <sac@slash.cygnus.com>
466
467 * configure.in (i386-*-cygwin32): Don't use bfd_gas.
468 * configure: Regenerated.
469
470 Mon Mar 4 10:13:06 1996 Jeffrey A Law (law@cygnus.com)
471
472 * config/tc-hppa.c: Add default definitions for R_N0SEL and
473 R_N1SEL since they're not defined for old versions of hpux.
474
475 * config/tc-hppa.c (tc_gen_reloc): Fix typo in R_COMP2 code.
476 Set "sym_ptr_ptr" and "addend" fields to dummy values for
477 R_N0SEL and R_N1SEL.
478
479 Fri Mar 1 10:20:52 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
480
481 * flonum-konst.c: Add two more constants for 1e+-2048 and
482 1e+-4096, and correct the other constants.
483
484 * symbols.c (resolve_symbol_value): Handle O_logical_not.
485
486 Thu Feb 29 13:58:35 1996 Michael Meissner <meissner@tiktok.cygnus.com>
487
488 * config/obj-elf.c (obj_elf_section): Allow predefined section
489 types to set the nobits type. Avoid a shadowed declaration.
490
491 Wed Feb 28 15:38:56 1996 Jeffrey A Law (law@cygnus.com)
492
493 * config/tc-hppa.c (hppa_fix_adjustable): For SOM, don't
494 reduce relocs using e_nlrsel field selectors.
495
496 * write.c (fix_new_exp): Don't use #elif. Some compilers
497 don't handle it.
498
499 * config/tc-hppa.c (selector_table): Add "n", "nl", and "nlr" to
500 the selector table.
501 (pa_chk_field_selector): Handle new field selectors for SOM.
502
503 Tue Feb 27 14:42:27 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
504
505 * configure.in (m68k-*-linux*aout*, m68k-*-linux*): New targets.
506 * configure: Rebuild.
507 * config/te-linux.h (LOCAL_LABELS_FB): Define.
508 * config/tc-m68k.h (TARGET_FORMAT) [TE_LINUX]: Define to
509 "a.out-m68k-linux".
510 * config/tc-m68k.c (comment_chars): Don't include '#' if TE_LINUX
511 is defined.
512
513 Mon Feb 26 18:58:58 1996 Stan Shebs <shebs@andros.cygnus.com>
514
515 * mpw-make.sed: Update to handle shared library support.
516
517 Mon Feb 26 10:34:10 1996 Doug Evans <dje@charmed.cygnus.com>
518
519 * config/tc-sparc.c (sparc_ip): Print all architectures that support
520 the insn on mismatch.
521
522 Fri Feb 23 21:44:39 1996 Rob Savoye <rob@chinadoll.cygnus.com>
523
524 * configure.in: Add support for a29-coff.
525 * configure: Rebuild.
526
527 Thu Feb 22 16:39:43 1996 Ian Lance Taylor <ian@cygnus.com>
528
529 * config/tc-sh.c (sh_coff_frob_file): Don't consider the address
530 of the section when looking for the R_SH_USES fixup, because the
531 frag addresses have not yet been adjusted.
532
533 * gdbinit.in: Set a breakpoint on as_warn_where.
534
535 * config/tc-mips.c (macro): Add missing arguments to macro_build
536 omitted in last change. From Jim Wilson <wilson@cygnus.com>.
537
538 Wed Feb 21 17:00:32 1996 Ian Lance Taylor <ian@cygnus.com>
539
540 * config/tc-h8300.c (tc_reloc_mangle): Change reloc based on size
541 if it is TC_CONS_RELOC. Set a size of 4 to R_RELLONG.
542
543 Wed Feb 21 09:25:39 1996 Doug Evans <dje@charmed.cygnus.com>
544
545 * config/tc-sparc.c (sparc_ip): Recognize %asr0 for v8.
546
547 Tue Feb 20 21:48:03 1996 Doug Evans <dje@charmed.cygnus.com>
548
549 * config/tc-sparc.c (parse_keyword_arg): Accept leading '%'.
550 (sparc_ip): Accept %asr[1..31] for v8 and %asr[%16..31] for v9.
551 Recognize [uU] format args as sparclet cpregs.
552
553 Tue Feb 20 22:25:55 1996 Ian Lance Taylor <ian@cygnus.com>
554
555 * config/tc-sh.c (sh_handle_align): Don't emit R_SH_ALIGN relocs
556 in bss_section.
557
558 Mon Feb 19 14:16:24 1996 Ian Lance Taylor <ian@cygnus.com>
559
560 * config/tc-sparc.h (TC_RELOC_RTSYM_LOC_FIXUP): Check S_IS_WEAK as
561 well as S_IS_EXTERNAL.
562 (tc_fix_adjustable): Likewise.
563 * config/tc-sparc.c (md_apply_fix): In OBJ_ELF case, check for
564 S_IS_WEAK as well as S_IS_EXTERNAL when deciding whether to return
565 early.
566 (tc_gen_reloc): Check S_IS_WEAK as wel as S_IS_EXTERNAL when
567 deciding whether to convert BFD_RELOC_32_PCREL_S2 if PIC.
568
569 Mon Feb 19 02:15:57 1996 Doug Evans <dje@charmed.cygnus.com>
570
571 * config/tc-sparc.c (max_architecture): Change to sparclite for
572 32 bit arch.
573 (default_compatible): Delete.
574 (sparc_ffs): New function.
575 (md_begin): Only call SPARC_OPCODE_CONFLICT_P once.
576 (sparc_ip): Rewrite architecture match and bump logic.
577
578 Sun Feb 18 15:03:50 1996 Ian Lance Taylor <ian@cygnus.com>
579
580 * configure.in: Check for 'do not mix' from native linker before
581 trying to use -rpath.
582 * configure: Rebuild.
583
584 Fri Feb 16 16:53:31 1996 Ian Lance Taylor <ian@cygnus.com>
585
586 * config/obj-coff.h (SF_ADJ_LNNOPTR): Define (non BFD_ASSEMBLER).
587 (SF_GET_ADJ_LNNOPTR): Define (non BFD_ASSEMBLER).
588 (SF_SET_ADJ_LNNOPTR): Define (non BFD_ASSEMBLER).
589 * config/obj-coff.c (obj_coff_endef): Set ADJ_LNNOPTR when LNNOPTR
590 is set.
591 (w_symbols): If ADJ_LNNOPTR is set, add the section lnnoptr field
592 to the symbol lnnoptr field, to get the correct file offset.
593
594 Thu Feb 15 14:48:38 1996 Michael Meissner <meissner@tiktok.cygnus.com>
595
596 * config/obj-elf.c (elf_frob_symbol): On the PowerPC, force all
597 symbols that are not function, file, or section symbols to be
598 object types.
599
600 Thu Feb 15 11:20:18 1996 Ian Lance Taylor <ian@cygnus.com>
601
602 * configure: Set and substitute RPATH_ENVVAR.
603 * configure: Rebuild.
604 * Makefile.in (RPATH_ENVVAR): New variable.
605 (check): Use $(RPATH_ENVVAR) rather than LD_LIBRARY_PATH.
606
607 * configure.in: Accept i686. From H.J. Lu <hjl@zoom.com>: i386
608 doesn't need opcodes. If configuring shared, opcodes needs bfd.
609 * configure: Rebuild.
610
611 Wed Feb 14 16:33:12 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de>
612
613 * read.c (s_mri_sect): Don't return '\0' in type. Set all
614 appropriate flags in BFD section.
615
616 * configure.in (m68k-*-psos*): New target.
617 * configure: Rebuild.
618 * config/te-psos.h: New file.
619 * config/tc-m68k.c (comment_chars): Don't include '#' if TE_PSOS
620 is defined.
621
622 Wed Feb 14 13:43:24 1996 Ian Lance Taylor <ian@cygnus.com>
623
624 From Alan Modra <alan@spri.levels.unisa.edu.au>:
625 * configure.in: Remove duplicate setting of cpu_type. Check
626 whether opcodes library is required for on all targets, not just
627 primary one.
628 * configure: Rebuild.
629
630 * config/tc-mips.c (mips_big_got): New static variable.
631 (s_extern): Don't declare.
632 (reg_needs_delay): New static function.
633 (macro_build): Permit GOT/CALL_HI/LO relocs.
634 (macro_build_lui): If place is not NULL, use the number in the
635 expression.
636 (load_address): Handle mips_big_got case.
637 (macro): Handle mips_big_got for M_LA_AB, M_JAL_A, and load and
638 store macros.
639 (OPTION_XGOT): Define.
640 (md_longopts): Add "xgot" if OBJ_ELF.
641 (md_parse_option): Handle -xgot.
642 (md_show_usage): Mention -xgot.
643 (md_apply_fix): Permit GOT/CALL_HI/LO relocs.
644 (tc_gen_reloc): Handle GOT/CALL_HI/LO relocs.
645
646 Wed Feb 14 11:22:27 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
647
648 * config/tc-m68k.c (m68k_ip) [operand kind '#']: When fixing
649 the byte relocation, point it to the low byte of the word.
650
651 Tue Feb 13 15:31:18 1996 Ian Lance Taylor <ian@cygnus.com>
652
653 * configure.in: Set HDLFLAGS for *-*-hpux with --enable-shared.
654 * configure: Rebuild.
655
656 Mon Feb 12 15:53:46 1996 Doug Evans <dje@charmed.cygnus.com>
657
658 * configure.in: Recognize any sparc* cpu.
659 * configure: Regenerated.
660
661 Mon Feb 12 15:41:21 1996 Ian Lance Taylor <ian@cygnus.com>
662
663 * read.c (potable): Add "mri" and ".mri".
664 (s_mri): New function.
665 * read.h (s_mri): Declare.
666 * app.c (scrub_m68k_mri): New static variable.
667 (mri_pseudo): New static variable.
668 (do_scrub_begin): Add m68k_mri parameter. Use it rather than
669 flag_m68k_mri. Initialize scrub_m68k_mri.
670 (mri_state, mri_last_ch): New static variables.
671 (struct app_save): Add scrub_m68k_mri, mri_state, and mri_last_ch
672 fields.
673 (app_push): Save new fields.
674 (app_pop): Restore new fields.
675 (do_scrub_chars): Check scrub_m68k_mri rather than flag_mri_mri.
676 If TC_M68K, use a trivial state machine to look for occurrences of
677 the .mri pseudo-op, and change the mode appropriately.
678 * as.h (do_scrub_begin): Update prototype.
679 * input-scrub.c (input_scrub_begin): Pass flag_m68k_mri to
680 do_scrub_begin.
681 * config/tc-m68k.c (reg_prefix_optional_seen): New static
682 variable.
683 (m68k_mri_mode_change): New function.
684 (md_parse_option): Set reg_prefix_optional_seen.
685 * config/tc-m68k.h (m68k_mri_mode_change): Declare.
686 (MRI_MODE_CHANGE): Define.
687 * doc/as.texinfo: Document .mri pseudo-op.
688
689 * app.c (do_scrub_chars): In MRI mode, don't treat '#' as a
690 comment character.
691
692 Mon Feb 12 15:16:29 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
693
694 Support for OBJ_ELF on m68k, mostly inside #ifdef OBJ_ELF:
695 * config/m68k-parse.h (enum pic_relocation): Define.
696 (struct m68k_exp): Add pic_reloc field.
697 * config/tc-m68k.h (TC_RELOC_RTSYM_LOC_FIXUP): Define.
698 (tc_fix_adjustable): Define to call tc_m68k_fix_adjustable.
699 (NO_RELOC): Define to BFD_RELOC_NONE if BFD_ASSEMBLER, to zero
700 otherwise.
701 * config/tc-m68k.c: Delete definition of NO_RELOC.
702 (struct m68k_it): Add pic_reloc field.
703 (add_fix): Copy over pic_reloc field.
704 (md_pseudo_table): Interpret .align parameter as byte count.
705 (mote_pseudo_table): Likewise.
706 (tc_m68k_fix_adjustable): New function.
707 (get_reloc_code): New function.
708 (md_assemble): Use it as last argument to fix_new_exp.
709 (md_apply_fix_2): For a relocation against a symbol don't put the
710 addend into the data.
711 (tc_gen_reloc): Different addend computation for OBJ_ELF.
712 (m68k_ip): Don't relax an operand that requires pic relocation.
713 (md_begin): Align .text, .data and .bss on 4 byte boundary by
714 default.
715 * write.c (fixup_segment): Don't add symbol value to addend if
716 TC_M68K and OBJ_ELF.
717 * config/m68k-parse.y (yylex): Handle @PLTPC, etc.
718 (motorola_operand): Add rule for `(zapc, EXPR)'.
719
720 Mon Feb 12 10:07:33 1996 David Mosberger-Tang <davidm@azstarnet.com>
721
722 * ecoff.c (ecoff_directive_weakext): Fixed so that whitespace
723 *really* is permissible before the comma.
724
725 Mon Feb 12 00:12:13 1996 Ian Lance Taylor <ian@cygnus.com>
726
727 * config/tc-sh.c (sh_do_align): Align to a 2 byte boundary before
728 inserting nop instructions.
729
730 Fri Feb 9 10:54:19 1996 Ian Lance Taylor <ian@cygnus.com>
731
732 * config/te-aux.h: Change include of aux.h to aux-coff.h.
733
734 Thu Feb 8 20:02:58 1996 Ian Lance Taylor <ian@cygnus.com>
735
736 * config/tc-i960.c (tc_coff_symbol_emit_hook): Correct storage
737 class setting for a CALLNAME symbol in COFF.
738
739 * read.c (potable): Pass negative numbers for new .balign[wl] and
740 .p2align[wl] pseudo-ops.
741 (s_align_bytes): Treat a negative argument as specifying the fill
742 length.
743 (s_align_ptwo): Likewise.
744
745 Wed Feb 7 14:12:03 1996 Ian Lance Taylor <ian@cygnus.com>
746
747 * read.c (potable): Add balignw, balignl, p2alignw, and p2alignl.
748 (do_align): Take new len parameter. Change all callers. Pass it
749 to md_do_align.
750 (s_align_bytes): Arg now indicates the length of the fill pattern.
751 (s_align_ptwo): Likewise.
752 * config/obj-coff.c (write_object_file): Pass length to
753 md_do_align.
754 * config/tc-i386.h (md_do_align): Take new len parameter.
755 * config/tc-m88k.h (md_do_align): Likewise.
756 * config/tc-m88k.c (m88k_do_align): Likewise.
757 * config/tc-sh.h (md_do_align): Likewise.
758 * config/tc-sh.c (sh_do_align): Likewise.
759 * doc/as.texinfo: Document new pseudo-ops.
760
761 * config/obj-coff.c (fixup_mdeps): Divide offset by fr_var, as is
762 done in cvt_frag_to_fill.
763
764 * config/tc-sh.h (sh_do_align): Declare.
765 (md_do_align): Define.
766 * config/tc-sh.c (sh_do_align): New function.
767
768 * ecoff.c (ecoff_build_lineno): Don't try to store the address
769 difference if the next address is before the current one.
770
771 * config/tc-m68k.c (struct m68k_cpu): Add alias field.
772 (archs): Initialize new field.
773 (m68k_ip): Don't list alias names when listing CPUs which support
774 an instruction.
775
776 * as.c (main): Call parse_args before read_begin.
777 * app.c (do_scrub_chars): If flag_m68k_mri, don't put a dot in
778 front of generated pseudo-ops.
779 * read.c (potable): Ignore "name".
780 (s_app_file): Permit a single quote after the string, since one
781 may appear in m68k MRI mode.
782
783 * configure.in: Check for --enable-shared. If linking against
784 shared BFD and opcodes, fix library name on SunOS, and try to set
785 -rpath reasonably.
786 * configure: Rebuild.
787
788 Tue Feb 6 15:16:17 1996 Ian Lance Taylor <ian@cygnus.com>
789
790 * as.h (flag_m68k_mri): Declare.
791 * as.c (parse_args): If TC_M68K, set flag_m68k_mri for -M.
792 * Many files: For MRI syntax that is specific to the m68k MRI
793 assembler, check flag_m68k_mri rather than flag_mri or
794 MRI_MODE_NEEDS_PSEUDO_DOT.
795
796 Mon Feb 5 16:29:11 1996 Ian Lance Taylor <ian@cygnus.com>
797
798 * config/tc-i960.c (ARCH_HX): Define.
799 (arch_tab): Add HX.
800 (targ_has_sfr): Handle ARCH_HX.
801 (targ_has_iclass): Handle ARCH_HX.
802 (tc_coff_fix2rtype): Add return 0 to avoid warning.
803 (tc_headers_hook): If the architecture was specified explicitly,
804 use it when setting the flags. Set the extern variable coff_flags
805 rather than headers->filehdr.f_flags, since the latter is set
806 unconditionally in obj-coff.c.
807 (i960_handle_align): Remove unused variable fixp.
808
809 Support for building bfd and opcodes as shared libraries, based on
810 patches from Alan Modra <alan@spri.levels.unisa.edu.au>:
811 * configure.in: Set OPCODES and BFD to search directories.
812 Substitute OPCODES_DEP and BFDDEP. On SunOS, set HLDFLAGS.
813 * configure: Rebuild.
814 * Makefile.in (LDFLAGS, HLDFLAGS): New variables.
815 (LIBDEPS): New variable.
816 (as.new0: Depend upon $(LIBDEPS) rather than $(LIBS). Use
817 $(HLDFLAGS) in link.
818 (check): Set LD_LIBRARY_PATH in the environment.
819
820 Fri Feb 2 17:41:53 1996 Michael Meissner <meissner@wogglebug.tiac.net>
821
822 * config/tc-ppc.h (ELF_TC_SPECIAL_SECTIONS): Make .sdata2, .sbss2,
823 .PPC.EMB.sdata0, and .PPC.EMB.sbss0 sections all default to
824 read-only, not read/write.
825
826 Fri Feb 2 14:09:25 1996 Alan Modra <alan@spri.levels.unisa.edu.au>
827
828 * Makefile.in (INSTALL_XFORM): Remove -e.
829
830 Fri Feb 2 12:32:15 1996 Ian Lance Taylor <ian@cygnus.com>
831
832 * write.c (write_relocs): Use S_IS_DEFINED and S_IS_COMMON rather
833 than comparing S_GET_SEGMENT to undefined_section.
834 (write_object_file): Skip symbols which were equated to an
835 undefined or common symbol.
836 * symbols.c (resolve_symbol_value): Use S_IS_DEFINED and
837 S_IS_COMMON rather than comparing S_GET_SEGMENT to
838 undefined_section.
839 (S_GET_VALUE): Likewise. Avoid recursion problems if S_IS_DEFINED
840 or S_IS_COMMON call S_GET_VALUE.
841 * config/obj-aout.h (S_IS_COMMON): Define if not BFD_ASSEMBLER.
842 * config/obj-aout.c (obj_emit_relocations): If a reloc is equated
843 to an undefined or common symbol, convert the reloc to be against
844 the target symbol.
845 (obj_crawl_symbol_chain): Skip symbols which were equated to an
846 undefined or common symbol.
847 * config/obj-bout.h (S_IS_COMMON): Define if not BFD_ASSEMBLER.
848 * config/obj-bout.c (obj_emit_relocations): If a reloc is equated
849 to an undefined or common symbol, convert the reloc to be against
850 the target symbol.
851 (obj_crawl_symbol_chain): Skip symbols which were equated to an
852 undefined or common symbol.
853 * config/obj-coff.c (do_relocs_for): Use S_IS_DEFINED and
854 S_IS_COMMON rather than comparing S_GET_SEGMENT to
855 undefined_section.
856 (yank_symbols): Skip symbols which were equated to an undefined or
857 common symbol.
858
859 Thu Feb 1 15:34:32 1996 Ian Lance Taylor <ian@cygnus.com>
860
861 * config/obj-aout.h (S_IS_LOCAL): Check for \002 as well as \001.
862 * config/obj-bout.h (S_IS_LOCAL): Likewise.
863
864 * configure.in: Make sure we only add m68k-parse.o to
865 ${extra_objects} once, no matter how many m68k targets have been
866 enabled.
867 * configure: Rebuild.
868
869 Wed Jan 31 18:31:46 1996 Steve Chamberlain <sac@slash.cygnus.com>
870
871 * configure.in (i386-*-cygwin32, ppc-*-cygwin32): New.
872 * configure: Rebuild.
873
874 Wed Jan 31 14:03:17 1996 Richard Henderson <rth@tamu.edu>
875
876 * config/tc-m68k.c (md_pseudo_table): Add "extend" and "ldouble".
877 * doc/c-m68k.texi: Document .extend and .ldouble.
878
879 * configure.in (m68*-apple-aux*): New target.
880 * config/te-aux.h: New file.
881 * config/obj-coff.c (compare_external_relocs): New static function
882 if TE_AUX.
883 (do_relocs_for): Sort relocs if TE_AUX.
884 (fixup_segment): If TE_AUX, store common symbol value in segment.
885 * config/tc-m68k.h (TARGET_FORMAT): Define if TE_AUX.
886
887 Wed Jan 31 12:24:58 1996 Ian Lance Taylor <ian@cygnus.com>
888
889 * config/obj-coff.h (S_IS_LOCAL): Check for \002 as well as \001.
890
891 * config/tc-mips.c (s_mips_globl): Set BSF_OBJECT if it is not
892 BSF_FUNCTION.
893 (s_cpload): Set BSF_OBJECT for _gp_disp symbol.
894 * read.c (s_lcomm): If S_SET_SIZE is defined, set the size of the
895 symbol.
896 * ecoff.c (add_procedure): Set the BSF_FUNCTION flag.
897 (ecoff_build_symbols): If S_SET_SIZE is defined, set the size of
898 an undefined symbol and the size of a function symbol.
899 * config/obj-elf.c (elf_frob_symbol): If TC_MIPS, set BSF_OBJECT
900 for all common symbols.
901
902 Tue Jan 30 12:35:24 1996 Ken Raeburn <raeburn@cygnus.com>
903
904 * config/tc-i960.c (parse_memop): In MRI mode, don't use implicit
905 scaling of index.
906
907 * expr.c (operand): Accept 0x hex constants in MRI mode if not on
908 m68k.
909
910 Mon Jan 29 12:21:30 1996 Ian Lance Taylor <ian@cygnus.com>
911
912 * config/obj-elf.c (obj_elf_type): Set BSF_OBJECT flag for a type
913 of object. From Ronald F. Guilmette <rfg@monkeys.com>.
914
915 * ecoff.c (localsym_t): Add addend field.
916 (add_ecoff_symbol): Add addend argument. Change all callers.
917 (coff_sym_value): Make static.
918 (coff_sym_addend): New static variable.
919 (ecoff_directive_def): Initialize coff_sym_addend.
920 (ecoff_directive_val): Accept symbol + constant.
921 (ecoff_directive_endef): Pass coff_sym_addend to add_ecoff_symbol.
922 (ecoff_build_symbols): Include the addend in the symbol value.
923
924 Fri Jan 26 19:28:52 1996 Kim Knuttila <krk@cygnus.com>
925
926 * config/tc-ppc.c (md_assemble): Ignore overflow on
927 BFD_RELOC_16_GOTOFF and BFD_RELOC_PPC_TOC16.
928
929 Fri Jan 26 16:14:17 1996 Michael Meissner <meissner@tiktok.cygnus.com>
930
931 * config/tc-ppc.c (md_apply_fix3): SDA21 relocations are now 4
932 bytes in size, so offset appropriately in big endian mode when
933 writing the bottom 2 bytes.
934
935 Thu Jan 25 20:26:23 1996 Doug Evans <dje@charmed.cygnus.com>
936
937 * config/tc-sparc.c (default_compatible): New static local.
938 (md_begin): Initialize it. Rewrite warn_on_bump handling.
939 (sparc_ip): If no architecture or -bump specified, don't mark as
940 mismatched those in default_compatible.
941
942 Thu Jan 25 12:21:53 1996 Ian Lance Taylor <ian@cygnus.com>
943
944 SCO ELF support from Robert Lipe <robertl@arnet.com>:
945 * configure.in (i386-*-sco*elf*): Use fmt elf, targ sco5.
946 * configure: Rebuild.
947 * config/sco5.mt: New file; set TDEFINES to -DSCO_ELF.
948 * config/tc-i386.c (sco_id): New function, if SCO_ELF.
949 * config/tc-i386.h (tc_init_after_args): Define if SCO_ELF.
950 (sco_id): Declare if SCO_ELF.
951
952 Thu Jan 25 03:10:53 1996 Doug Evans <dje@charmed.cygnus.com>
953
954 * config/tc-sparc.c (initial_architecture,can_bump_v9_p): Deleted.
955 ({max,warn_after}_architecture): New static locals.
956 (md_begin): Replace NUMOPCODES with sparc_num_opcodes.
957 If both architecture and -bump requested, set max_architecture to max.
958 (sparc_md_end): Simplify.
959 (sparc_ip): Replace references to can_bump_v9_p with max_architecture.
960 Rewrite code to bump architecture and check for conflicts.
961 (md_longopts): Recognize -xarch={v8plus,v8plusa} for compatibility
962 with Solaris assembler.
963 (md_parse_option): Likewise. Call sparc_opcode_lookup_arch.
964 (md_show_usage): Update.
965
966 Wed Jan 24 22:11:03 1996 Doug Evans <dje@charmed.cygnus.com>
967
968 * Makefile.in (RUNTEST): Fix reference to $${srcdir}.
969
970 Mon Jan 22 09:21:36 1996 Doug Evans <dje@charmed.cygnus.com>
971
972 * config/tc-sparc.h (TARGET_FORMAT): Use #ifdef SPARC_ARCH64 instead of
973 #ifdef sparcv9 when choosing value.
974 (ENV64): Delete.
975 (md_end): Define.
976 (sparc_md_end): Declare.
977 * config/tc-sparc.c (SPARC_V9): Renamed from sparcv9.
978 (initial_architecture): New static local.
979 (can_bump_v9_p): Likewise.
980 (NO_V9): Delete all occurrences.
981 (sparc_md_end): New function.
982 (sparc_ip): New local v9_arg_p. Rework fp reg number test.
983 Don't bump architecture to v9 unless can_bump_v9_p set.
984 (md_parse_option): -A<arch> passed, set can_bump_v9_p accordingly.
985 * configure.in (sparc64 target cpu): Don't set obj_format here.
986 (SPARC_V9): Renamed from sparcv9.
987 (sparc64-*-elf*): Define SPARC_ARCH64.
988 * configure: Regenerated.
989 * acconfig.h (SPARC_V9): Renamed from sparcv9.
990 (SPARC_ARCH64): Add.
991 * conf.in: Regenerated.
992 * config/vmsconf.h: Update.
993
994 Mon Jan 22 17:24:47 1996 James G. Smith <jsmith@cygnus.co.uk>
995
996 * config/tc-mips.c (load_register): Optimise "dli" loads.
997 (md_show_usage): add "-mcpu=vr4100" to help text.
998
999 Mon Jan 22 11:53:00 1996 Ian Lance Taylor <ian@cygnus.com>
1000
1001 * symbols.c (resolve_symbol_value): If a symbol is equated to an
1002 undefined symbol, preserve the X_op of O_symbol.
1003 (S_GET_VALUE): Fix check to permit this case.
1004 * write.c (write_relocs): If a reloc is against an undefined
1005 symbol equated to another symbol, change the reloc to be against
1006 the latter symbol.
1007 * config/obj-coff.c (do_relocs_for): Likewise.
1008
1009 * config/tc-ppc.c (ppc_csect): An unnamed csect is storage class
1010 XMC_PR.
1011
1012 Mon Jan 22 10:59:48 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1013
1014 * config/obj-elf.c (elf/ppc.h): Include elf/ppc.h if target
1015 computer is PowerPC.
1016
1017 * config/tc-ppc.c (md_apply_fix3): Add more embedded relocations.
1018
1019 * config/tc-ppc.h (ELF_TC_SPECIAL_SECTIONS): Add sections
1020 mentioned in the eabi.
1021
1022 Thu Jan 18 17:58:19 1996 Kim Knuttila <krk@cygnus.com>
1023
1024 * config/tc-ppc.c (ppc_reldata): Changed alignement on reldata_section
1025 * config/tc-ppc.c (ppc_pdata): Changed the alignment on pdata_section
1026
1027 Mon Jan 15 17:43:42 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1028
1029 * config/tc-ppc.c (mapping): Add more relocation suffixes.
1030
1031 Sun Jan 14 21:29:36 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1032
1033 * config/tc-ppc.c (ppc_elf_validate_fix): Allow .gcc_except_table
1034 as a section it is ok to have unadorned -mrelocatable pointers in.
1035
1036 Sat Jan 13 11:09:08 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1037
1038 * config/tc-ppc.c (ppc_section*): Wrap these functions inside
1039 #ifdef OBJ_ELF.
1040
1041 Fri Jan 12 15:32:07 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1042
1043 * config/obj-elf.c (obj_elf_section): Add hooks so machine
1044 dependent section attributes can be handled.
1045
1046 * config/tc-ppc.h: (md_elf_section_{letter,type,word,flags}): New
1047 macros to add support for exclude section flag and ordered section
1048 type.
1049
1050 * config/tc-ppc.c (ppc_elf_section_{letter,type,word,flags}): New
1051 functions to add support for exclude section flag and ordered
1052 section type.
1053
1054 Fri Jan 12 12:04:00 1996 Ian Lance Taylor <ian@cygnus.com>
1055
1056 * subsegs.c (section_symbol): Don't try to look up the section
1057 symbol in the hash table. It should be possible to have a symbol
1058 with the same name as a section, but no connection to it.
1059
1060 * read.c (cons_worker): Only call mri_comment_end from flag_mri.
1061 From James Carlson <carlson@xylogics.com>.
1062
1063 * expr.c (operand): Skip whitespace after a close parenthesis.
1064 From James Carlson <carlson@xylogics.com>.
1065
1066 Tue Jan 2 12:43:23 1996 Jim Wilson <wilson@chestnut.cygnus.com>
1067
1068 * config/tc-sh.c (md_apply_fix): Call as_bad_where instead of
1069 as_warn_where for relocation overflow.
1070 (parse_reg): Accept register name only if next character is
1071 not alphanumeric.
1072
1073 Sat Dec 30 23:42:51 1995 Jeffrey A Law (law@cygnus.com)
1074
1075 * ecoff.c (ecoff_stab): Simplify. Correctly handle sym + offset
1076 addresses for static variables.
1077
1078 Thu Dec 21 12:54:32 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1079
1080 * config/tc-ppc.c (mapping): Make @got give a real GOT relocation,
1081 and xgot give the old toc16 relocation.
1082 (md_apply_fix3): Support all GOT relocations.
1083
1084 Wed Dec 20 14:57:17 1995 Ian Lance Taylor <ian@cygnus.com>
1085
1086 * config/tc-mips.c (load_address): Correctly handle a constant in
1087 SVR4_PIC case. From Richard Kenner <kenner@vlsi1.ultra.nyu.edu>.
1088
1089 Fri Dec 15 14:25:07 1995 J.T. Conklin <jtc@rtl.cygnus.com>
1090
1091 * config/tc-sh.c (parse_reg): Recognize SH3 registers.
1092 (get_specific): Handle A_SSR, A_SPC and A_REG_B.
1093 (build_Mbytes): Handle REG_B.
1094
1095 Fri Dec 15 16:07:25 1995 Ian Lance Taylor <ian@cygnus.com>
1096
1097 * ecoff.c (ecoff_build_aux): Use new bfd_big_endian macro.
1098
1099 Fri Dec 15 12:11:48 1995 Raymond Jou <rjou@mexican.cygnus.com>
1100
1101 * mpw-make.sed: If linking, edit ALL_CFLAGS to CFLAGS.
1102
1103 Thu Dec 14 15:09:52 1995 Ian Lance Taylor <ian@cygnus.com>
1104
1105 * config/obj-coff.c (write_object_file): Set the s_align field to
1106 the number of bytes, rather than to the power of 2.
1107
1108 Tue Dec 12 12:19:37 1995 Ian Lance Taylor <ian@cygnus.com>
1109
1110 * Makefile.in (DISTCLEAN_HERE): New variable.
1111 (distclean): Use it.
1112 (maintainer-clean): Depend upon clean-here rather than clean,
1113 distclean, and clean-info. Run make maintainer-clean in doc.
1114 Remove files listed in DISTCLEAN_HERE.
1115 * doc/Makefile.in (maintainer-clean realclean): Split out from
1116 distclean. Depend upon clean-info and distclean.
1117
1118 Mon Dec 11 16:23:51 1995 Stan Shebs <shebs@andros.cygnus.com>
1119
1120 * mac-as.r: Fix copyright and version strings.
1121 (cfrg): Use PROG_NAME instead of literal name.
1122
1123
1124 Mon Dec 11 14:14:08 1995 Ian Lance Taylor <ian@cygnus.com>
1125
1126 * read.c (read_a_source_file): If tc_unrecognized_line is defined,
1127 call it.
1128 * config/tc-a29k.h (tc_unrecognized_line): Define.
1129 * config/tc-a29k.c (a29k_unrecognized_line): New function.
1130 (md_operand): Handle a29k style local dollar labels.
1131
1132 Wed Dec 6 17:52:52 1995 Ian Lance Taylor <ian@cygnus.com>
1133
1134 * config/obj-multi.h: If OBJ_MAYBE_ELF, define OBJ_SYMFIELD_TYPE.
1135
1136 Tue Dec 5 13:26:34 1995 Ken Raeburn <raeburn@cygnus.com>
1137
1138 * read.c (s_fill): If md_flush_pending_output is defined, call
1139 it.
1140
1141 Mon Dec 4 15:10:53 1995 Ken Raeburn <raeburn@cygnus.com>
1142
1143 * config/obj-coff.c (size_section, fill_section, fixup_mdeps):
1144 Treat rs_align_code like rs_align.
1145
1146 Sun Dec 3 16:46:54 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
1147
1148 * config/tc-arm.c (cp_address_required_here): Set pre_inc when
1149 converting an absolute address into a PC-relative one.
1150
1151 Fri Dec 1 11:57:56 1995 Stan Shebs <shebs@andros.cygnus.com>
1152
1153 * mpw-config.in: Don't always use te-generic.h for emulation.
1154 (powerpc-apple-macos): Use emulation te-macos.h.
1155 start-sanitize-gm
1156 (mips-gm-magic): New configuration.
1157 end-sanitize-gm
1158 * mpw-make.sed (install, install-only): Edit in Mac-specific
1159 install procedure.
1160
1161 Fri Dec 1 10:59:25 1995 Ian Lance Taylor <ian@cygnus.com>
1162
1163 * configure.in: Improve message about unsupported ELF targets.
1164 * configure: Rebuild.
1165
1166 * config/tc-m88k.c (m88k_do_align): Correct check for whether fill
1167 pattern is zero. From Manfred Hollstein.
1168
1169 Thu Nov 30 13:25:49 1995 Kim Knuttila <krk@cygnus.com>
1170
1171 * config/tc-ppc.c (ppc_pe_section): To get the alignment right for
1172 the various idata sections, we check the name on the .section pseudo.
1173
1174 Thu Nov 30 11:23:42 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
1175
1176 * config/obj-coff.c (fixup_segment): If TC_M88K is defined, do not
1177 add section's paddr to add_number; compatibility to native as and
1178 ld forbids.
1179
1180 Wed Nov 29 23:14:27 1995 Ken Raeburn <raeburn@cygnus.com>
1181
1182 * configure.in: Treat m68k-sysv4 like m68k-elf, not m68k-sysv3.
1183
1184 * hash.c (struct hash_entry): Moved here...
1185 * hash.h (struct hash_entry): ...from here.
1186
1187 * config/obj-elf.c (elf_frob_symbol): Don't free and clear sy_obj
1188 if it's already known to be null.
1189
1190 Wed Nov 29 13:00:20 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1191
1192 * config/tc-ppc.c (md_apply_fix3): Don't adjust the value for 32
1193 bit relocs converted to PC relative relocs. This turned out to
1194 add the offset from the beginning of .text twice.
1195
1196 Tue Nov 28 10:42:36 1995 Ken Raeburn <raeburn@cygnus.com>
1197
1198 * stabs.c (s_stab_generic): In 's' case, free string from
1199 obstack.
1200
1201 * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): Remove unused field
1202 sy_name_offset.
1203 * config/obj-multi.h (ELF_TARGET_SYMBOL_FIELDS) [OBJ_MAYBE_ELF]:
1204 Ditto.
1205
1206 * subsegs.h (segment_info_type): Make bitfields unsigned.
1207
1208 * expr.h (struct expressionS): Make X_op and X_unsigned bitfields,
1209 and move them together. On most systems this will reduce the
1210 structure size by one word.
1211 (operatorT): Define O_max.
1212 * expr.c (expr_begin): Verify that X_op is wide enough to hold
1213 O_max.
1214
1215 * read.c (pop_insert): Print error returned by hash table
1216 insertion code.
1217
1218 * as.c (dump_statistics): Split out from main; dump some hash
1219 table stats and target-specific stats.
1220 (start_time): No longer automatic to main.
1221 (main): Set file-level start_time and call dump_statistics at
1222 exit. Exit by calling xexit.
1223 (show_usage): Make --statistics description less specific.
1224 * subsegs.c (subsegs_print_statistics): New function.
1225 * write.c (write_print_statistics): New function.
1226 (n_fixups): New static variable.
1227 (fix_new_internal): Increment it.
1228 * read.c (read_print_statistics): New function.
1229 * read.h (read_print_statistics): Declare.
1230 * symbol.c (symbol_print_statistics): New function.
1231 * symbol.h (symbol_print_statistics): Declare.
1232 * hash.c (hash_print_statistics): New function.
1233 * hash.h (hash_print_statistics): Declare.
1234 * config/tc-i386.c (i386_print_statistics): New function.
1235 * config/tc-i386.h (i386_print_statistics): Declare.
1236 (tc_print_statistics): New macro.
1237 * messages.c (as_fatal, as_assert, as_abort): Use xexit, not
1238 exit.
1239
1240 * hash.c (DELETED): Rewrite to use a valid but unique address.
1241 (START_POWER): Reduce to 10.
1242 (enum stat_enum): New enumerator, replacing STAT_* index macros.
1243 Add new values for counting strcmp calls.
1244 (GROW_FACTOR): New macro.
1245 (hash_grow): Use GROW_FACTOR. Rewrite for quick returns instead
1246 of nesting blocks.
1247 (FULL_VALUE): New macro. Use 1/4 of table size instead of 1/2.
1248 (hash_new): Use FULL_VALUE.
1249 (struct hash_control): Definition moved here.
1250 (hash_code): Don't mask to low bits.
1251 (hash_ask): Mask returned hash code here. Check hash value before
1252 calling strcmp; count strcmp calls.
1253 * hash.h (struct hash_control): Declare, don't define, here.
1254 (HASH_STATLENGTH): Deleted.
1255 (struct hash_entry): Add field for hash code.
1256 (hash_say, hash_apply): Don't declare.
1257
1258 * hash.c (destroy): Return void.
1259 (applicatee): Ditto.
1260 (main): Fix declarations.
1261 (hash_apply): Return void. Argument `function' returns void. Put
1262 inside "#ifdef TEST".
1263 (hash_say): Define only if TEST is defined.
1264 * hash.h (hash_apply, hash_say): Declarations deleted.
1265
1266 Mon Nov 27 13:18:25 1995 Ian Lance Taylor <ian@cygnus.com>
1267
1268 * configure: Rebuild with autoconf 2.7.
1269
1270 Tue Nov 21 18:39:01 1995 Ian Lance Taylor <ian@cygnus.com>
1271
1272 * aclocal.m4 (AC_PROG_CC): Remove local definition.
1273 * configure: Rebuild with autoconf 2.6.
1274
1275 Mon Nov 20 17:26:00 1995 Ian Lance Taylor <ian@cygnus.com>
1276
1277 * config/tc-ppc.c (ppc_debug_name_section_size): Remove.
1278 (ppc_stabx): Don't increment ppc_debug_name_section_size.
1279 (ppc_bc): Likewise.
1280 (ppc_frob_file): Remove.
1281 * config/tc-ppc.h (tc_frob_file): Don't define.
1282 (ppc_frob_file): Don't declare.
1283
1284 Mon Nov 20 13:37:05 1995 Ken Raeburn <raeburn@cygnus.com>
1285
1286 * Makefile.in (TARG_CPU_DEP_alpha): Mention alpha-opcode.h.
1287 * config/alpha-opcode.h: Include one-operand variants of jmp and
1288 jsr.
1289
1290 * config/te-delt88.h: Renamed from te-delta88.h, to avoid conflict
1291 with te-delta.h in 8.3 file systems.
1292 * configure.in: Adjusted.
1293
1294 Thu Nov 16 12:49:38 1995 Ian Lance Taylor <ian@cygnus.com>
1295
1296 * config/tc-mips.c (s_err): Remove; just use the one in read.c.
1297
1298 * config/m68k-parse.y (yylex): In MRI mode, '@' can start an octal
1299 number.
1300 * expr.c (operand): Handle MRI suffixes after unadorned 0.
1301
1302 Thu Nov 16 00:21:44 1995 Ken Raeburn <raeburn@cygnus.com>
1303
1304 Version 2.6 released.
1305 * Makefile.in (VERSION): Updated to 2.6.
1306
1307 * config/obj-coff.c (write_object_file): Change use of md_do_align
1308 to pass a pointer rather than a fill value, to match other uses.
1309
1310 Wed Nov 15 03:52:00 1995 Ken Raeburn <raeburn@cygnus.com>
1311
1312 * config/tc-ns32k.h (TC_FIX_TYPE): Add missing semicolon.
1313
1314 * as.c (main): Move md_end call to just after call to
1315 perform_an_assembly_pass. Delete cpu-specific code here.
1316 * config/tc-i960.h (md_end): New macro, calls brtab_emit.
1317 start-sanitize-rce
1318 * config/tc-rce.c (md_end): Deleted.
1319 * config/tc-rce.h (md_end): New macro, calls dump_literals.
1320 end-sanitize-rce
1321 * config/tc-arm.c (md_end): Unused function deleted.
1322 * config/tc-ns32k.c (md_end): Ditto.
1323
1324 * config/tc-i386.c (i386_align_code): New function, moved here
1325 from HANDLE_ALIGN macro.
1326 * config/tc-i386.h (HANDLE_ALIGN): Call it.
1327
1328 Mon Jul 31 14:53:19 1995 Alan Modra <alan@spri.levels.unisa.edu.au>
1329
1330 * config/tc-i386.h (md_do_align): cast fill and 0x90 to char
1331 before comparing
1332
1333 Mon May 1 10:91:49 1995 Alan Modra <alan@spri.levels.unisa.edu.au>
1334
1335 * config/tc-i386.h (md_do_align): Make ".align n,0x90" generate
1336 multi-byte nops to avoid changing gcc. The necessary gcc change
1337 might break old assemblers.
1338
1339 Sat Apr 22 20:53:05 1995 Alan Modra <alan@spri.levels.unisa.edu.au>
1340
1341 * config/tc-i386.h (md_do_align, HANDLE_ALIGN): Add macros to
1342 generate optimal multi-byte nop instructions for ".align n"
1343 ".align n,0x90", and aligns requiring more than 15 bytes of
1344 padding still generate multiple 0x90's as before.
1345
1346 Mon Nov 13 17:40:21 1995 Ian Lance Taylor <ian@cygnus.com>
1347
1348 * config/tc-m68k.c (s_mri_until): Call pop_mri_control.
1349
1350 Mon Nov 13 20:39:06 1995 Stan Shebs <shebs@andros.cygnus.com>
1351
1352 * configure.in (ppc-*-macos*, ppc-*-mpw*): New configurations.
1353 * configure: Update.
1354 * mpw-make.sed: Reorder commands to make sed happier.
1355 * config/te-macos.h: New file.
1356 * config/tc-ppc.h (TARGET_FORMAT): Set correctly for PowerMac.
1357
1358 Sun Nov 12 21:14:56 1995 Jeffrey A Law (law@cygnus.com)
1359
1360 * config/tc-hppa.c (pa_ip): Fix off-by-2 bug in length check for
1361 conditional branches.
1362 (md_apply_fix): Likewise.
1363
1364 Thu Nov 9 16:14:01 1995 Ian Lance Taylor <ian@cygnus.com>
1365
1366 * config/tc-a29k.c (md_apply_fix): Warn if an attempt is made to
1367 generate a reloc which the linker will not handle correctly. Fix
1368 overflow checking--R_IREL is 18 bits, not 17.
1369
1370 Wed Nov 8 19:59:36 1995 Ian Lance Taylor <ian@cygnus.com>
1371
1372 * config/obj-coff.c (fixup_segment): Don't subtract md_pcrel_from
1373 from a PC relative reloc if TC_A29K.
1374
1375 * config/tc-a29k.c (line_separator_chars): Restore '@'. Existing
1376 code depends upon it.
1377
1378 * config/tc-a29k.c (md_operand): Handle $float, $double, and
1379 $extend. Based on code from Eric Freudenthal
1380 <freudenthal@nyu.edu>.
1381 * config/tc-a29k.h (LEX_DOLLAR): Define.
1382 * read.c (LEX_DOLLAR): Define if not defined.
1383 (lex_type): Use LEX_DOLLAR.
1384
1385 Wed Nov 8 16:38:14 1995 Eric Freudenthal <freudenthal@nyu.edu>
1386
1387 * configure.in (a29k-nyu-sym1): New target, just like other a29k
1388 targets.
1389
1390 Wed Nov 8 11:38:48 1995 Ian Lance Taylor <ian@cygnus.com>
1391
1392 * config/obj-coff.c (c_dot_file_symbol): Cast xmalloc return.
1393
1394 Tue Nov 7 09:14:35 1995 Kim Knuttila <krk@cygnus.com>
1395
1396 * config/tc-ppc.c (md_apply_fix3): Added BFD_RELOC_RVA. Currently
1397 used only by "dlltool.c".
1398
1399 Mon Nov 6 18:51:26 1995 Ian Lance Taylor <ian@cygnus.com>
1400
1401 * config/tc-alpha.c: Undefine inline if not __GNUC__.
1402 (md_pseudo_table): Don't define "extern".
1403
1404 Sat Nov 4 00:51:21 1995 Ian Lance Taylor <ian@cygnus.com>
1405
1406 * config/tc-ppc.c (ppc_biei): Force symbol into text_section.
1407
1408 * config/tc-ppc.c (md_show_usage): Put backslash at end of line.
1409
1410 Fri Nov 3 13:02:59 1995 Ian Lance Taylor <ian@cygnus.com>
1411
1412 * macro.c (macro_expand_body): Don't warn about == with a
1413 nonexistent parameter, in case it is in a comment field.
1414
1415 * as.c (main): On TC_A29K, call macro_init with macro_alternate
1416 set to 1.
1417 * macro.c (get_any_string): Don't keep quotes if macro_strip_at is
1418 set, even if macro_alternate is set.
1419 (get_apost_token): If macro_strip_at, only skip kind if it is '@'.
1420 (sub_actual): If macro_strip_at, and kind is '@', don't look up
1421 the token unless it ended in '@'.
1422 * config/tc-a29k.c (line_separator_chars): Remove '@'.
1423 * doc/c-a29k.texi: Document macro usage on A29K.
1424
1425 Thu Nov 2 23:07:57 1995 Ian Lance Taylor <ian@cygnus.com>
1426
1427 * config/tc-m68k.c (m68k_ip): Handle new 'W' place, meaning a
1428 signed word.
1429 (install_operand): Likewise.
1430
1431 * config/obj-elf.c (ecoff_debug_pseudo_table): Add "extern".
1432
1433 Wed Nov 1 15:17:02 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
1434
1435 * configure.in (m88k-motorola-sysv*): New target.
1436 * configure: Rebuild.
1437 * config/te-delta88.h: New file.
1438 * config/obj-coff.c (write_object_file): Use md_do_align if it is
1439 defined.
1440 * config/tc-m88k.h (SUB_SEGMENT_ALIGN): Define.
1441 (md_do_align): Define.
1442 * config/tc-m88k.c: Include "subsegs.h".
1443 (m88k_do_align): New function.
1444
1445 * config/te-delta.h (STRIP_UNDERSCORE): Don't define.
1446 (COFF_NOLOAD_PROBLEM): Define.
1447 (LOCAL_LABELS_DOLLAR, LOCAL_LABELS_FB): Define.
1448
1449 Wed Nov 1 16:07:43 1995 Ken Raeburn <raeburn@cygnus.com>
1450
1451 * config/tc-i386.c (md_assemble): For a jump instruction with
1452 non-constant target, require 7 available bytes in the current
1453 frag, not 6.
1454
1455 Tue Oct 31 15:37:16 1995 Fred Fish <fnf@rtl.cygnus.com>
1456
1457 * config/obj-elf.h: Include bfd/elf-bfd.h rather than
1458 bfd/libelf.h.
1459
1460 Tue Oct 31 16:34:28 1995 David Mosberger-Tang <davidm@azstarnet.com>
1461
1462 * configure.in (alpha-*-linux*): Use ecoff.
1463 * configure: Rebuild.
1464 * ecoff.c (ecoff_directive_extern): New function.
1465 (ecoff_directive_weakext): New function.
1466 (ecoff_build_symbols): Handle weak symbols.
1467 (ecoff_setup_ext): Likewise.
1468 (ecoff_frob_symbol): Warn about weak common symbols.
1469 * ecoff.h (ecoff_directive_extern): Declare.
1470 (ecoff_directive_weakext): Declare.
1471 * symbols.c (S_IS_WEAK): New function.
1472 * symbols.h (S_IS_WEAK): Declare.
1473 * config/obj-ecoff.c (obj_pseudo_table): Add "extern" and
1474 "weakext".
1475 * config/tc-mips.c (mips_pseudo_table): Remove "extern".
1476 (s_extern): Remove.
1477
1478 Tue Oct 31 13:29:08 1995 Ian Lance Taylor <ian@cygnus.com>
1479
1480 * config/tc-ppc.c (ppc_lglobl): Do the right thing.
1481
1482 * config/tc-ppc.c (ppc_bb): Call SF_SET_PROCESS.
1483 (ppc_eb): Likewise. Set the storage class to C_BLOCK, not C_FCN.
1484 (ppc_frob_symbol): Don't change C_BLOCK symbols to C_HIDEXT.
1485 * config/obj-coff.c (coff_frob_symbol): Don't call
1486 SA_SET_SYM_ENDNDX with the current symbol; call it with the next
1487 one. If OBJ_XCOFF, try to figure out whether the symbol is going
1488 to be dropped.
1489
1490 * config/tc-ppc.c (md_pseudo_table): Add "bc" and "ec".
1491 (ppc_stab_symbol): New static variable.
1492 (ppc_change_csect): Check that ppc_toc_csect is not NULL.
1493 (ppc_stabx): Set ppc_stab_symbol around call to symbol_make. Set
1494 sy_tc.real_name to the stab string.
1495 (ppc_bc, ppc_ec): New static functions.
1496 (ppc_canonicalize_symbol_name): If ppc_stab_symbol is set, don't
1497 do anything.
1498 (ppc_symbol_new_hook): If ppc_stab_symbol is set, don't look for a
1499 suffix.
1500 (ppc_frob_symbol): Set BSF_NOT_AT_END for symbols with csect aux
1501 entries.
1502
1503 * input-scrub.c (input_scrub_push): Reset sb_index.
1504
1505 Mon Oct 30 17:52:46 1995 Ian Lance Taylor <ian@cygnus.com>
1506
1507 * listing.c (listing_newline): Don't create a frag in the absolute
1508 section.
1509
1510 Sat Oct 28 01:02:05 1995 Ian Lance Taylor <ian@cygnus.com>
1511
1512 * config/tc-ppc.c (md_pseudo_table): Add "data" and "text".
1513 (ppc_csect): Move most of the code to ppc_change_csect, and call
1514 it.
1515 (ppc_change_csect): New static function, taken from ppc_csect.
1516 (ppc_section): New static function.
1517 (ppc_saw_abs): New static varable.
1518 (ppc_frob_symbol): Create aux entry for absolute symbols. Warn if
1519 a symbol has no csect.
1520 (ppc_adjust_symtab): New function.
1521 * config/tc-ppc.h (tc_adjust_symtab): Define if OBJ_XCOFF.
1522 (ppc_adjust_symtab): Declare if OBJ_XCOFF.
1523
1524 * write.c (write_object_file): If tc_adjust_symtab is defined,
1525 call it just before the call to obj_adjust_symtab.
1526
1527 * symbols.c (symbol_find_or_make): Change name to be const.
1528 * symbols.h (symbol_find_or_make): Update declaration.
1529
1530 Thu Oct 26 19:18:27 1995 Ken Raeburn <raeburn@cygnus.com>
1531
1532 * doc/as.texinfo (Align): Mention SH.
1533 * doc/c-m68k.texi (M68K-Directives, .even): Describe behavior, not
1534 .align value.
1535 * doc/c-z8k.texi (Z8000 Directives, global): Fix minor typo.
1536 (Z8000 Directives, even): Don't give numeric align value, instead
1537 explain behavior.
1538
1539 Thu Oct 26 11:45:03 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
1540
1541 * tc-arm.c (do_ldst): Assemble ldr/str r0, [r1] as a pre-increment
1542 instruction.
1543
1544 Wed Oct 25 11:59:24 1995 Per Bothner <bothner@kalessin.cygnus.com>
1545
1546 * Makefile.in (diststuff): Also make info.
1547 (maintainer-clean realclean): Also make clean-info.
1548
1549 Tue Oct 24 15:21:33 1995 Jeffrey A Law (law@cygnus.com)
1550
1551 * config/tc-hppa.c (md_pseudo_table): Add new ".nsubspa" opcode.
1552 (pa_subspace): For ".nsubspa", always create a new subspace
1553 with the given attributes, even if one already exists with the
1554 same name.
1555
1556 Tue Oct 24 14:50:38 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1557
1558 * config/tc-ppc.h (TC_FORCE_RELOCATION_SECTION): Rename from
1559 TC_FORCE_RELOCATION, taking an additional section argument. If
1560 the section of the target symbol is not the same as the current
1561 section, always force the relocation to be used.
1562 (MD_PCREL_FROM_SECTION): New macro to call md_pcrel_from_section.
1563
1564 * config/tc-ppc.c (md_pcrel_from_section): Rename from the
1565 md_pcrel_from function, taking an additional section argument.
1566 Invoke TC_FORCE_RELOCATION_SECTION instead of TC_FORCE_RELOCATION.
1567
1568 * write.c (TC_FORCE_RELOCATION_SECTION): Define in terms of the
1569 older TC_FORCE_RELOCATION if not defined.
1570 (MD_PCREL_FROM_SECTION): If not defined, invoke md_pcrel_from.
1571 (fixup_segment): Use MD_PCREL_FROM_SECTION instead of
1572 md_pcrel_from, and TC_FORCE_RELOCATION_SECTION instead of
1573 TC_FORCE_RELOCATION.
1574
1575 Mon Oct 23 16:20:04 1995 Ken Raeburn <raeburn@cygnus.com>
1576
1577 * input-scrub.c (as_where): Set name to null pointer if we don't
1578 have a file name.
1579 * messages.c (identify): Only print filename if non-null.
1580 (as_show_where): Ditto, for line number too.
1581 (as_warn_internal, as_bad_internal): Ditto.
1582
1583 * input-file.c (input_file_open): If the input file can't be
1584 opened, consider it an error.
1585
1586 Mon Oct 23 11:15:44 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk>
1587
1588 * config/tc-mips.c: Added mips_4100 control, and support for
1589 accepting the 4100 as a MIPS architecture variant (md_begin,
1590 macro_build, mips_ip, md_parse_option). Adding suitable
1591 command-line OPTIONs, and updating the help text (md_show_usage).
1592
1593 Wed Oct 18 13:20:32 1995 Ken Raeburn <raeburn@cygnus.com>
1594
1595 * subsegs.c (subseg_begin): Only set absolute_frchain.fix_* when
1596 BFD_ASSEMBLER is defined.
1597
1598 * Use one active frag and one obstack per frag chain:
1599 * frags.c (frags): Variable deleted.
1600 (frag_alloc): New function.
1601 (frag_grow, frag_more, frag_variant, frag_now_fix,
1602 frag_append_1_char): Refer to frchain_now->frch_obstack instead of
1603 frags variable.
1604 (frag_new): Ditto. Verify that frch_last and frag_now match on
1605 entry and exit, and that old frag_now has non-zero type. Replace
1606 "know" uses with "assert". Use frag_alloc instead of mucking with
1607 obstack alignment.
1608 * frags.h (frags): Declaration deleted.
1609 * subsegs.h (struct frchain): Add new field frch_frag_now.
1610 * subsegs.c (frchains, dummy_frag, absolute_frchain): New static
1611 variables.
1612 (subsegs_begin): Initialize frchains obstack. Under gcc, don't
1613 give it any stricter alignment than frchainS structures need. Do
1614 not initialize frags obstack. Set frag_now to point to
1615 dummy_obstack. Initialize absolute_frchain.
1616 (subseg_set_rest): Save and restore frag_now in frch_frag_now
1617 field of frchainS. Don't create new frags on section switch, and
1618 use frag_alloc when creating a new frag chain. For absolute
1619 section, set frchain_now to absolute_frchain. Verify that
1620 frch_last and frag_now match on entry and exit. Initialize
1621 per-chain obstack, and under gcc, set required alignment to that
1622 needed by fragS structure.
1623
1624 * write.c (chain_frchains_together_1): Verify fr_type is nonzero.
1625
1626 * stabs.c (get_stab_string_offset): Only copy input string if a
1627 fresh copy is needed, not if the section already exists.
1628 (s_stab_generic): Cache stab section name to bypass lookups, since
1629 usually it will match. Could be made faster still by changing the
1630 memory allocation rules.
1631 (s_xstab): Cache section name to bypass repeated string
1632 allocation.
1633
1634 * frags.c (frag_new): Deleted register declarations.
1635
1636 * listing.c (frag_now): Don't declare.
1637
1638 * as.c (chunksize): New variable.
1639 (debug_memory): New variable.
1640 (main): If debug_memory is set, reduce chunksize and
1641 _bfd_chunksize.
1642 * as.h (chunksize): Declare it.
1643 * read.c (read_begin): Use it.
1644
1645 * config/tc-alpha.c (md_shortopts): Include 'g'.
1646 (md_parse_option): Ignore it.
1647
1648 * Makefile.in (distclean): Remove Makefile and config.status from
1649 testsuite directory.
1650 (clean-here): Don't delete testsuite. Instead, delete only the
1651 files within it that would be generated by running tests.
1652
1653 * config/tc-hppa.c (hppa_elf_mark_end_of_function): Call
1654 frag_now_fix instead of accessing obstack info directly.
1655 * config/tc-arm.c (s_ltorg): Ditto.
1656 (md_assemble): Ditto.
1657
1658 * config/tc-i386.c (md_assemble): Call frag_grow instead of
1659 obstack_room.
1660
1661 Wed Oct 18 12:22:59 1995 Ken Raeburn <raeburn@cygnus.com>
1662
1663 * stabs.c (aout_process_stab): Insert debug symbol into symbol
1664 chain after parsing value expression, if any, to avoid separating
1665 continued .stabs lines.
1666
1667 Mon Oct 16 10:56:41 1995 Ian Lance Taylor <ian@cygnus.com>
1668
1669 * config/tc-mips.c (mips_elf_pseudo_table): Remove.
1670 (mips_pop_insert): Don't call pop_insert on mips_elf_pseudo_table.
1671
1672 Mon Oct 16 07:07:37 1995 Michael Meissner <meissner@wogglebug.tiac.net>
1673
1674 * config/tc-ppc.c (md_begin): Use new flags PPC_OPCODE_COMMON for
1675 -mcom support and PPC_OPCODE_ANY for -many.
1676 (md_parse_option): Ditto.
1677 (ppc_arch): Ditto.
1678 (md_begin): For duplicate instructions, print all duplicates
1679 before aborting.
1680
1681 Sun Oct 15 22:06:14 1995 Michael Meissner <meissner@cygnus.com>
1682
1683 * config/tc-ppc.c (md_parse_option): Support for -mcom to turn on
1684 common mode operation.
1685 (md_show_usage): Add -mcom to usage message.
1686
1687 Fri Oct 13 13:32:45 1995 steve chamberlain <sac@slash.cygnus.com>
1688
1689 * expr.c (op_rank): Add O_symbol_rva.
1690 * expr.h (operatorT): Add O_symbol_rva.
1691 * read.c (cons_worker): Set O_symbol_rva when necessary.
1692 * write.c (fix_new_exp): Understand O_symbol_rva.
1693
1694 Tue Oct 10 11:34:14 1995 Ian Lance Taylor <ian@cygnus.com>
1695
1696 * config/tc-mips.c: Correct s_cons arguments. From Michael
1697 Joosten <joost@ori.cadlab.de>.
1698
1699 Mon Oct 9 19:59:53 1995 Ian Lance Taylor <ian@cygnus.com>
1700
1701 * config/tc-ppc.c (ppc_macro): Make count unsigned.
1702 (ppc_biei): Set segment to now_seg and value to coff_n_line_nos.
1703 (ppc_frob_symbol): Handle C_BINCL and C_EINCL symbols by setting
1704 the fix_line field.
1705 * config/obj-coff.c (coff_n_line_nos): Rename from n_line_nos, and
1706 make non-static. Change all users.
1707 * config/obj-coff.h (coff_n_line_nos): Declare.
1708
1709 Fri Oct 6 16:24:27 1995 Ken Raeburn <raeburn@cygnus.com>
1710
1711 Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1712
1713 * configure.in (AC_ARG_WITH(bfd-assembler)): Fix help message.
1714
1715 * config/obj-elf.c (obj_elf_common): Convert specified byte
1716 alignment to power of two. Set size of local bss symbol.
1717
1718 * config/tc-m68k.c (tc_gen_reloc): Fix typo in variable name.
1719
1720 Fri Oct 6 15:22:25 1995 Ian Lance Taylor <ian@cygnus.com>
1721
1722 * sb.c, macro.c: Decide whether to include <string.h> or
1723 <strings.h> just as as.h does.
1724
1725 Fri Oct 6 09:55:33 1995 Doug Evans <dje@canuck.cygnus.com>
1726
1727 * Makefile.in (site.exp): Fix setting of $srcdir.
1728
1729 * config/tc-arm.c (md_atof): Fix little-endian output.
1730 * config/tc-arm.h (ARM_BI_ENDIAN): Move definition so defined for
1731 all coff targets.
1732
1733 Thu Oct 5 20:17:30 1995 Ken Raeburn <raeburn@cygnus.com>
1734
1735 * doc/as.texinfo: Split out the NS32k family documentation,
1736 despite its being commented out for now.
1737 * doc/c-ns32k.texi: New file.
1738
1739 * sb.c, macro.c: Include string.h.
1740
1741 * Makefile.in (comparison): Only check *.o; we don't care if
1742 timestamps inserted by the native linker differ.
1743
1744 * config/tc-alpha.c (alpha_align): Only fill with a no-op pattern
1745 if alignment stricter than 4 bytes is requested; in that case,
1746 align to a 4-byte boundary first.
1747
1748 Thu Sep 28 19:35:27 1995 Pat Rankin <rankin@eql.caltech.edu>
1749
1750 * config/obj-vms.c (VMS_RSYM_Parse): eliminate "might be used
1751 uninitialized" warning for `Max_Source_Offset'.
1752
1753 Wed Oct 4 16:17:02 1995 Kim Knuttila <krk@cygnus.com>
1754
1755 * config/tc-ppc.c (parse_toc_entry): New function to parse [toc]
1756 qualifiers and detect errors if present.
1757 (md_assemble): Add call to parse_toc_entry. Also added some support
1758 for the [tocv] qualifier.
1759 (ppc_pe_tocd): New function to support data in the toc section.
1760
1761 Wed Oct 4 14:03:39 1995 Ian Lance Taylor <ian@cygnus.com>
1762
1763 * config/tc-ppc.c (ppc_frob_symbol): Don't create an aux entry for
1764 an absolute symbol.
1765
1766 Tue Oct 3 12:18:19 1995 Ian Lance Taylor <ian@cygnus.com>
1767
1768 * config/tc-m68k.c (isword): Accept all values from -65536 to
1769 +65535, so ~VAL will not be rejected.
1770
1771 * cond.c (s_endif): Call demand_empty_rest_of_line. In MRI mode,
1772 skip characters after the pseudo-op.
1773 (s_else): Likewise.
1774 * read.c (get_line_sb): Don't look past buffer_limit.
1775 (s_include): In MRI mode, skip characters after the file name.
1776
1777 Mon Oct 2 16:15:27 1995 Ian Lance Taylor <ian@cygnus.com>
1778
1779 * config/m68k-parse.y (m68k_reg_parse): In MRI mode, permit
1780 periods in register names.
1781
1782 For older changes see ChangeLog.1.