NCR changes
[deliverable/binutils-gdb.git] / gas / ChangeLog
CommitLineData
326b087c
JL
1Fri Sep 15 21:39:29 1995 Jeff Law (law@snake.cs.utah.edu)
2
3 * config/tc-m68k.c: Change some "CONST" references to "const".
4
d069ef6f
KR
5Fri Sep 15 17:27:41 1995 Ken Raeburn <raeburn@cygnus.com>
6
7 Tue Sep 12 17:08:23 1995 Pat Rankin <rankin@eql.caltech.edu>
8
9 * config/obj-vms.c (VMS_stab_parse): simplify first loop;
10 use S_GET_NAME/modify/S_SET_NAME sequence instead of abusing
11 S_GET_NAME when updating symbol name.
12 (local_symbols_DST): first prefix/postfix typo from July 21st.
13 [plus comment reformatting --kr]
14
f00f5ecd
ILT
15Wed Sep 13 12:33:03 1995 Ian Lance Taylor <ian@cygnus.com>
16
5f757edc
ILT
17 * Makefile.in (EXPECT): New variable.
18 (CHECKFLAGS): Remove.
19 (site.exp): New target.
20 (check): Rewrite to invoke runtest directly, rather than recurring
21 down into testsuite.
22 (clean-here): Remove testsuite directory.
23 (clean, distclean): Don't recur into testsuite.
24 * configure.in: Don't call AC_CONFIG_SUBDIRS(testsuite).
25 * configure: Rebuild.
26
f00f5ecd
ILT
27 * write.c (relax_and_size_seg): Change to the segment we are
28 relaxing, in case md_convert_frag, called by cvt_frag_to_fill,
29 wants to call fix_new.
30 * config/tc-m68k.c (m68k_ip): Permit PC relative code if the
31 segment of the symbol is the current segment, not just in
32 text_section.
33 (md_convert_frag_1): Don't call subseg_change.
34 (md_estimate_size_before_relax): Likewise.
35
58a4f585
DE
36Tue Sep 12 10:36:40 1995 Doug Evans <dje@canuck.cygnus.com>
37
38 * config/tc-arm.c (md_atof): Fix debugging printf, and leave it
39 out by default.
40
e325f98f
ILT
41Mon Sep 11 11:39:11 1995 Ian Lance Taylor <ian@cygnus.com>
42
812e4a9b
ILT
43 * doc/configure.in: Remove unused file.
44
33bd5d61
ILT
45 * app.c (do_scrub_chars): Grab all available spaces at start of
46 line before preserving a single space. Remove state == 0 test
47 which will never succeed.
48 * macro.c (macro_expand_body): Delete local variables from the
49 formal hash table.
50 (macro_expand): In MRI mode, stop when whitespace is seen in the
51 argument list.
52
e325f98f
ILT
53 * sb.c: Include "libiberty.h".
54 * macro.c: Likewise. Also include <stdlib.h> if it exists.
55
1359db1b
ILT
56Fri Sep 8 00:27:46 1995 Ian Lance Taylor <ian@cygnus.com>
57
92a25e12
ILT
58 * app.c (do_scrub_chars): In MRI mode, keep a space before a
59 possible comment character.
60 * config/tc-m68k.c (m68k_ip): In MRI mode, ignore anything after
61 an instruction which takes no operands.
62
138b11d8
ILT
63 * Makefile.in (install): Don't install gasp in $(tooldir).
64
ee14a559
ILT
65 * config/tc-mips.c (macro): Handle a non zero base register for
66 M_U{L,S}{D,W,H}_A.
67
1359db1b
ILT
68 * gasp.c (show_usage): Put program_name argument in first fprintf,
69 not second.
70
94a73122
ILT
71Thu Sep 7 12:33:58 1995 Ian Lance Taylor <ian@cygnus.com>
72
3dce804d
ILT
73 * expr.c (operand): Handle 08 and 09 in MRI mode.
74 * macro.c (ISSEP): Remove duplicated `"' character.
75 (get_any_string): Copy some characters for which ISSEP is true:
76 ';', '>', '(', ')'. Otherwise we can get in an infinite loop.
77 * read.c (s_space): In MRI mode, the expressions stop at the first
78 unquoted space.
79 (cons_worker): In MRI mode, restore the terminating character at
80 the end of the function.
81
94a73122
ILT
82 * read.c (cons_worker): Don't use #elif; old compilers don't
83 support it.
84
86038ada
ILT
85Wed Sep 6 21:13:06 1995 Ian Lance Taylor <ian@cygnus.com>
86
87 * app.c (do_scrub_chars): In MRI mode, silently end quoted strings
88 at newline characters. In MRI mode, always keep spaces in the
89 operands field. In MRI mode, treat a line comment character as a
90 regular comment character following a space.
91 * cond.c (ignore_input): Use strncasecmp rather than strncmp when
92 looking for special pseudo-ops.
93 * read.c (cons_worker): In MRI mode, the expressions stop at the
94 first unquoted space.
95 (equals): Likewise.
96
97start-sanitize-sh3e
98Wed Sep 6 15:03:53 1995 Jim Wilson <wilson@chestnut.cygnus.com>
99
100 * config/tc-sh.c (get_operands): Read third arg if it exists.
101 Otherwise, clear it.
102 (get_specific, case F_FR0): Add.
103
104end-sanitize-sh3e
105Wed Sep 6 15:03:53 1995 Jim Wilson <wilson@chestnut.cygnus.com>
106
107 * config/tc-sh.c (get_specific): Delete arg_to_test.
108 (md_assemble): Increase operand array from 2 to 3.
109
dcf62f73
SS
110Tue Sep 5 16:47:36 1995 Stan Shebs <shebs@andros.cygnus.com>
111
112 * config/tc-mips.c: Remove CYGNUS LOCAL comments.
113 (md_begin): Use 0/1 instead of TRUE/FALSE.
114 (md_show_usage): Break up long format string for the benefit
115 of lame compilers.
116 * config/tc-m68k.c (md_show_usage): Ditto.
117 * gasp.c (show_usage): Ditto.
118 * macro.c (check_macro): Cast result of hash_find.
119
0ee48708
KR
120Tue Sep 5 14:46:38 1995 Ken Raeburn <raeburn@cygnus.com>
121
122 * configure.in: When testing for a free() declaration in system
123 header files, cast the address to a function pointer, not to an
124 integer.
125
126 * write.c (fix_new_internal): Call TC_INIT_FIX_DATA if TC_FIX_TYPE
127 is defined. Don't initialize fx_bsr. Verify that fx_size field
128 is wide enough to hold stored value.
129 * write.h (struct fix): Change tc_fix_data to type TC_FIX_TYPE if
130 that is defined, otherwise omit it. Delete fx_bsr. Change
131 fx_size to unsigned char.
132 * config/tc-i960.h (TC_FIX_TYPE, fx_bsr, TC_INIT_FIX_DATA): New
133 macros.
134 * config/tc-ns32k.h (TC_FIX_TYPE, fx_bsr, TC_INIT_FIX_DATA): New
135 macros.
136 * config/tc-hppa.h (TC_FIX_TYPE): Define as PTR.
137
138 * config/tc-i860.c (md_apply_fix): Delete code for checking
139 fx_im_disp, and for handling non-zero values, since it never gets
140 set after being initialized to zero.
141
142 * write.h (struct fix): Make fx_im_disp always 2 bits, since the
143 only tc-* files actually using it need that much.
144
145 NS32K changes from Ian Dall:
146 * configure.in: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
147 ns32k-pc532-lites* like ns32k-pc532-netbsd*.
148 * config/tc-ns32k.h (LOCAL_LABELS_FB): Define to 1.
149
150Fri Sep 1 17:02:15 1995 steve chamberlain <sac@slash.cygnus.com>
151
152 * write.c (fixup_segment): Get TC_FORCE_RELOCATION up the
153 right way!
154
8343d9d8
JSC
155Fri Sep 1 08:20:19 1995 James G. Smith <jsmith@beauty.cygnus.com>
156
157 * config/tc-mips.c (md_parse_option, md_begin, md_show_usage):
158 Add support for "-mcpu=vr4300" as processor identifier.
159
305a3af6
SC
160Thu Aug 31 16:41:06 1995 steve chamberlain <sac@slash.cygnus.com>
161
162 * write.c (fixup_segment): Remove change of 29th.
163 * config/tc-{i386,arm}.h (TC_FORCE_RELOCATION): Keep RVA relocs.
164
f2f232cd
ILT
165Tue Aug 29 19:42:58 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
166
167 * config/tc-m68k.c (m68k_ip) [case POST/PRE/BASE]: Fix typo when
168 looking at outer displacement. Don't set the postindex bit if the
169 index suppress bit is set (for memory indirect addressing mode).
170
7408a167
DE
171Thu Aug 31 06:49:37 1995 Doug Evans <dje@canuck.cygnus.com>
172
173 * config/tc-arm.c (tc_gen_reloc): Delete duplicated code.
174
ebcb9b6d
ILT
175Wed Aug 30 23:51:57 1995 Ian Lance Taylor <ian@cygnus.com>
176
177 * app.c (do_scrub_chars): Free saved_input when the from buffer
178 exactly fills the to buffer.
179
93dea4e6
DE
180Wed Aug 30 13:46:39 1995 Doug Evans <dje@canuck.cygnus.com>
181
182 * config/tc-sparc.c (parse_keyword_arg, parse_const_expr_arg): New fns.
183 (sparc_ip): Call them for asi, membar, and prefetch parsing.
184
593d18d3
DE
185Tue Aug 29 15:45:37 1995 Doug Evans <dje@canuck.cygnus.com>
186
93dea4e6
DE
187 * config/tc-sparc.c (membar_masks): Deleted.
188 (sparc_ip): Clean up ASI and membar support.
593d18d3 189
8c5560f2
SC
190Tue Aug 29 13:20:27 1995 steve chamberlain <sac@slash.cygnus.com>
191
192 * read.c (potable): Rva is new entry.
193 (cons_worker): New, split from cons. Handles rva.
194 (cons, s_rva): Call cons_worker.
195 * read.h (s_rva): New declaration.
196 * write.c (fixup_segment): Don't throw away rva relocs.
197 * config/tc-arm.c (md_apply_fix, tc_gen_reloc): Handle RVA.
198 * config/tc-i386.c (tc_coff_fix2type): Handle RVA.
199 * config/tc-i386.h (TC_COUNT_RELOC): Remember RVAs.
200 (TC_RVA_RELOC): New definition.
201
338a7060
DE
202Sun Aug 27 17:41:05 1995 Doug Evans <dje@canuck.cygnus.com>
203
204 * config/tc-arm.c (do_swi): Allow optional leading '#'.
205
26743df5
ILT
206Sat Aug 26 17:24:20 1995 Ian Lance Taylor (ian@cygnus.com)
207
338a7060
DE
208 * config/tc-m68k.c (comment_chars): If TE_DELTA is defined,
209 include '#'.
210 * config/tc-m68k.h (NO_PSEUDO_DOT): Define if TE_DELTA is
211 defined.
212
d634f0a8
ILT
213 * config/te-delta.h: Include obj-format.h.
214 * config/te-sco386.h: Likewise.
215 * config/te-sysv32.h: Likewise.
216
26743df5
ILT
217 * app.c (scrub_file): Remove.
218 (scrub_from_file, scrub_to_file): Remove.
219 (scrub_string, scrub_last_string): Remove.
220 (scrub_from_string, scrub_to_string): Remove.
221 (saved_input, saved_input_len): New static variables.
222 (struct app_saved): Remove scrub_string, scrub_last_string, and
223 scrub_file fields. Add saved_input and saved_input_len fields.
224 (app_push): Adjust saved fields for changes in struct app_save.
225 Initialize state and saved_input.
226 (app_pop): Adjust saved fields for changes in struct app_save.
227 (do_scrub_chars): Rename from do_scrub_next_char and rewrite to
228 process a buffer at a time rather than a character at a time.
229 (main, as_warn): Remove obsolete testing code.
230 * as.h (do_scrub_next_char): Don't declare.
231 (do_scrub_chars): Declare.
232 (scrub_from_file, scrub_from_string): Don't declare.
233 (scrub_to_file, scrub_to_string): Don't declare.
234 * input-file.c (input_file_get): New static function.
235 (input_file_give_next_buffer): Call do_scrub_chars rather than
236 do_scrub_next_char.
237 * read.c (scrub_string, scrub_string_end): New static variables.
238 (scrub_from_string): New static function.
239 (read_a_source_file): Call do_scrub_chars rather than
240 do_scrub_next_char.
241
791ee519
ILT
242Thu Aug 24 18:50:19 1995 Ian Lance Taylor (ian@cygnus.com)
243
69cc18d2
ILT
244 * gasp.c (as_abort): New function.
245 * sb.c (sb_build): Revert yesterday's patch.
246
791ee519
ILT
247 * Makefile.in (gasp.new): Depend upon ../libiberty/libiberty.a.
248 Just link against libiberty, not against $(LIBS).
249
bd362162
ILT
250Wed Aug 23 15:18:20 1995 Ian Lance Taylor (ian@cygnus.com)
251
252 * sb.c (sb_build): Undefine abort before calling it, since gasp
253 does not provide as_abort.
254
6d93b96e
MM
255Wed Aug 23 10:40:41 1995 Michael Meissner <meissner@tiktok.cygnus.com>
256
257 * config/tc-ppc.c (set_target_endian): New static to say whether
258 we've initialized target_big_endian or not.
259 (md_parse_option): Set set_target_endian if we set the variable
260 target_big_endian.
261 (md_begin): Only set target_big_endian if !set_target_endian.
262
53499500
KR
263Tue Aug 22 03:00:33 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
264
265 Sat Aug 19 18:08:16 1995 Pat Rankin <rankin@eql.caltech.edu>
266
267 * config/obj-vms.h (DST_S_C_SRC_SETREC_W, DST_S_C_SRC_DEFLINES_B):
268 New macros.
269 * config/obj-vms.c (VMS_TBT_Line_PC_Correlation,
270 VMS_TBT_Source_Lines): Make traceback info be robust enough to
271 handle huge source files.
272 (VMS_TBT_Source_File): Reorganize the native- vs cross-assembly
273 support so that actual object file output is clearer.
274 (VMS_TBT_Source_File: Fab, Nam, Date_Xab, File_Header_Xab):
275 Replace static variables with automatic ones.
276
277 Sat Aug 12 20:18:15 1995 Pat Rankin <rankin@eql.caltech.edu>
278
279 * config/obj-vms.c (Module_Name): new file scope variable.
280 (VMS_TBT_Module_Begin): use it instead of local variable.
281 (Write_VMS_MHD_Records): ditto; assign its value here.
282 (Write_VMS_EOM_Record): second argument has type valueT.
283 (VMS_Initialized_Data_Size): simplify search loop; return
284 type is offsetT; second argument is unsigned.
285
06997b9a
KR
286 Sat Jun 17 19:05:25 1995 Pat Rankin (rankin@eql.caltech.edu)
287
288 * messages.c (as_perror): Use xstrerror instead of strerror.
289
7e047ac2
ILT
290Mon Aug 21 13:57:20 1995 Ian Lance Taylor <ian@cygnus.com>
291
a5e03353
ILT
292 * as.c (parse_args): Accept --defsym SYM=VALUE.
293 * doc/as.texinfo, doc/as.1: Document --defsym.
294
295 * read.c (read_a_source_file): In MRI mode, don't end the
296 statement inside a quotation.
297 (s_space): Don't warn about a zero repeat count in MRI mode.
298 * config/tc-m68k.c (crack_operand): In MRI mode, don't count
299 parentheses inside quotes.
300 (md_assemble): In MRI mode, anything after the operands field is a
301 comment.
302 (parse_mri_control_operand): Adjust start and stop to remove
303 spaces.
304 (s_mri_for): Likewise.
305
306 * cond.c (s_ifdef): Restore the character after the symbol name,
307 in case it is a newline.
308 (s_if): If ignoring the current tree, don't try to parse the
309 expression.
310
311 * app.c (do_scrub_next_char): If LEX_IS_STRINGQUOTE or
312 LEX_IS_ONECHAR_QUOTE is seen in state 10, preserve one space.
313
95074dc3
ILT
314 * doc/as.texinfo: Document irp, irpc, macro, and rept. MRI mode
315 now supports macros, ifc, ifnc, irp, irpc, rept, and endr, without
316 using gasp.
317
7e047ac2
ILT
318 Add support for macros.
319 * as.c: Include sb.h and macro.h.
320 (max_macro_next): New global variable.
321 (main): Call macro_init.
322 (macro_expr): New static function.
323 * as.h (max_macro_nest): Declare.
324 * read.c (line_label): Rename from mri_line_label. Change all
325 uses.
326 (potable): Add exitm, irp, irpc, macro, mexit, rept.
327 (read_a_source_file): Always clear line_label at the start of a
a5e03353 328 line, not just when flag_mri or LABELS_WITHOUT_COLONS. Fix
7e047ac2
ILT
329 MRI/LABELS_WITHOUT_COLONS handling. In MRI mode, permit label:
330 equ val. Set line_label when calling colon. In MRI mode, a
331 leading '.' does not imply a pseudo-op. Check for macro expansion
332 before calling md_assemble.
333 (s_irp): New function.
334 (get_line_sb): New static function.
335 (s_macro): New function.
336 (s_mexit): New function.
337 (s_rept): New function.
338 * read.h (line_label): Rename from mri_line_label.
339 (s_irp, s_rept): Declare.
340 (s_macro, s_mexit): Declare.
341 * input-scrub.c: Include sb.h.
342 (sb_index, from_sb): New static variables.
343 (macro_nest): New static variable.
344 (struct input_save): Add sb_index and from_sb fields. Change
345 next_saved_file field to be struct input_save *.
346 (next_saved_file): Changed to be struct input_save *.
347 (input_scrub_push): Change to return type struct input_save *.
348 Save sb_index and from_sb.
349 (input_scrub_pop): Change parameter type to struct input_save *.
350 Restore sb_index and from_sb.
351 (input_scrub_include_sb): New function.
352 (input_scrub_next_buffer): Handle reading from from_sb.
353 (bump_line_counters): Only increment lines if not using from_sb.
354 * config/tc-m68k.c (opt_table): Add nest.
355 (opt_nest): New static function.
356 * gasp.c: Include sb.h and macro.h. Move all sb related functions
357 and definitions to sb.h and sb.c. Move all macro related
358 functions and definitions to macro.h and macro.c.
359 * sb.h, sb.c: New files, extracted from gasp.c.
360 * macro.h, macro.c: Likewise.
361 * Makefile.in (OBJS): Add sb.o and macro.o
362 (GASPOBJS): Define.
363 (gasp.new): Depend upon $(GASPOBJS). Use $(GASPOBJS) to link.
364 (TARG_CPU_DEP_m68k): Depend upon subsegs.h.
365 (gasp.o): Depend upon sb.h and macro.h.
366 (sb.o): New target.
367 (macro.o): New target.
368 (as.o): Depend upon sb.h and macro.h.
369 (input-scrub.o): Depend upon sb.h.
370 (read.o): Depend upon sb.h and macro.h.
371
372 * cond.c (get_mri_string): New static function.
373 (s_ifc): New function.
374 * read.c (potable): Add ifc and ifnc.
375 * read.h (s_ifc): Declare.
376
377 * app.c (do_scrub_begin): In MRI mode, set lex of ' to
378 LEX_IS_STRINGQUOTE.
379
840886d8
MM
380Mon Aug 21 13:41:33 1995 Michael Meissner <meissner@cygnus.com>
381
382 * config/tc-ppc.c (md_assemble): Allow @HA, @L, and @H suffixes on
383 constant expressions.
384
c2d8063d
JW
385Sun Aug 20 15:54:37 1995 Jim Wilson <wilson@cygnus.com>
386
387 * config/tc-arm.c (md_reloc_size): Add const to declaration.
388
b4ec75e0
ILT
389Fri Aug 18 10:58:09 1995 Ian Lance Taylor <ian@cygnus.com>
390
ca232972
ILT
391 * read.c (s_include): In MRI mode, don't expect quotes around the
392 file name.
393 * listing.c (listing_title): Don't require the title to be quoted.
394
f8d6e6cd
ILT
395 * gasp.c (include_print_where_line): Always subtract 1 from
396 linecount before printing it.
397 (process_file): In MRI mode, lines beginning with '*' or '!' are
398 comments.
399 (do_reg): In MRI mode, don't require parentheses.
400 (do_include): In MRI mode, don't requires quotes. If the file can
401 not be found in the include path, try opening it in the current
402 directory. Print the file name correctly in the error message.
403 (chartype_init): In MRI mode, set FIRSTBIT for '.'.
404 (main): Set comment_char to ';' when entering MRI mode.
405
b4ec75e0
ILT
406 * config/tc-m68k.c: Include subsegs.h.
407 (m68k_ip): Pass 64 rather than -1 to add_Fix in 'B' 'B' case.
408 (md_pcrel_from): If fx_pcrel_adjust is 64, use -1 instead.
409
410 * config/tc-sparc.h (tc_fix_adjustable): For OBJ_AOUT case, adjust
411 BFD_RELOC_16 and BFD_RELOC_32 relocs.
412
58bd5f50
KR
413Wed Aug 16 14:48:44 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
414
415 * as.h (alloca): Use void* declaration on HP/UX.
416
d86e4acb
ILT
417Wed Aug 16 12:49:17 1995 Ian Lance Taylor <ian@cygnus.com>
418
4c67b523
ILT
419 * config/tc-sparc.c (tc_gen_reloc): If PIC, only change PCREL_S2
420 to WPLT30 for an undefined or external symbol. Don't consider
421 PC10 or PC22 to be a PC relative reloc when choosing between
422 fx_addnumber and fx_offset.
423
4decdd56
ILT
424 * config/tc-z8k.c (md_number_to_chars): Don't do it here, call
425 number_to_chars_bigendian.
426 * config/tc-z8k.h (TARGET_BYTES_BIG_ENDIAN): Define.
427
d86e4acb
ILT
428 * expr.c (operand): Add support for .startof. and .sizeof. by
429 using magic symbol names which the linker will recognize
430 specially.
431 * doc/as.texinfo: Take out note that .startof. and .sizeof. are
432 not supported.
433
434Tue Aug 15 15:08:49 1995 Ian Lance Taylor <ian@cygnus.com>
435
436 * config/tc-m68k.c (md_pseudo_table): Add MRI structured control
437 directives: if, if.b, if.w, if.l, else, else.s, else.l, endi,
438 break, break.s, break.l, next, next.s, next.l, for, for.b, for.w,
439 for.l, endf, repeat, until, until.b, until.w, until.l, while,
440 while.b, while.w, while.l, endw.
441 (enum mri_control_type): Define.
442 (struct mri_control_info): Define.
443 (mri_control_stack): New static variable.
444 (mri_control_index): New static variable.
445 (mri_control_label): New static function.
446 (push_mri_control, pop_mri_control): New static functions.
447 (parse_mri_condition): New static function.
448 (parse_mri_control_operand): New static function.
449 (swap_mri_condition, reverse_mri_condition): New static functions.
450 (build_mri_control_operand): New static function.
451 (parse_mri_control_expression): New static function.
452 (s_mri_if, s_mri_else, s_mri_endi): New static functions.
453 (s_mri_break, s_mri_next): New static functions.
454 (s_mri_for, s_mri_endf): New static functions.
455 (s_mri_repeat, s_mri_until): New static functions.
456 (s_mri_while, s_mri_endw): New static functions.
457 * gasp.c (mrikinfo): Remove IF.
458 * expr.c (get_symbol_end): Accept \001 as part of a name.
459
460 * symbols.c (colon): Change parameter to const char *.
461 * symbols.h (colon): Update declaration.
462
8513c953
KR
463Mon Aug 14 20:51:56 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
464
465 * write.c (write_contents): Always do it the BFD_FAST_SECTION_FILL
466 way. Reformat and reindent that code to GNU standards.
467 (BFD_FAST_SECTION_FILL): Don't define.
468
b96c75f0
JL
469Mon Aug 14 14:08:07 1995 Jeff Law (law@snake.cs.utah.edu)
470
471 * config/tc-hppa.c (md_apply_fix): Don't try to apply BEGIN_BRTAB
472 or END_BRTAB fixups.
473
7f5adcba
ILT
474Mon Aug 14 15:45:07 1995 Ian Lance Taylor <ian@cygnus.com>
475
e15126c4
ILT
476 * gasp.c (do_align, get_any_string): Mark as static.
477 (do_assigna, do_assignc, new_file): Likewise.
478
8e11ad0a
ILT
479 * config/tc-m68k.c (s_reg): Rename local op to rop to avoid
480 confusion with macro op.
481
7f5adcba
ILT
482 * gasp.c (strip_comments): Comment out; it's not used.
483 (do_end): Add parameter. In MRI mode, print it out.
484 (do_irp): New static function.
485 (sub_actual): Change parameter m to formal_hash, changing type
486 from macro_entryh * to hash_table *.
487 (macro_expand_body): New static function, broken out of
488 macro_expand.
489 (macro_expand): Call macro_expand_body.
490 (K_*): Fully parenthesize.
491 (K_IRP, K_IRPC): Define.
492 (mrikinfo): Add IRP and IRPC.
493 (process_pseudo_op): In MRI mode, print out END pseudo-op. Pass
494 line to do_end. Handle K_IRP and K_IRPC.
495
496 * config/tc-m68k.c (s_opt): Reset *input_line_pointer even if we
497 don't do anything with the option.
498
5c800455
ILT
499Sun Aug 13 17:03:58 1995 Ian Lance Taylor <ian@cygnus.com>
500
501 * frags.c (frag_align): Handle absolute_section.
502 * write.c (record_alignment): Likewise.
503
504 * config/tc-mips.c (macro_build): Skip insns with an inappropriate
505 ISA level.
506
5ae218df
JL
507Sun Aug 13 00:35:02 1995 Jeff Law (law@snake.cs.utah.edu)
508
509 * config/tc-hppa.c (md_pseudo_table): Add entries for
510 "begin_brtab" and "end_brtab" pseudo-ops.
511 (pa_brtab): New function.
512 (tc_gen_reloc, SOM version): Handle R_BEGIN_BRTAB and R_END_BRTAB.
513 (hppa_force_relocation): Force relocations for BRTAB fixups
514 when OBJ_SOM is defined.
515
3d0f4446
KR
516Fri Aug 11 20:34:05 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
517
518 * Makefile.in (TE_OBJS): Add empty definition.
519
19be7c08
ILT
520Fri Aug 11 19:16:08 1995 Ian Lance Taylor <ian@cygnus.com>
521
522 * gasp.c (change_base): Don't treat ' specially in MRI mode.
523 (process_file): Don't warn about missing END in MRI mode.
524 (do_if): New static function.
525 (get_mri_string, do_ifc): New static functions.
526 (buffer_and_nest): Treat MRI mode like alternate syntax mode.
527 (do_aendr): Change error message in MRI mode.
528 (do_arepeat): Use REPT/ENDR in MRI mode.
529 (do_formals): In MRI mode, add special NARG formal.
530 (macro_expand): Various changes for MRI mode: permit a qualifier
531 on the macro name; set special NARG formal; permit unnamed
532 positional arguments; use && to concatenate named parameters;
533 permit \d to specify an unnamed parameter; permit named parameters
534 to not start with \; use == to see if a parameter exists.
535 (getstring): In MRI mode, allow <> to quote a string.
536 (K_IFEQ, K_IFNE, K_IFLT, K_IFLE, K_IFGE, K_IFGT): Define.
537 (K_IFC, K_IFNC): Define.
538 (struct keyword): Name structure used in kinfo array.
539 (mrikinfo): New static array.
540 (process_pseudo_op): Don't require leading '.' in MRI mode.
541 Handle new MRI pseudo-op definitions.
542 (add_keyword): New static function, broken out of process_init.
543 (process_init): Use add_keyword. In MRI mode, add mrikinfo table.
544 (long_options): Add "mri".
545 (show_usage): Mention -M/--mri.
546 (main): Call process_init after processing arguments. Handle -M.
547 * doc/gasp.texi: Document -M/--mri.
548
549 * gasp.c: Include ansidecl.h. Make all local functions static.
550 Add prototypes for all static functions.
551 (mri): New global variable.
552 (sb_add_char): Change parameter c from char to int.
553 (sb_add_string): Make parameter s into a const pointer.
554 (sb_add_buffer): Likewise.
555 (checkconst): Change parameter op from char to int.
556 (exp_get_abs): Make parameter emsg into a const pointer.
557 (do_res): Change parameter type from char to int.
558 (buffer_and_nest): Make parameters from and to into const
559 pointers.
560 (do_sdata): Change parameter type from char to int.
561 (new_file): Make parameter name into a const pointer.
562 (do_define): Make parameter string into a const pointer.
563
4decdd56 564 * config/tc-h8300.c (md_number_to_chars): Don't do it here, call
19be7c08
ILT
565 number_to_chars_bigendian.
566 * config/tc-h8300.h (TARGET_BYTES_BIG_ENDIAN): Define.
567
c7d7eed0
MM
568Fri Aug 11 13:23:56 1995 Michael Meissner <meissner@cygnus.com>
569
570 * write.h (struct fix): Add new field fx_no_overflow.
571
572 * write.c (fixup_segment): If fx_no_overflow is non-zero, don't
573 complain if the addend is too large.
574
575 * config/tc-ppc.c (md_assemble): Set fx_no_overflow if the half
576 word relocations BFD_RELOC_{LO16,HI16,HI16_S}.
577
12a065ee
KR
578Thu Aug 10 20:56:38 1995 Ken Raeburn <raeburn@cygnus.com>
579
580 * read.c (s_mri_sect) [BFD_ASSEMBLER]: Fix typos in choosing and
581 setting section flags.
582
a920b693
ILT
583Thu Aug 10 00:38:11 1995 Ian Lance Taylor <ian@cygnus.com>
584
79e15b8a
ILT
585 * doc/as.texinfo: Add documentation for MRI compatibility mode.
586 * doc/as.1: Likewise.
587
336435bc
ILT
588 * config/tc-m68k.c (m68k_ip): When recognizing '#', use isbyte and
589 iword rather than expr8 and expr16. When recognizing 'M', use
590 issbyte rather than expr8. When recognizing 'Q' and 't', just
591 check for O_constant rather than using expr8.
592 * config/m68k-parse.h (expr8, expr16): Don't define.
593 * Makefile.in (m68k-parse.o): Depend upon m68k-parse.h, not
594 m68k-parse.y.
595
e14994d9
ILT
596 * read.c (potable): Add spc, ttl, xcom, xref.
597 (s_mri_sect): New function.
598 * read.h (s_mri_sect): Declare.
599 * config/obj-coff.c (obj_coff_section) (both versions): In MRI
600 mode, call s_mri_sect.
601 (obj_pseudo_table): Add sect.s and section.s. Move sect outside
602 of ifndef BFD_ASSEMBLER.
603 * config/obj-elf.c (elf_pseudo_table): Add section.s, sect,
604 sect.s.
605 (obj_elf_section): In MRI mode, call s_mri_sect.
606 * config/tc-m68k.c (md_pseudo_table): Add restore, save.
607 (struct save_opts): Define.
608 (save_stack): New static variable.
609 (s_save, s_restore): New static functions.
610
a920b693
ILT
611 * read.c (s_set): Remove unused local ptr.
612 (hex_float): Check target_big_endian.
613 (equals): Remove unused local p.
e14994d9 614
a920b693
ILT
615 * config/tc-a29k.h (TARGET_BYTES_BIG_ENDIAN): Define.
616 * config/tc-h8500.h (TARGET_BYTES_BIG_ENDIAN): Define.
617 * config/tc-hppa.h (TARGET_BYTES_BIG_ENDIAN): Define.
618 * config/tc-i860.h (TARGET_BYTES_BIG_ENDIAN): Define.
619 * config/tc-m68k.h (TARGET_BYTES_BIG_ENDIAN): Define.
620 * config/tc-m88k.h (TARGET_BYTES_BIG_ENDIAN): Define.
621 * config/tc-tahoe.h (TARGET_BYTES_BIG_ENDIAN): Define.
622 * config/tc-sh.c (little): Set target_big_endian.
623 (md_begin): Likewise.
624 (md_parse_option): Likewise.
625 (build_relax): Check target_big_endian rather than shl.
626 (build_Mytes, md_atof): Likewise.
627 (md_convert_frag, md_apply_fix): Likewise.
628 (md_number_to_chars): Likewise.
629
286cb27a
ILT
630Wed Aug 9 10:51:48 1995 Ian Lance Taylor <ian@cygnus.com>
631
6700d36e
ILT
632 * config/tc-m68k.c (m68k_abspcadd): New static variable.
633 (m68k_quick): New static variable.
634 (m68k_rel32): New static variable.
635 (md_pseudo_table): Add opt and reg.
636 (m68k_ip): Permit absolute symbols in 'l'/'L' recognition. Check
637 m68k_quick in 'M' and 'Q' recognition. Check m68k_abspcadd in
638 DISP handling. Check m68k_rel32 in BASE/POST/PRE handling.
639 (md_begin): In MRI mode, initialize m68k_abspcadd and m68k_rel32.
640 In MRI mode, change unsized branch aliases to be variable sized.
641 (struct opt_action): Define.
642 (opt_table): Define.
643 (s_opt): New static function.
644 (skip_to_comma): New static function.
645 (opt_chip): New static function.
646 (opt_list): New static function.
647 (opt_list_symbols): New static function.
648 (s_reg): New static function.
649 * as.h (flag_keep_locals): Change from unsigned char to int.
650 (flag_no_warnings): Likewise.
651
652 * read.c (mri_line_label): Make non-static.
653 (potable): Add nopage, page, plen.
654 (s_org): Error if in MRI mode.
655 * read.h (mri_line_label): Declare.
656 * listing.c (listing_nopage): New function.
657 * listing.h (listing_nopage): Declare.
658
659 * symbols.c (symbol_begin): Set sy_frag of abs_symbol to
660 &zero_address_frag.
661
e28c40d7
ILT
662 * write.c (adjust_reloc_syms): Check that symbol is not NULL
663 before checking sy_mri_common.
664 (fixup_segment): Likewise.
665 * config/obj-coff.c (fixup_segment): Likewise.
666
667 * read.c (abs_section_offset): New global variable.
668 (potable): Add offset, struct.
669 (do_org): New static function; handle changing the origin in the
670 absolute section.
671 (s_org): Use do_org.
672 (s_set): Likewise.
673 (equals): Likewise.
674 (s_space): In absolute_section, just increase abs_section_offset.
675 (s_struct): New function.
676 (emit_expr): Handle absolute_section specially.
677 * read.h (abs_section_offset): Declare.
678 (s_struct): Declare.
679 * frags.c (frag_more): Warn if in absolute_section.
680 (frag_now_fix): In absolute_section, return abs_section_offset.
681 * subsegs.c (subseg_change): If switching to absolute_section,
682 just set now_seg and now_subseg.
683 (subseg_set_rest): Special handling when switching to or from
684 absolute_section.
685
686 * config/tc-m68k.c (m68k_float_copnum): New static variable.
687 (md_pseudo_table): Add fopt and mask2.
688 (m68k_ip): Use m68k_float_copnum, not COPNUM, when setting
689 coprocessor register to use. In case 'I' when checking operands,
690 correct coprocessor register numbers. In case 'I' when setting
691 operands, don't add 1.
692 (s_fopt): New static function.
693 * config/m68k-parse.h (COPNUM): Don't define.
694
695 * read.c (potable): Add ifeq, ifge, ifgt, ifle, iflt, ifne.
696 Change if to pass O_ne to s_if.
697 (read_a_source_file): Don't define an label without a colon if
698 ignore_input returns true.
699 * cond.c (s_if): Treat argument as an operatorT describing how to
700 compare the argument against zero.
701 (ignore_input): Don't require an initial dot in MRI mode, or if
702 NO_PSEUDO_DOT is defined.
703
704 * read.c (potable): Add dcb, dcb.b, dcb.d, dcb.l, dcb.s, dcb.w,
705 dcb.x, ds.d, ds.p, ds.s, ds.x, elsec, endc, fail, format, llen,
706 noformat.
707 (read_a_source_file): If pseudo-op handler is s_end, quit
708 immediately.
709 (s_end): New function.
710 (s_fail): New function.
711 (s_float_space): New function.
712 (hex_float): New static function.
713 (float_cons): Use hex_float.
714 * read.h (s_fail): Declare.
715 (s_float_space): Declare.
716 * cond.c (s_end): Remove.
717 * listing.c (listing_psize): Treat argument as indicating whether
718 a height is expected.
719
99ca35f1
ILT
720 * read.c (mri_pending_align): New static variable.
721 (read_a_source_file): Handle mri_pending_align.
722 (cons): Set mri_pending_align if appropriate.
723
286cb27a
ILT
724 * configure.in: Move random special target handling before
725 possible break.
726 * configure: Rebuild.
727
bf4bd1fc
ILT
728Tue Aug 8 23:41:25 1995 Alan Modra <alan@spri.levels.unisa.edu.au>
729
730 * configure.in: Consistently use ${target_cpu_type} rather than
731 ${cpu_type} after the loop.
732 * configure: Rebuild.
733 * Makefile.in (targ-cpu.o): Use @target_cpu_type@ rather than
734 @cpu_type@.
735
3b85367c
KR
736Tue Aug 8 17:27:17 1995 Ken Raeburn <raeburn@cygnus.com>
737
14d0c9fe
KR
738 * expr.h (operatorT): Remove comma after last enumerator value.
739
740 * config/obj-vms.c: Some whitespace cleanup from Pat Rankin.
bdc82d81 741
2e00287a
KR
742 * as.h (alloca): If __STDC__, declare void* instead of char*.
743
bdc82d81
KR
744 Wed Aug 2 18:54:37 1995 Pat Rankin <rankin@eql.caltech.edu>
745
746 * config/obj-vms.c (Flush_VMS_Object_Record_Buffer,
747 Close_VMS_Object_File): Reorganize the `#if !VMS' cross-assmebler
748 support code.
749 (Close_VMS_Object_File): Call Set_VMS_Object_File_Record to flush
750 output buffer--just in case--before closing the file.
751
48bfed03
ILT
752Tue Aug 8 13:07:05 1995 Ian Lance Taylor <ian@cygnus.com>
753
e9bb39b4
ILT
754 * config/tc-m68k.c (archs): Add 68ec000, 68hc000, 68hc001,
755 68ec020, 68ec030, 68ec040, and 68330.
756 (md_pseudo_table): Add chip and comline.
757 (m68k_init_after_args): Use strcasecmp when comparing default_cpu
758 against architectures.
759 (mri_chip, s_chip): New static functions.
760
1356d77d
ILT
761 * struc-symbol.h (struct symbol): Add sy_mri_common bit.
762 * read.h (mri_comon_symbol): Declare.
763 (s_mri_common): Declare.
764 * read.c (mri_line_label): New static variable.
765 (mri_common_symbol): New global variable.
766 (potable): Add "common" and "common.s".
767 (read_a_source_file): In MRI mode, set mri_line_label for a label
768 at the start of a line.
769 (s_mri_common): New function.
770 (s_space): Handle mri_common_symbol.
771 * symbols.c (colon): Change return value from void to symbolS *,
772 and return new symbol. If mri_common_symbol is set, attach the
773 new symbol to it.
774 (resolve_symbol_value): Handle an sy_mri_common symbol.
775 * symbols.h (colon): Change return value in declaration.
776 * subsegs.c (subseg_set_rest): Clear mri_common_symbol.
777 (subseg_set (both versions)): Likewise.
778 * frags.c (frag_more): Warn if mri_common_symbol is not NULL.
779 * write.c (adjust_reloc_syms): Skip sy_mri_common symbols.
780 (write_object_file): Discard sy_mri_common symbols.
781 (fixup_segment): Change relocations against sy_mri_common symbols
782 to be against the common symbol itself.
783 * config/obj-coff.c (yank_symbols): Discard sy_mri_common symbols.
784 (fixup_segment): Change relocations against sy_mri_common symbols
785 to be against the common symbol itself.
786 * config/obj-aout.c (obj_crawl_symbol_chain): Discard
787 sy_mri_common symbols.
788
c266c384
ILT
789 * doc/c-m68k.texi: Add documentation for CPU specific options, and
790 for Motorola syntax.
791
48bfed03
ILT
792 * config/m68k-parse.y (motorola_operand): For (%pc), set mode to
793 DISP, not BASE.
794
d4083e29
KR
795Tue Aug 8 02:31:38 1995 Ken Raeburn <raeburn@cygnus.com>
796
797 * write.c (relax_align): Add extra padding for linkrelax only if
798 LINKER_RELAXING_SHRINKS_ONLY is defined.
799 * config/tc-i960.h (LINKER_RELAXING_SHRINKS_ONLY): Define it.
800 * doc/internals.texi (Relaxation): Write up some stuff on linker
801 relaxing and LINKER_RELAXING_SHRINKS_ONLY.
802
a1c7c0f3
ILT
803Mon Aug 7 17:18:10 1995 Ian Lance Taylor <ian@cygnus.com>
804
805 * config/m68k-parse.y: New file: bison grammar for m68k operands,
806 including support for Motorola syntax.
807 * config/m68k-parse.h: New file; definitions shared between
808 m68k-parse.y and tc-m68k.c.
809 * config/tc-m68k.c: Include m68k-parse.h.
810 (enum operand_type): Move to m68k-parse.h, where it is named
811 m68k_operand_type. Rename all uses. Rearrange somewhat. Add
812 FPREG. Rename AOFF to DISP. Rename AINDX to BASE. Rename APODX
813 to POST. Rename APRDX to PRE. Remove AMIND. Rename MSCR to
814 CONTROL. Remove DINDR.
815 (struct m68k_exp): Move to m68k-parse.h. Remove e_beg, e_end and
816 e_seg fields. Rename e_exp to exp. Rename e_siz to size, and
817 change type to enum m68k_size. Change all uses.
818 (enum _register): Move to m68k-parse.h, where it is named
819 m68k_register. Rename all uses. Add ZDATA0-7 and ZADDR0-7.
820 (struct m68k_op): Move to m68k-parse.h. Change all fields.
821 (seg): Don't define.
822 (add_exp): Remove.
823 (FAIL, OK): Remove.
824 (m68k_reg_parse): Move to m68k-parse.y, and rewrite.
825 (SKIP_WHITE, SKIP_W): Remove.
826 (try_moto_index, try_index): Remove.
827 (m68k_ip_op): Move to m68k-parse.y, and rewrite to use grammar.
828 (main): Remove obsolete test function.
829 (m68k_ip): Extensive changes to use new grammar.
830 (get_regs): Remove.
831 (crack_operand): m68k_ip_op now returns 0 on success.
832 (init_table): Add ssp, zd0-7 and za0-7.
833 (md_assemble): Make er const. Correct loop over operands when
834 looking for error message.
835 (md_begin): Set alt_notend_table for '(' and '@'.
836 (get_num): Expression is already parsed. Don't set seg.
837 * configure.in: If cpu_type is m68k, put m68k-parse.o in
838 extra-objects.
839 * configure: Rebuild.
840 * Makefile.in (DISTSTUFF): Add m68k-parse.c.
841 (BISON): Use ../bison/bison if it exists.
842 (BISONFLAGS): Define as empty.
843 (TARG_CPU_DEP_m68k): Depend upon $(srcdir)/config/m68k-parse.h.
844 (m68k-parse.c, m68k-parse.o): New targets.
845
68d04794
JL
846start-sanitize-sh3e
847Mon Aug 7 02:54:20 1995 Jeff Law (law@snake.cs.utah.edu)
848
849 * config/tc-sh.c (parse_reg): Handle new FP registers.
850 (get_specific): Handle new operand types.
851
852end-sanitize-sh3e
853Fri Aug 4 12:29:21 1995 Ian Lance Taylor <ian@cygnus.com>
854
855 * expr.c (op_encoding): Make non-const. Don't set '"' to
856 O_bit_not.
857 (expr_begin): Set op_encoding['"'] in MRI mode.
858
86b58ca2
ILT
859Wed Aug 2 18:39:43 1995 Ian Lance Taylor <ian@cygnus.com>
860
861 * config/tc-m68k.c: Remove BREAK_UP_BIG_DECL stuff.
862 (struct m68k_incant): Change m_operands field to be const.
863 (struct m68k_it): Change args field to be const.
864 (m68k_ip): Change local variable s to be const.
865 (opcode_ptr): Remove.
866 (md_begin): Use m68k_numopcodes, not numopcodes. Use
867 m68k_opcodes, not removed opcode_ptr. Use m68k_numaliases, not
868 numaliases.
869
219deb70
ILT
870Tue Aug 1 17:35:26 1995 Ian Lance Taylor <ian@cygnus.com>
871
872 * config/tc-m68k.c (init_table): Add "control", "status", "iaddr",
873 "sfcr", and "dfcr" as synonyms for existing entries.
874 (md_begin): In MRI mode, force flag_reg_prefix_optional to 1.
875 (md_parse_option): Removed unused locals i and arch. Change type
876 of arch (another one) to unsigned long.
877 (tc_coff_sizemachdep): Add return after abort to avoid warning.
878
879 Initial support for MRI style labels and expressions.
880 * as.h (flag_mri): Declare/define.
881 * as.c (show_usage): Mention -M and its synonym --mri.
882 (parse_args): Add 'M' to std_shortopts. Add "mri" to
883 std_longopts. Set flag_mri if -M is seen.
884 (main): Call parse_args before input_scrub_begin. Call
885 expr_begin.
886 * app.c (do_scrub_begin): Don't set lex for '"' or '\'' in MRI
887 mode. Do set lex for ';', '*', and '!' in MRI mode.
888 (do_scrub_next_char): Remove MRI ifdef in LEX_IS_WHITESPACE case.
889 In MRI mode, keep spaces between labels and colons. Remove MRI
890 ifndef around LEX_IS_ONECHAR_QUOTE case. In MRI mode, don't use
891 '!' or '*' as comment characters even if they are in
892 comment_chars.
893 * read.h (lex_type): No longer const.
894 * read.c: Include libiberty.h.
895 (lex_type): No longer const.
896 (read_begin): In MRI mode, set lex_type of '?' to 3.
897 (potable): Add dc, dc.b, dc.d, dc.l, dc.s, dc.w, dc.x, ds, ds.b,
898 ds.l, ds.w, and xdef.
899 (read_a_source_file): Change LABELS_WITHOUT_COLON ifdef to check
900 for MRI mode at runtime rather than compile time. Handle the EQU
901 pseudo-op in MRI mode. Remove bogus MRI ifdef around done_pseudo.
902 Change NO_PSEUDO_DOT ifdef to also take effect for MRI mode at
903 runtime.
904 (cons): In MRI mode, always call parse_mri_cons rather than
905 TC_PARSE_CONS_EXPRESSION.
906 (parse_mri_cons): Always compile, not just when MRI is defined.
907 Call TC_PARSE_CONS_EXPRESSION, not expression, when the input is
908 not a string constant. Handle A and E modifiers.
909 (float_cons): Accept :xxxx, where the x's are hex digits.
910 * expr.h (operatorT): Add O_eq, O_ne, O_lt, O_le, O_ge, O_gt.
911 (expr_begin): Declare.
912 * expr.c (integer_constant): In MRI mode, if the base was not
913 specified, look for a suffix on the number to set the base.
914 (mri_char_constant): New static function.
915 (operand): Remove MRI ifdef. In MRI mode, do various things: Pass
916 0 as the base when calling integer_constant if there was no
917 prefix. Check for a hex constant suffix if when a leading '0' is
918 seen. Don't accept 0x or 0b as a prefix. Check for E'chars' and
919 A'chars'. Handle MRI character constants. Treat '"' as the
920 unary bitwise not operator. Treat $ as the program counter, or as
921 the prefix for a hex constant. Treat % as the prefix for a binary
922 constant and @ as the prefix for an octal constant. Treat : as
923 the prefix for a hex constant.
924 (op_encoding): Set '"' to O_bit_not, '<' to O_lt, and '>' to O_gt.
925 (op_rank): No longer const. Change rank values.
926 (expr_begin): New function.
927 (operator): New static function.
928 (expr): Use operator. Don't bother to mention the operator in
929 warnings. Remove bogus #if 0 code. Handle new operatorT values.
930 * atof-generic.c (atof_generic): In MRI mode, accept underscores
931 around the exponent in floating point numbers.
932 * symbols.h (symbols_case_sensitive): Declare.
933 * symbols.c (symbols_case_sensitive): New global variable.
934 (symbol_create): Check symbols_case_sensitive.
935 (symbol_find_base): Likewise.
936 (resolve_symbol_value): Handle new operatorT values.
937 (print_expr_1): Likewise.
938 (S_IS_LOCAL): In MRI mode, names beginning with two '?' characters
939 are local.
940
b97bd7d1
SC
941Tue Aug 1 11:35:18 1995 steve chamberlain <sac@slash.cygnus.com>
942
943 * tc-sh.c (md_convert_frag): Make some error messages more
944 explict.
945
ac24997f
KR
946Mon Jul 31 21:40:47 1995 Ken Raeburn <raeburn@cygnus.com>
947
948 Sat Jul 29 18:55:23 1995 Pat Rankin <rankin@eql.caltech.edu>
949
950 * config/obj-vms.c (COPY_SHORT, COPY_LONG, PUT_SHORT, PUT_LONG):
951 Make expansion be safe for use in expressions.
952 (PUT_COUNTED_STRING): Bracket expansion with `do {...} while (0)'
953 rather than just `{...}'.
954
5f57cea3
SC
955Mon Jul 31 18:19:26 1995 steve chamberlain <sac@slash.cygnus.com>
956
4f2f3011
SC
957 * gasp.c (main): Parse -I option.
958 (do_include): Look through include list.
959 * gasp.c (change_base): Don't modify numbers in strings.
4f2f3011 960
f641906b
KR
961Mon Jul 31 12:16:21 1995 Ian Lance Taylor <ian@cygnus.com>
962
963 * config/tc-ppc.h (SUB_SEGMENT_ALIGN): Define. From Niclas
964 Andersson <nican@ida.liu.se>.
965
966Thu Jul 27 20:47:12 1995 Ken Raeburn <raeburn@cygnus.com>
967
968 * config/obj-coff.c (fixup_segment): Don't do further pcrel
969 processing after converting difference of two symbols in the
970 same segment. From Jim Wilson.
971
972 * configure.in (i386-*-linuxoldld): Add as synonym for
973 i386-*-linux*aout*. From Fred Fish.
974 * configure: Regenerated.
975
5700b874
KR
976Thu Jul 27 16:14:56 1995 Pat Rankin <rankin@eql.caltech.edu>
977
978 * config/obj-vms.c (enum ps_type {ps_TEXT,ps_DATA,ps_COMMON,
979 ps_CONST}): New constants.
980 (VMS_Psect_Spec): Use them instead of literal strings.
981 (vms_write_object_file, global_symbol_directory): Adjust callers.
982
983Wed Jul 26 18:31:35 1995 Pat Rankin <rankin@eql.caltech.edu>
984
985 * config/obj-vms.c (const_flag): Change from char to unsigned char.
986 * config/obj-vms.h (const_flag): Ditto.
987 (struct nlist): Replace union n_un and n_un.{n_name,n_next,n_strx}
988 fields with just n_name; delete field n_value; change n_other from
989 char to unsigned char and n_desc from short to int; insert explicit
990 padding for alignment.
991
a619d6d9
KR
992Mon Jul 24 20:06:17 1995 Ken Raeburn <raeburn@cygnus.com>
993
994 * subsegs.h (struct seg_info_trash): Make bitfield types valid.
995
996 * config/obj-coff.c (fixup_segment): Local add_number should not
997 be declared register since its address is taken for
998 MD_APPLY_FIX3.
999
5700b874
KR
1000 Fri Jul 21 15:28:18 1995 Pat Rankin <rankin@eql.caltech.edu>
1001
1002 Split huge vms_write_object_file routine into managable pieces.
1003
1004 * config/obj-vms.c (vms_fixup_text_section, synthesize_data_segment,
1005 vms_fixup_data_section, global_symbol_directory, local_symbols_DST,
1006 vms_build_DST): New routines.
1007 (vms_write_object_file): Call them.
1008 (struct vms_obj_state): New file scope variable used by the above.
1009
a91c6b08
ILT
1010Mon Jul 24 14:10:24 1995 Ian Lance Taylor <ian@cygnus.com>
1011
1012 * config/tc-sh.c (md_pseudo_table): Add "uses".
1013 (s_uses): New static function.
1014 (sh_coff_frob_file): New function.
1015 (md_convert_frag): Call subseg_change before calling fix_new.
1016 (sh_handle_align): New function.
1017 (SWITCH_TABLE): Define.
1018 (sh_force_relocation): New function.
1019 (md_apply_fix): Handle R_SH_USES, R_SH_COUNT and R_SH_ALIGN.
1020 (sh_coff_reloc_mangle): Likewise. Also handle switch table
1021 entries.
1022 * config/tc-sh.h (HANDLE_ALIGN): Define.
1023 (sh_handle_align): Declare.
1024 (TC_FORCE_RELOCATION): Define.
1025 (sh_force_relocation): Declare.
1026 (TC_COUNT_RELOC): Simplify; rely on TC_FORCE_RELOCATION instead.
1027 (tc_frob_file): Define.
1028 (sh_coff_frob_file): Declare.
1029 * config/obj-coff.c (write_object_file): Call tc_frob_file if it
1030 is defined.
1031 (fixup_mdeps): Call HANDLE_ALIGN if it is defined.
1032 (TC_FORCE_RELOCATION): Define if not defined.
1033 (fixup_segment): Use TC_FORCE_RELOCATION to decide whether to
1034 clear the symbol fields of fixP.
1035
1036Fri Jul 21 22:38:00 1995 Michael Meissner <meissner@cygnus.com>
1037
1038 * config/tc-ppc.c (ppc_elf_suffix): Add support for R_PPC_SDAREL
1039 relocation.
1040 (md_apply_fix3): Ditto.
1041
9d249d34
KR
1042Thu Jul 20 13:00:56 1995 Ken Raeburn <raeburn@cygnus.com>
1043
1044 * config/tc-m68k.c (md_convert_frag): Rename argument seg to sec,
1045 since seg is a macro name in this file.
1046
5a929558
KR
1047 * configure.in (arm-*-riscix*): Don't set emulation.
1048
d0ac7e70
DE
1049Wed Jul 19 16:08:29 1995 Doug Evans <dje@canuck.cygnus.com>
1050
1051 * config/obj-coff.h (TE_PE): Delete.
1052 * config/tc-arm.h (BYTE_ORDER): Delete.
1053 (TARGET_FORMAT): Provide value for OBJ_COFF and TE_PE.
1054 (ARM_BI_ENDIAN): Define if OBJ_COFF and TE_PE.
1055 * config/tc-arm.c (byte_order): Delete.
1056 (md_number_to_chars): Reference target_big_endian, not byte_order.
1057 (md_chars_to_number): Likewise.
1058 (md_longopts): Add -EB/-EL if ARM_BI_ENDIAN.
1059 (md_parse_options): Recognize -EB/-EL.
1060 (md_show_usage): List -EB/-EL.
1061
5f8cb05e
ILT
1062Wed Jul 19 11:49:25 1995 Ian Lance Taylor <ian@cygnus.com>
1063
fe98e22d
ILT
1064 * gasp.c (process_assigns): Use toupper before comparing against
1065 upper case letter.
1066 (whatcond): Likewise.
1067
5f8cb05e
ILT
1068 * config/tc-sh.c (sh_relax): Rename from relax, and make global.
1069 Renamed all uses.
1070 (insert): Pass a size of 2, not 4.
1071 (build_relax): Remove unused len variable.
1072 (md_show_usage): Mention -little option.
1073 (md_convert_frag): Add segT argument. Rewrite to generate relocs
1074 rather than to generate complete instructions here.
1075 (md_apply_fix): Adjust and clarify R_SH_PCRELIMM8BY4 case for
1076 changes in insert and md_pcrel_from. Add cases for R_SH_PCDISP
1077 and R_SH_PCDISP8BY2.
1078 (md_pcrel_from): Don't subtract 1, add 2.
1079 (tc_coff_fix2rtype): Remove.
1080 (sh_coff_reloc_mangle): New function.
1081 * config/tc-sh.h (TC_COFF_FIX2RTYPE): Just return fx_r_type.
1082 (sh_relax): Declare.
1083 (TC_COUNT_RELOC): If relaxing, count PC relative relocs.
1084 (TC_RELOC_MANGLE): Define.
1085 (sh_coff_reloc_mangle): Declare.
1086 (tc_coff_sizemachdep): Declare.
1087 * tc.h (md_convert_frag): Add segT parameter to non BFD_ASSEMBLER
1088 declaration.
1089 * write.c (cvt_frag_to_fill): Add sec argument to non
1090 BFD_ASSEMBLER version. Pass it to md_convert_frag.
1091 (write_object_file): Pass SEG_TEXT to cvs_frag_to_fill.
1092 * config/obj-coff.c (do_relocs_for): Pass segment info to
1093 TC_RELOC_MANGLE.
1094 (fixup_mdeps): Pass segment type to md_convert_frag.
1095 * config/tc-a29k.c (md_convert_frag): Add segT argument.
1096 * config/tc-h8300.c (md_convert_frag): Likewise.
1097 * config/tc-h8500.c (md_convert_frag): Likewise.
1098 * config/tc-i386.c (md_convert_frag): Likewise.
1099 * config/tc-i860.c (md_convert_frag): Likewise.
1100 * config/tc-i960.c (md_convert_frag): Likewise.
1101 * config/tc-m68k.c (md_convert_frag): Likewise.
1102 * config/tc-m88k.h (md_convert_frag): Likewise.
1103 * config/tc-ns32k.c (md_convert_frag): Likewise.
1104 * config/tc-rce.c (md_convert_frag): Likewise.
1105 * config/tc-tahoe.c (md_convert_frag): Likewise.
1106 * config/tc-vax.c (md_convert_frag): Likewise.
1107 * config/tc-w65.c (md_convert_frag): Likewise.
1108 * config/tc-z8k.c (md_convert_frag): Likewise.
1109 * config/tc-h8300.h (TC_RELOC_MANGLE): Add segment argument.
1110 * config/tc-h8500.h (TC_RELOC_MANGLE): Likewise.
1111 * config/tc-rce.h (TC_RELOC_MANGLE): Likewise.
1112 * config/tc-w65.h (TC_RELOC_MANGLE): Likewise.
1113 * config/tc-z8k.h (TC_RELOC_MANGLE): Likewise.
1114
1115Mon Jul 17 15:02:54 1995 Pat Rankin <rankin@eql.caltech.edu>
1116
1117 * config/obj-vms.c (Current_Routine, Text_Psect): Delete as file
1118 scope variables.
1119 (Define_Routine, Define_Local_Symbols): Take Current_Routine and
1120 Text_Psect as arguments.
1121 (VMS_DBG_Define_Routine): Delete.
1122 (VMS_TBT_Block_End): Change `Size' argument from int to valueT.
1123 (vms_write_object_file: text and data fixup loops): Difference
1124 of two symbols has type offsetT rather than int; convert with
1125 md_number_to_chars before passing to VMS_Store_Immediate_Data.
1126 (vms_write_object_file: debug symbol loop): Call Define_Routine
1127 instead of VMS_DBG_Define_Routine.
1128
fadd4ee1
MM
1129Sat Jul 15 00:01:35 1995 Michael Meissner <meissner@cygnus.com>
1130
1131 * config/tc-ppc.c (ppc_elf_suffix): Add @fixup so that the
1132 compiler can mark which relocs not to complain about with
1133 -mrelocatable.
1134 (ppc_elf_validate_fix): Add .fixup to sections not to complain
1135 about, and also don't complain for BFD_RELOC_CTOR relocations in
1136 writable non-code segments.
1137 (md_apply_fix): Treat BFD_RELOC_CTOR just like BFD_RELOC_32.
1138
88f4ab5f
ILT
1139Fri Jul 14 19:54:28 1995 Ian Lance Taylor <ian@cygnus.com>
1140
1141 Add support for SPARC SunOS PIC:
1142 * config/tc-sparc.h (sparc_pic_code): Always declare, not just
1143 when OBJ_ELF.
1144 (TC_RELOC_RTSYM_LOC_FIXUP): Define when OBJ_AOUT.
1145 (tc_fix_adjustable): New definition for OBJ_AOUT.
1146 * config/tc-sparc.c (sparc_pic_code): Always define, not just when
1147 OBJ_ELF.
1148 (md_apply_fix): Adjust reloc addend for OBJ_AOUT and PIC. In
1149 BFD_RELOC_32_PCREL_S2 case, don't increment val for an external
1150 symbol when PIC.
1151 (tc_gen_reloc): Generate different PIC relocs when OBJ_AOUT, as
1152 well as when OBJ_ELF.
1153 (md_shortopts): If OBJ_AOUT, include `k'.
1154 (md_parse_option): If OBJ_AOUT, handle 'k'.
1155 (md_show_usage): Mention -k if OBJ_AOUT, and -KPIC if OBJ_ELF.
1156 (md_pcrel_from): Don't add in size for an external symbol when
1157 PIC.
1158
403d21d2
DE
1159start-sanitize-arc
1160Fri Jul 14 10:26:43 1995 Doug Evans <dje@canuck.cygnus.com>
1161
1162 * config/tc-arc.c (byte_order): Provide explicit initial value.
1163end-sanitize-arc
1164
4575a69d
JL
1165Thu Jul 13 21:16:43 1995 Jeff Law (law@snake.cs.utah.edu)
1166
1167 * config/tc-hppa.h (UNDEFINED_DIFFERENCE_OK): Define for SOM.
1168 * write.c (adjust_reloc_syms): Set sy_used_in_reloc for both
1169 symbols in a fixup where a defined symbol is subtracted from an
1170 undefined symbol (when UNDEFINED_DIFFERENCE_OK is defined).
1171 (fixup_segment): Do nothing for the difference of two symbols if
1172 UNDEFINED_DIFFERENCE_OK is defined.
1173
ac7530a8
ILT
1174Wed Jul 12 23:33:40 1995 Ian Lance Taylor <ian@cygnus.com>
1175
1176 * config/obj-coff.c (fixup_segment): Support MD_APPLY_FIX3.
1177
f7da4a99
KR
1178Wed Jul 12 01:12:12 1995 Ken Raeburn <raeburn@kr-pc.cygnus.com>
1179
1180 * write.c (fix_new): Use int, not short int, for argument type.
1181 (fix_new_exp): Ditto.
1182
1183 * configure.in (arm-*-riscix*): Don't set emulations.
1184
1185 * config/tc-mips.c (NO_ECOFF_DEBUGGING): Define if ECOFF_DEBUGGING
1186 wasn't previously defined.
1187 (s_extern): Don't set ecoff_extern_size if NO_ECOFF_DEBUGGING.
1188 (nopic_need_relax): Don't check it if NO_ECOFF_DEBUGGING.
1189 (macro_build) [!USE_STDARG]: Don't use variadic prototype.
1190 (mips_local_label) [NO_ECOFF_DEBUGGING]: Don't preserve potential
1191 ECOFF debugging symbols.
1192
1193 * emul.h (struct emulation): Use unsigned, not unsigned char, for
1194 bitfields.
1195 * obj.h (struct format_ops): Likewise.
1196
1197 * config/tc-arm.c (symbol_make_empty) [BFD_ASSEMBLER]: Set
1198 udata.p, not udata.
1199
6804bd6c
ILT
1200Tue Jul 11 14:30:19 1995 Ian Lance Taylor <ian@cygnus.com>
1201
1202 * doc/c-mips.texi: Document -m4010 and -mno-4010.
1203
1204Tue Jul 11 14:28:55 1995 Jeff Spiegel <jeffs@lsil.com>
1205
1206 * config/tc-mips.c (mips_4010): New static variable.
1207 (interlocks): New static variable.
1208 (md_begin): Check for a cpu of "r4010". Set mips_4010 correctly.
1209 If mips_4650 or mips_4010, set interlocks.
1210 (append_insn): Check interlocks, not mips_4650.
1211 (mips_emit_delays): Likewise.
1212 (mips_ip): Only permit INSN_4010 instructions if mips_4010.
1213 (md_longopts): Add "m4010" and "no-m4010".
1214 (md_parse_option): Accept -mcpu=r4010. Handle -m4010 and
1215 -no-m4010.
1216 (md_show_usage): Document -m4010 and -no-m4010.
1217
e5fa3f23
ILT
1218Tue Jul 11 13:22:50 1995 Ian Lance Taylor <ian@cygnus.com>
1219
1220 * ecoff.c (struct efdr): Add new field fake.
1221 (init_file): Initialize fake.
1222 (add_file): Add new parameter fake. Change all callers.
1223 (ecoff_build_debug): Don't warn about a missing .end for a fake
1224 file.
1225
cc02a8a9
KR
1226Mon Jul 10 16:01:31 1995 Ken Raeburn <raeburn@cygnus.com>
1227
e5fa3f23
ILT
1228 * doc/as.texinfo: Split out most cpu chapters...
1229 * doc/c-*.texi: ...to here.
1230
cc02a8a9
KR
1231 * read.c (po_hash): Now static.
1232
84144a8f
ILT
1233Mon Jul 10 13:47:22 1995 Ian Lance Taylor <ian@cygnus.com>
1234
fb33961b
ILT
1235 Based on patches from H.J. Lu <hjl@nynexst.com>:
1236 * config/tc-i386.c (md_apply_fix3): Rename from md_apply_fix1.
1237 Accept pointer to value and segment. Fix OBJ_ELF PCREL case to
1238 handle global defined symbols correctly.
1239 (md_apply_fix): Remove both versions.
1240 * config/tc-i386.h (MD_APPLY_FIX3): Define.
1241
84144a8f
ILT
1242 * configure.in: When switching on ${cpu}, use ${cpu}, not
1243 $[target_cpu}, in default case.
1244 * configure: Rebuild.
1245
ed453d2e
ILT
1246Sat Jul 8 13:27:55 1995 Ian Lance Taylor <ian@cygnus.com>
1247
1248 * write.c (fixup_segment): Call resolve_symbol_value on
1249 sub_symbolP, in case it isn't in the symbol table.
1250
cebf05ad
ILT
1251Fri Jul 7 11:17:27 1995 Ian Lance Taylor <ian@cygnus.com>
1252
c71a604a
ILT
1253 * read.c (s_lcomm): For .lcomm 1, set align to 0, not 1.
1254
ae99a672
ILT
1255 * config/obj-coff.c (coff_frob_symbol): If SF_GET_FUNCTION, set
1256 BSF_FUNCTION.
1257 (symbol_globalP, symbol_global_lastP): New global variables.
1258 (yank_symbols): Sort defined global symbols to the end, just
1259 before the undefined symbols.
1260 (glue_symbols): Add two arguments, and use them instead of
1261 referring directly to global variables.
1262 (crawl_symbols): Call glue_symbols twice, once for defined globals
1263 and once for undefined. Add corresponding know calls.
1264
6be977fb
ILT
1265 * app.c (do_scrub_next_char): Always accept \v. Don't make it
1266 conditional on BACKSLASH_V.
1267 * read.c (next_char_of_string): Likewise.
1268 * config/obj-bout.h (BACKSLASH_V): Don't define.
1269 * config/tc-mips.h (BACKSLASH_V): Don't define.
1270
5767cfb7
ILT
1271 Add SPARC ELF PIC support.
1272 * write.c (fixup_segment): Pass fixP to TC_RELOC_RTSYM_LOC_FIXUP,
1273 not fixP->fx_r_type.
1274 * config/tc-sparc.c (sparc_pic_code): New global variable.
1275 (md_apply_fix): If generating PIC, adjust fx_addnumber for any non
1276 PC relative reloc.
1277 (tc_gen_reloc): If generating PIC, adjust various reloc types.
1278 Remove fx_pcrel assert, since it is no longer true.
1279 (md_parse_option): Handle -K PIC.
1280 * config/tc-sparc.h (sparc_pic_code): Declare if OBJ_ELF.
1281 (TC_RELOC_RTSYM_LOC_FIXUP): Define if OBJ_ELF.
1282 (tc_fix_adjustable): Don't adjust PC relative relocs if PIC.
1283 * config/tc-i386.h (TC_RELOC_RTSYM_LOC_FIXUP): Take a fixp, not a
1284 reloc type.
1285
cebf05ad
ILT
1286 * Makefile.in (Makefile): Add dependency on conf.in, so that conf
1287 is rebuilt when conf.in changes.
1288
a2a5a4fa
KR
1289Thu Jul 6 16:49:38 1995 Ken Raeburn <raeburn@cygnus.com>
1290
1291 * All files: Updated FSF address.
1292
37ea6121
JW
1293Thu Jul 6 16:30:34 1995 Jim Wilson <wilson@chestnut.cygnus.com>
1294
1295 * ecoff.c (add_file): Don't collapse multiple .file commands into
1296 a single file structure.
1297 (ecoff_build_lineno): Set ilineBase to sum of previous file's
1298 ilineBase and cline.
1299
265d172e
ILT
1300Thu Jul 6 12:54:27 1995 Ian Lance Taylor <ian@cygnus.com>
1301
85a961c6
ILT
1302 Patches from Jerry Blakely <gerry_blakley@wellfleet.com>:
1303 * as.c (listing_filename): New static variable.
1304 (show_usage): Mention -a=file.
1305 (parse_args): Support = option of -a to set name of listing file.
1306 (main): Pass listing_filename to listing_print.
1307 * listing.c (list_file): New static variable.
1308 (various): Replace printf with fprintf to list_file.
1309 (listing_print): If name argument is not NULL, open it as
1310 list_file.
1311 * doc/as.texinfo, doc/as.1: Document -a=file.
1312
a0eb1c2c
ILT
1313 * config/tc-sparc.c (s_reserve): Don't permit redefinition, even
1314 if the symbol was already in bss_section. Fix warning message.
1315
bcaa9b05
ILT
1316 * listing.c (struct file_info_struct): Rename end_pending field to
1317 at_end.
1318 (file_info): Initialize at_end, not end_pending.
1319 (buffer_line): If at_end set, just return immediately. Don't
1320 worry about end_pending cases. Set at_end when EOF is read.
1321 (print_source): Check at_end, not end_pending.
1322 (listing_listing): Likewise.
1323
265d172e
ILT
1324 * config/tc-alpha.h (alpha_do_align): Don't declare.
1325 (md_do_align): Don't define.
1326 (tc_frob_label): Define.
1327 (alpha_define_label): Declare.
1328 (md_flush_pending_output): Define.
1329 (alpha_flush_pending_output): Declare.
1330 * config/tc-alpha.c (insn_label): New static variable.
1331 (auto_align): New static variable.
1332 (md_pseudo_table): Add cases for .text, .data, .align, .byte,
1333 .hword, .int, .long, .octa, .quad, .short, .word, .double, .float,
1334 and .single. Change .t_floating, .s_floating, .f_floating,
1335 .g_floating, and .d_floating to use s_alpha_float_cons rather than
1336 float_cons.
1337 (s_alpha_text, s_alpha_data): New static functions.
1338 (s_rdata, s_sdata): Clear insn_label and set auto_align.
1339 (s_gprel32): If auto_align, align. Clear insn_label.
1340 (emit_insn): Clear insn_label.
1341 (s_alpha_align): New static function.
1342 (alpha_align): Make static. Take label argument.
1343 (alpha_flush_pending_output): New static function.
1344 (s_alpha_cons, s_alpha_float_cons): New static functions.
1345 (alpha_define_label): New function.
1346
4b18b7cd
KR
1347Wed Jul 5 22:49:31 1995 Ken Raeburn <raeburn@cygnus.com>
1348
ad0ab4eb
KR
1349 * conf.in: Regenerate with autoreconf.
1350
4b18b7cd
KR
1351 Mon Jul 3 19:47:53 1995 Pat Rankin (rankin@eql.caltech.edu)
1352
1353 * config/obj-vms.h (vms_resolve_symbol_redef): Use full prototype.
1354 (vms_check_for_special_label, tc_frob_label): Move them to group
1355 with other prototypes.
1356 [WANT_VMS_OBJ_DEFS]: Only define the many OBJ_x, DBG_x, and DST_x
1357 macros when this is defined.
1358 * config/obj-vms.c: Fully prototype all local functions.
1359 [symbolS, fragS]: Use consistently instead of their struct tags.
1360 [WANT_VMS_OBJ_DEFS]: Define this.
1361 (s_const): Make definition correctly match actual usage.
1362 (VMS_stab_parse): Make `expected_type' arg be int rather than char.
1363 (get_VMS_time_on_unix): Define as `static void'.
1364 (hash_string): Make definition match actual usage; argument is
1365 `char const *' rather than `unsigned char *'.
1366 (VMS_Case_Hack_Symbol, VMS_Modify_Psect_Attributes, VMS_Psect_Spec,
1367 VMS_Global_Symbol_Spec): Declare string args as `const char *'.
1368 [IS_GXX_VTABLE]: New macro.
1369 (vms_write_object_file: GSD loop): Use it.
1370 (vms_write_object_file: data segment): Reorganize `fill' loop.
1371
22ba90ce
ILT
1372Wed Jul 5 12:01:49 1995 Ian Lance Taylor <ian@cygnus.com>
1373
a7aa7a2b
ILT
1374 * config/tc-sparc.c (md_shortopts): Add "K:" if OBJ_ELF.
1375 (md_parse_option): If OBJ_ELF, check for -K. Die if -K PIC, since
1376 PIC code is not currently supported.
1377
1378 * as.c (parse_args): Change std_shortopts to be an array rather
1379 than a constant string. Only include 'K' if WORKING_DOT_WORD is
1380 not defined. Only check for 'K' in that case as well.
1381 * as.h (flag_warn_displacement): Only declare if WORKING_DOT_WORD
1382 is not defined.
1383
9814e22f
ILT
1384 * conf.in: Add undef of HAVE_SBRK.
1385
3f8416d5
ILT
1386 * config/obj-coff.c (obj_coff_line): Call listing_source_line, in
1387 both BFD_ASSEMBLER and non BFD_ASSEMBLER versions of the function.
1388
56dc989a
ILT
1389 * symbols.c (S_SET_EXTERNAL): Warn if symbol is weak.
1390 (S_CLEAR_EXTERNAL): Likewise.
1391 (S_SET_WEAK): Warn if symbol is global.
1392
f219dc65
ILT
1393 * config/obj-aout.c (obj_aout_frob_symbol): Warn about an attempt
1394 to put an undefined symbol into a set.
1395
816a827b
ILT
1396 * Makefile.in: Remove @configure_input@; it's not needed in
1397 files named Makefile.
1398
ca046e34
ILT
1399 * config/tc-m88k.c (md_pseudo_table): Add ".set" so that the
1400 explicit pseudo-op works, while continuing to treat "set" as an
1401 instruction.
1402
22ba90ce
ILT
1403 * ecoff.c (ecoff_debugging_seen): New global variable.
1404 (ecoff_directive_def): Set ecoff_debugging_seen.
1405 (ecoff_stab): Likewise.
1406 * ecoff.h: Make idempotent.
1407 (ecoff_debugging_seen): Declare.
1408 * config/tc-mips.c: Include ecoff.h.
1409 (mips_debug): New static variable.
1410 (s_stringer, s_mips_space): Remove unneeded declarations.
1411 (md_parse_option): In case 'g', set mips_debug to debugging level.
1412 (mips_local_label): New function.
1413 * tc-mips.h (LOCAL_LABEL): Call mips_local_label.
1414 (mips_local_label): Declare.
1415
e63c594d
FF
1416Wed Jul 5 00:59:22 1995 Fred Fish (fnf@cygnus.com)
1417
1418 * as.c (main): Only use sbrk when HAVE_SBRK defined.
1419 * configure.in: Add test for sbrk.
1420 * configure: Regenerate using autoconf 2.4.
1421
249c7415
JL
1422Mon Jul 3 15:58:16 1995 Jeff Law (law@snake.cs.utah.edu)
1423
1424 * config/tc-hppa.h (MAX_RELOC_EXPANSION): Bump to 6.
1425 * config/tc-hppa.c (tc_gen_reloc, SOM version): Handle
1426 relocations for the difference of two (possibly external)
1427 symbols.
1428 (hppa_fix_adjustable): For SOM, reject reductions involving
1429 the difference of two symbols.
1430 (hppa_force_relocation): Force relocations for expressions
1431 involving the difference of two symbols.
1432
6c186c48
SC
1433Mon Jul 3 14:22:59 1995 Steve Chamberlain <sac@slash.cygnus.com>
1434
1435 * configure[.in] (i386-*-win32): New host and target.
1436
e5c5ce23
SC
1437Thu Jun 29 17:25:43 1995 Steve Chamberlain <sac@slash.cygnus.com>
1438
ac7530a8 1439 Support for long filenames non-bfd coff.
e5c5ce23
SC
1440 * config/obj-coff.c (filename_list_head, filename_list_tail): New.
1441 (yank_symbols): Notice and record filenames which are too long.
1442 (w_strings): Write out filename strings.
1443 (c_dot_file_symbols): Put long filenames onto list.
1444
30355216
SC
1445Wed Jun 28 17:33:13 1995 Steve Chamberlain <sac@slash.cygnus.com>
1446
e5c5ce23 1447 * config/obj-coff.c (fixup_segment): PE doesn't use
30355216
SC
1448 the strange common symbol format that other 386s formats
1449 do.
1450 * config/tc-i386.c (md_begin): If LEX_AT defined then
1451 '@' is in the set of identifiers.
1452 (i386_operand): If LEX_AT, then don't look for @goto stuff.
1453 * config/te-pe.h: Define LEX_AT.
1454
4a998308
KR
1455Wed Jun 28 17:49:59 1995 Ken Raeburn <raeburn@cygnus.com>
1456
1a9924d8
KR
1457 * doc/as.texinfo (H8/500 Floating Point): Indicate that IEEE FP
1458 numbers are for the standard emulation code.
1459 (SH Floating Point): Ditto.
1460 (Overview): Describe new --emulation option for MIPS.
4a998308
KR
1461 * doc/*.m4: Deleted.
1462
1463Thu Jun 22 19:26:25 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1464
1465 Sun May 7 11:53:41 MDT 1995 Bryan Ford <baford@cs.utah.edu>
1466
1467 * configure.in: Added i386-*-moss* target.
1468
3f4ca874
MM
1469Thu Jun 22 14:41:23 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1470
1471 * write.c (write_object_file): Cast decode_local_label_name
1472 argument to char * to avoid warning.
1473
a1835409
KR
1474Wed Jun 21 18:07:59 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1475
c151fd1e
KR
1476 Changes from Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>:
1477 * config/tc-m68k.c (insword): Increment the frag offsets.
1478 (struct m68k_it): Add reloc[].pcrel_fix field to hold pc-rel
1479 fixup.
1480 (add_fix): Accept additional parameter, the pc-rel fixup. All
1481 callers changed. Fix offset address if width == 'b'.
1482 (m68k_ip) [case AINDX]: Allow explicit size spec. Don't make the
1483 outer displacement pc-relative.
1484 (md_pcrel_from): Make it relative to the first extension word of
1485 the operand.
1486 (opcode_ptr): Make it a macro if DO_BREAK_UP_BIG_DECL is
1487 undefined.
1488 (md_convert_frag_1): Don't reference fragP->fr_opcode[2..].
1489 (md_estimate_size_before_relax) [case TAB (FBRANCH, SZ_UNDEF)]:
1490 Turn on long bit.
1491 (m68k_ip) [case 'C']: Don't set set long bit, set it in the opcode
1492 table.
1493 (md_estimate_size_before_relax) [case TAB (PCINDEX, SZ_UNDEF)]:
1494 Variable part increases by four, not six.
1495 * write.c (fixup_segment) [TC_M68K]: Don't do further pcrel
1496 processing after converting difference of two symbols in the
1497 same segment.
1498
1499 * write.c (fixup_segment): Don't conditionalize the pcrel fix on
1500 TC_M68K.
1501
a1835409
KR
1502 * config/tc-sparc.c (sparc_ip, case 'A'): If ASI is not a "#"
1503 value, don't shift it an extra time.
1504
85b369b3
SC
1505Wed Jun 21 14:18:37 1995 Steve Chamberlain <sac@slash.cygnus.com>
1506
1507 * gasp.c (do_print, do_form, buffer_and_nest): Use case insensitive
ac7530a8 1508 string compares.
85b369b3 1509
34308df7
KR
1510Tue Jun 20 14:55:02 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1511
1512 * config/obj-coff.c (write_object_file): Cast time() argument to
1513 time_t *.
1514
420c479b
JL
1515Tue Jun 20 12:00:53 1995 Jeff Law (law@snake.cs.utah.edu)
1516
1517 * config/tc-hppa.c (pa_build_unwind_subspace): Fix typo in last
1518 change.
1519
76477190
JL
1520Mon Jun 19 15:27:17 1995 Jeff Law (law@snake.cs.utah.edu)
1521
1522 * config/tc-hppa.c (pa_build_unwind_subspace): Zero out memory
1523 from frag_more calls.
1524
d21041b3
SS
1525Thu Jun 15 16:53:37 1995 Stan Shebs <shebs@andros.cygnus.com>
1526
1527 * config/obj-coff.c: Don't use "bfd/" when including libbfd.h
1528 and libcoff.h.
1529 (fill_section): Call PROGRESS.
1530 * Makefile.in (INCLUDES): Add bfd srcdir.
1531
1532 * mpw-config.in: Add bfd_gas flag and set for each config.
1533 (i386-unknown-go32, m68k-unknown-coff): Recognize.
1534 * mpw-make.in (HACK_O_RAMA, OBJ_COFF_OMIT_TIMESTAMP): Add to
1535 config.h.
1536
f6d6f102
DE
1537Thu Jun 15 10:04:26 1995 Doug Evans <dje@canuck.cygnus.com>
1538
1539 * config/tc-arm.h (LOCAL_LABEL): Prepend '.' if not OBJ_AOUT.
1540 (FAKE_LABEL_NAME): Likewise.
1541
4ff6f92a
JL
1542Mon Jun 12 22:25:39 1995 Jeff Law (law@snake.cs.utah.edu)
1543
1544 * config/tc-hppa.c (pa_ip): Check for invalid register in single
1545 precision fmpyadd and fmpysub instructions.
1546
69cb5925 1547Thu Jun 8 19:33:02 1995 Pat Rankin (rankin@eql.caltech.edu)
3c650d09
KR
1548
1549 * config/obj-vms.c (myname): Delete all references.
1550 (VMS_stab_parse, Write_VMS_MHD_Records, VMS_Case_Hack_Symbol):
1551 Replace printf calls with as_tsktsk.
1552 (PUT_LONG, PUT_SHORT): Use COPY_LONG, COPY_SHORT.
1553 (VMS_Store_Immediate_Data): Move second buffer capacity check
1554 below bottom of loop; first check at top suffices for loop itself.
1555 (find_file): Remove redundant pointer checks in first two loops;
1556 replace third loop with pointer to last list element determined
1557 in first loop.
1558
0cd27550
DE
1559start-sanitize-arc
1560Thu Jun 8 11:44:35 1995 Doug Evans <dje@chestnut.cygnus.com>
1561
1562 * config/tc-arc.h (MD_APPLY_FIX3): Define.
1563 * config/tc-arc.c (md_apply_fix3): Renamed from md_apply_fix.
1564 Undo effects of md_pcrel_from if symbol is in another section.
1565end-sanitize-arc
1566
d5263ab4
KR
1567Tue Jun 6 13:53:06 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1568
0cd27550
DE
1569 * config/tc-sparc.c (sparc_ip): Handle defined absolute symbols as
1570 ASI values.
1571
d5263ab4
KR
1572 * config/obj-vms.c (vms_write_object_file, case N_DATA): Use
1573 strcmp against FAKE_LABEL_NAME instead of checking third
1574 character. (Suggested by Pat Rankin.)
1575
69cb5925 1576Mon Jun 5 20:10:46 1995 Pat Rankin (rankin@eql.caltech.edu)
d5263ab4
KR
1577
1578 Add support for N_ABS and N_ABS|N_EXT type symbols.
1579
1580 * config/obj-vms.h (LSY_S_M_{DEF,REL}, ENV_S_M_{DEF,NESTED}):
1581 New macros for local symbols (from <lsydef.h> and <envdef.h>).
1582 * config/obj-vms.c (Current_Environment): New file-scope variable.
1583 (VMS_Local_Environment_Setup): New routine.
1584 (GBLSYM_LCL): New macro.
1585 (VMS_Global_Symbol_Spec): Handle local symbols too.
1586 (VMS_Psect_Spec): Set GLOBALVALUE_BIT for absolute symbols.
1587 (VMS_Emit_Globalvalues): Handle local and global absolute symbols.
1588 (VMS_Store_PIC_Symbol_Reference): Ditto.
1589 (vms_write_object_file: GSD symbol loop): Ditto.
1590
1591Mon Jun 5 16:10:40 1995 Steve Chamberlain <sac@slash.cygnus.com>
1592
1593 * config/tc-arm.h (LOCAL_LABELS_FB): Define.
1594
1be0c30e
KR
1595Mon Jun 5 02:17:58 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
1596
1597 * configure.in (i386-*-gnu*): Always use GNU ELF config.
1598
69cb5925 1599Wed May 31 17:49:18 1995 Pat Rankin (rankin@eql.caltech.edu)
58abad7d
KR
1600
1601 * config/obj-vms.c (obj_crawl_symbol_chain): Update *symbolPP
1602 in `else' clause when removing a symbol. Also, revise comments
1603 to match the code.
1604 (vms_write_object_file (GSD symbol loop, case N_DATA)): Never
1605 output symbol definitions for local numeric labels.
1606
1cb0d00d
KR
1607Tue May 30 18:29:10 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
1608
1609 * configure.in (architecture variants, cases armeb and arm*): Remove
1610 spaces round assignment to endian.
1611
0b143492
KR
1612Tue May 30 12:31:31 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1613
1614 * write.c (write_object_file): Check for undefined local dollar
1615 and fb labels.
1616
1617 * symbols.c (decode_local_label_name): Extract instance number
1618 from the correct location.
1619
6053ed62
C
1620Sat May 27 21:28:49 1995 J.T. Conklin <jtc@rtl.cygnus.com>
1621
1622 * config/te-dpx2.h: Include obj-format.h.
1623 (COFF_MAGIC): Renamed from FILE_HEADER_MAGIC.
1624
1625Wed May 24 13:45:32 1995 Steve Chamberlain <sac@slash.cygnus.com>
1626
1627 * configure, configure.in, config/obj-coff.c, config/obj-coff.h:
1628 Add support for ARM pe
1629
2e715f06
DE
1630Tue May 23 17:00:32 1995 Doug Evans <dje@canuck.cygnus.com>
1631
1632 * config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP16
1633 and BFD_RELOC_SPARC_WDISP19.
1634
6e43bf82
KR
1635Tue May 23 19:18:33 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1636
1637 * as.c (parse_args) [! USE_EMULATIONS]: Always print an error
1638 message.
1639
2e715f06
DE
1640 * doc/internals.texi: Document obj_app_file and
1641 TARGET_BYTES_BIG_ENDIAN.
1642
4761bb02
KR
1643Mon May 22 20:03:23 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1644
70d6c396
KR
1645 * ecoff.c (ecoff_stab): Add extra leading argument, for 4 May
1646 change.
1647 * ecoff.h (ecoff_stab): Fix declaration.
1648 * obj.h (format_ops.process_stab): Include prototype.
1649 * config/obj-elf.h (OBJ_PROCESS_STAB): Pass through seg argument.
1650 * config/obj-ecoff.h (OBJ_PROCESS_STAB): Ditto.
1651
4761bb02
KR
1652 * config/e-mipself.c (mipself): New emulation mode, doesn't change
1653 endianness from configured default.
1654 * config/e-mipsecoff.c (mipsecoff): Ditto.
1655 * configure.in (mips ecoff/elf targets): Include them.
1656 * as.c (mipself, mipsecoff): Declare.
1657
1658 * as.c (emulation_name): New variable.
1659 (select_emulation_mode): Set emulation_name. Don't change argv.
1660 (parse_args): Handle --emulation; complain if the supplied name
1661 isn't what select_emulation_name came up with.
1662
1fc2205e
DE
1663start-sanitize-arc
1664Mon May 22 16:56:58 1995 Doug Evans <dje@chestnut.cygnus.com>
1665
1666 * config/tc-arc.c (md_pcrel_from): Return 0 for undefined symbols.
1667end-sanitize-arc
1668
1669Sun May 21 21:36:17 1995 Jeff Law (law@snake.cs.utah.edu)
1670
1671 * config/tc-hppa.c: Reverse changes from Dec. 19th which
1672 changed the way unwinds were built for ELF. Rely on relocation
1673 symbol reductions to avoid placing the end of function marker
1674 symbols into the object file's symbol table.
1675
a088fb62
KR
1676Sat May 20 12:31:36 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
1677
0509f064
KR
1678 Added improved VMS support from Pat Rankin:
1679
1680 Fri 19 May 16:51:40 1995 Pat Rankin (rankin@eql.caltech.edu)
1681
1682 * config/obj-vms.h (AOUT_STABS): Define.
1683
1684 * config/obj-vms.c (fpush, rpush): New routines.
1685 (push): Replaced by the above.
1686 (find_symbol): Slight reorganization to expose tail recursion.
a088fb62
KR
1687
1688 Fri Mar 17 18:40:36 1995 Pat Rankin (rankin@eql.caltech.edu)
1689
1690 * Makefile.in (VMS_OTHER_OBJS): delete this.
1691 * vmsconf.sh (make-gas.com): build ../libiberty/liberty.olb
1692 first if necessary; link gas against it.
1693
078d1a5a
KR
1694Fri May 19 16:37:39 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
1695
1696 * gasp.c (istrue): Correctly test for string inequality.
1697
ff15324f
KR
1698Thu May 18 04:25:11 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
1699
1700 Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
1701
69cb5925 1702 * config/tc-arm.c (CP_T_{Pre,UD,WB}): Define, bits in co-processor
ff15324f
KR
1703 instructions.
1704 ([ls]fm_flags): Correct error in bitmasks.
69cb5925
KR
1705 (cp_address_required_here): Delete second parameter, FLAGS. All
1706 callers changed. Remove all dead code referring to FLAGS. If
ff15324f 1707 address is just "[Reg]" then convert into a PRE-INCREMENT UP format.
69cb5925 1708 (do_fp_ldmstm): Handle full-descending and empty-ascending stack
ff15324f
KR
1709 formats explicitly.
1710
1711 * config/tc-arm.c (internalError): Define.
1712 (ARM_{1,2,250,3,6,7,7DM,ANY,2UP,ALL,3UP,6UP,LONGMUL}): Define processor
1713 variants.
1714 (FPU_{CORE,FPA10,FPA11,NONE,ALL,MEMMULTI}): Define floating point
1715 variants.
1716 ({CPU,FPU}_DEFAULT): Define.
1717 (cpu_variant): New variable.
1718 (asm_flg): Change more_flags to flag_bits.
1719 Add prototypes for new functions.
1720 (FLAG_{S,P,B,T,ED,FD,FA,EA,IB,IA,DB,DA,L}): Delete.
1721 (s_flag[], ldst_flags[], byte_flag[], cmp_flags[], ldm_flags[],
1722 stm_flags[], lfm_flags[], sfm_flags[], round_flags[], except_flags[],
1723 cplong_flag[]): New variables.
1724 (asm_opcode, insns[]): New format, add version support.
1725 (arm_flg_hsh): Delete.
1726 (do_mul, do_mla): Remove "Warning" from warning messages.
1727 (do_arit): Simplify.
1728 (do_swap): Make error message more appropriate.
1729 (md_begin): Build hash tables starting at first entry in tables.
1730 (md_number_to_chars): Cope with big/little-endian selection.
1731 (md_chars_to_number): New function.
1732 (md_apply_fix): Rewrite to make endian independent.
1733 (tc_gen_reloc): Better error messages.
1734 (md_assemble): Reject opcodes forbidden by the currently selected cpu
1735 variant. Rewrite handling code for instruction flags.
1736 (md_shortopts): Add option "m:".
1737 (md_parse_option): Get the desired cpu/fpu variant.
1738
1739 From: David Taylor (dtaylor@armltd.co.uk)
1740 * configure.in (architecture variants): Check for "armeb" and "arm*",
1741 set endianness accordingly.
1742 * read.c (read_a_source_file): New hooks md_start_line_hook and
1743 md_after_pass_hook.
1744 * config/arm-{big,lit}.mt: New files
1745 * config/tc-arm.h ({LITTLE,BIG}_ENDIAN, BYTE_ORDER): Define.
69cb5925 1746 (TARGET_FORMAT): Select depending on endianness and emulation and
ff15324f
KR
1747 object format.
1748 (md_after_pass_hook, md_start_line_hook): Define.
1749 * config/tc-arm.c: Include subsegs.h, symbols.h and listing.h.
1750 (shift[]): Add uppper case equivalents.
1751 (CP_T_[XY], TRANS_BIT): Define.
69cb5925 1752 (conds[]): Delete initial NULL entry, add "lo" entry as synonym for
ff15324f
KR
1753 "cc".
1754 (LONGEST_FLAG, flags[]): Delete.
1755 (arm_psr): New structure.
1756 (psrs[]): New variable.
1757 (PSR_ALL): Define.
1758 (LONGEST_INST): Bump to 5.
1759 (LITERAL_MASK, COND_MASK, OPCODE_MASK, DATA_OP_SHIFT): Define.
1760 (OPCODE_{AND,EOR,SUB,RSB,ADD,ADC,SBC,RSC,TST,TEQ,CMP,CMN,ORR,MOV,BIC,
1761 MVN}): Define.
1762 (insns[]): Add smull, umull, smlal, umlal, ldfm, stfm, msr and mrs
1763 instructions. Add nop and adr pseudo ops.
1764 (reg_table): Add APCS register name variants.
1765 (arm_psr_hsh): New hash table.
69cb5925 1766 (md_pseudo_table): Add "ltorg", "pool", "extend", "ldouble" and
ff15324f
KR
1767 "packed".
1768 (MAX_LITERAL_POOL_SIZE): Define.
1769 (struct literalS): New structure.
1770 (literals, next_literal_pool_place, lit_pool_num, current_poolP): New
1771 variables.
1772 (add_to_lit_pool, symbol_locate, symbol_make_empty): New functions.
1773 (validate_immediate): Return FAIL on failure.
1774 (s_ltorg): New function.
1775 (psr_required_here, psrf_required_here): New functions.
1776 (cp_address_required_here): New parameter, flag, all callers changed.
1777 If flag is non-zero, restrict the legal addressing modes.
1778 (do_nop, do_mrs, do_msr, do_mull): New functions.
1779 (negate_data_op): New function.
1780 (data_op2): accept #x,y meaning x rotated right by y, but only when
1781 suitable constants. If immediate is not legal, try changing the
1782 opcode.
1783 (do_adr): New function.
1784 (do_ldst): accept "ldr reg, =expr". Put expr in the pool if it can't
1785 be done as an immediate.
1786 (do_fp_ldst): Use CP_T_[XY], not immediate values.
1787 (do_fp_ldmstm): New function.
1788 (arm_psr_parse): New function.
1789 (output_inst): Use INSN_SIZE in call to md_number_to_chars.
1790 (md_assemble): Add hack so that "Label instruction" causes alignment of
1791 the label.
69cb5925 1792 (arm_after_pass_hook, arm_start_line_hook, arm_frob_symbol): New
ff15324f
KR
1793 functions.
1794
1795Wed May 17 05:25:16 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1796
1797 * config/tc-ppc.c (md_show_usage): Add \'s at end of lines in
1798 strings for non-GCC compilers.
1799
ff17873d
KR
1800Tue May 16 19:36:00 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1801
1802 * config/obj-ecoff.c (ecoff_pop_insert): New function.
1803 (ecoff_format_ops): Use it.
1804 (obj_ecoff_frob_symbol): Now static.
1805
99146659
MM
1806Wed May 17 00:59:12 1995 Andrew Cagney - aka Noid <cagney@highland.com.au>
1807
1808 * config/tc-ppc.c (md_begin): Was assuming that an instruction was
1809 bigendian and hence 16bit relocs withing instructions would
69cb5925 1810 ALWAYS be at addresses i+2-i+3. In LE mode it is i+0-i+1.
99146659 1811
b0d41996
KR
1812Tue May 16 16:29:58 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1813
739708fa
KR
1814 * config/obj-multi.h (obj_frob_symbol, obj_frob_file, S_GET_SIZE,
1815 S_SET_SIZE, S_GET_ALIGN, S_SET_ALIGN, obj_copy_symbol_attributes,
1816 OBJ_PROCESS_STAB): New macros.
1817 * config/tc-mips.c: Protect against redefining them also when
1818 including obj-elf.h. Test only OBJ_ELF for including elf/mips.h.
b444036d
KR
1819 (mips_init_after_args): New function. Set byte_order here.
1820 (md_parse_option): Not here.
1821 (byte_order): Don't bother initializing.
1822 * config/tc-mips.h (mips_init_after_args): Declare.
1823 (tc_init_after_args): New macro.
739708fa 1824
b0d41996
KR
1825 * read.c (s_lcomm): Do ELF/ECOFF test at run time, not compile
1826 time.
1827
b04b02a5
SC
1828Fri May 12 14:17:47 1995 Steve Chamberlain <sac@slash.cygnus.com>
1829
1830 Initial support for PE object files.
1831 * configure.in, configure (i386-*-pe, i386-*-*nt): Add.
1832 * config/obj-coff.c (fixup_segment): Cope with PE wierdness.
1833 * config/obj-coff.h (TE_PE): New target format.
1834
bb2c9281
KR
1835Thu May 11 14:58:21 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1836
1837 * config/obj-elf.c (NEED_ECOFF_DEBUG): Define if ECOFF_DEBUGGING
1838 was defined by header files. Test in preprocessor conditionals
1839 instead of ECOFF_DEBUGGING.
1840 (ecoff_debug_pseudo_table): Make empty if NEED_ECOFF_DEBUG is not
1841 defined.
1842 (obj_read_begin_hook, obj_symbol_new_hook, elf_frob_symbol,
1843 elf_frob_file): Only call ecoff routines if NEED_ECOFF_DEBUG is
1844 defined.
1845 (elf_ecoff_set_ext, elf_get_extr, elf_set_index): Define only if
1846 NEED_ECOFF_DEBUG is defined.
1847 (elf_format_ops): Reference elf_ecoff_set_ext only if
1848 NEED_ECOFF_DEBUG.
1849
e7757ad0
KR
1850Wed May 10 18:09:12 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1851
1852 * Makefile.in (OBJS): Include @extra_objects@.
1853 (obj-elf.o, obj-ecoff.o, e-mipself.o, e-mipsecoff.o): New rules
1854 for building these independently.
1855 * emul-target.h, config/e-mipself.c, config/e-mipsecoff.c: New
1856 files.
1857
1858 * acconfig.h (DEFAULT_EMULATION, EMULATIONS, USE_EMULATIONS,
1859 OBJ_MAYBE_*, I386COFF, M68KCOFF, M88KCOFF): New macros.
1860 * aclocal.m4 (GAS_UNIQ): New macro.
1861
1862 * as.c (emulations, n_emulations) [USE_EMULATIONS]: New variable.
1863 (select_emulation_mode, default_emul_bfd_name, common_emul_init)
1864 [USE_EMULATIONS]: New functions.
1865 (main) [USE_EMULATIONS]: Call select_emulation_mode before other
1866 initialization.
1867 * emul.h: New file.
1868 * as.h [USE_EMULATIONS]: Include it.
1869
1870 * configure.in: Handle enable-targets option. Iterate over target
1871 list, building up a list of object file formats and emulation
1872 configurations. (Only supports emulations for MIPS CPU so far.)
1873 If multiple formats are needed, set obj_format to multi and add
1874 format config files to extra_files. If emulation modes are
1875 needed, add the relevant files to extra_files.
1876
1877 * configure.in: Define I386COFF, M68KCOFF, M88KCOFF for those
1878 configurations.
1879
1880 * ecoff.c (ecoff_generate_asm_lineno): Filename argument now
1881 points to const.
1882 * ecoff.h (ecoff_generate_asm_lineno): Updated declaration.
1883
1884 * obj.h (obj_read_begin_hook): Don't declare function if it's
1885 already a macro.
1886
1887 * read.c (s_space, cons, stringer): If md_flush_pending_output is
1888 defined, call it on entry.
1889 * config/obj-elf.c (obj_elf_section): If md_flush_pending_output
1890 is defined, call it on entry. If md_elf_section_change_hook is
1891 defined, call it before returning normally.
1892
1893 * read.h (target_big_endian): Declare.
1894
1895 * obj.h (struct format_ops): Added new function pointer fields
1896 ecoff_set_ext, read_begin_hook, symbol_new_hook.
1897 (ecoff_format_ops, elf_format_ops): Declare.
1898 * config/obj-elf.c (elf_s_get_size, elf_s_set_size,
1899 elf_s_get_align, elf_s_set_align, elf_copy_symbol_attributes,
1900 elf_sec_sym_ok_for_reloc): New functions.
1901 (elf_format_ops): New variable.
1902 (elf_frob_symbol): Now takes additional int* argument.
1903 * config/obj-elf.h (elf_frob_symbol): Update declaration.
1904 (elf_pop_insert): Declare.
1905 (obj_pop_insert): Define to call elf_pop_insert.
1906 * config/obj-ecoff.c (ecoff_sec_sym_ok_for_reloc,
1907 obj_ecoff_frob_symbol): New functions.
1908 (ecoff_format_ops): New variable.
1909
1910 * config/te-generic.h: If OBJ_HEADER is defined, use it as the
1911 filename to include in place of obj-format.h.
1912 * config/te-multi.h: New file, copied from te-generic.h.
1913 * config/obj-elf.c (OBJ_HEADER): Define it to "obj-elf.h".
1914 * config/obj-ecoff.c (OBJ_HEADER): Define it to "obj-ecoff.h".
1915
1916 * config/obj-elf.c (ECOFF_DEBUGGING): Default to 0.
1917 (obj_read_begin_hook, obj_symbol_new_hook, elf_frob_symbol,
1918 elf_frob_file): Test it at run time.
1919 (obj_ecoff_set_ext, elf_get_extr, elf_set_index): Define
1920 unconditionally.
1921 (elf_pseudo_table): Renamed from obj_pseudo_table, now static.
1922 (ecoff_debug_pseudo_table): Split off into separate table. Define
1923 it unconditionally.
1924 (elf_pop_insert): New function.
1925 * config/obj-elf.h (elf_pop_insert): Declare.
1926 (obj_pop_insert): New macro.
1927 (obj_ecoff_set_ext) [!OBJ_MAYBE_ELF]: Define to elf_ecoff_set_ext.
1928 * config/obj-ecoff.h (obj_ecoff_set_ext): Define to ecoff_set_ext.
1929
1930 * config/tc-mips.h: Protect against multiple inclusions.
1931 (mips_pop_insert): Declare.
1932 (md_pop_insert): Call it.
1933
1934 * config/tc-mips.c: If OBJ_MAYBE_ELF is defined, include
1935 obj-elf.h, but preserve OUTPUT_FLAVOR and protect some other
1936 macros from redefinition.
1937 (ECOFF_DEBUGGING): Default to 0. All references changed to
1938 run-time tests or made unconditional.
1939 (s_stringer, s_mips_space, s_elf_section): Deleted.
1940 (md_pseudo_table): Don't refer to them. Split table into three
1941 sections, for MIPS, non-ECOFF_DEBUGGING, and ELF.
1942 (mips_pop_insert): New function.
1943 (mips_flush_pending_output): New function.
1944 (mips_enable_auto_align): New function.
1945 * config/tc-mips.h (mips_pop_insert): Declare.
1946 (md_pop_insert): New macro.
1947 (mips_flush_pending_output): Declare.
1948 (md_flush_pending_output): New macro.
1949 (mips_enable_auto_align): Declare.
1950 (md_elf_section_change_hook): New macro, calls
1951 mips_enable_auto_align.
1952
8370e93e
MM
1953Tue May 9 17:07:41 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1954
1955 * configure.in: Add little endian PowerPC support.
1956 * configure: Rebuild with autoconf.
1957 * config/ppc-big.mt: New file for big endian PowerPC systems.
1958 * config/ppc-lit.mt: New file for little endian PowerPC systems.
1959
1960 * config/tc-ppc.h (target_big_endian): Declare.
1961 (TARGET_FORMAT): Deal with little and big endian ELF variants.
1962 (TARGET_BYTES_BIG_ENDIAN): Define as 1, not empty.
1963
1964 * config/tc-ppc.c (ppc_big_endian): Delete variable, use
1965 target_big_endian instead.
1966 (md_parse_option): Parse -mlittle and -mlittle-endian to use
1967 little endian support. Parse -mbig and -mbig-endian to use big
1968 endian support.
1969 (md_show_usage): Update to reflect current switches.
1970 (ppc_set_cpu): Recognize powerpcle as little endian PowerPC. Use
1971 as_fatal, not abort if unknown machine.
1972
56187f65
JL
1973Tue May 9 10:58:41 1995 Jeff Law (law@snake.cs.utah.edu)
1974
1975 * config/tc-hppa.c (md_apply_fix): Cast *valp to an integer when
1976 comparing against signed values.
1977 (hppa_force_relocation): Make "distance" an integer.
1978
1e63de91
KR
1979Tue May 9 00:47:03 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com)
1980
1981 * obj.h (struct format_ops) [BFD_ASSEMBLER]: New type.
1982 (this_format) [BFD_ASSEMBLER]: Declare new variable, if not
1983 already defined as a macro.
1984
fd1fdba2
KR
1985Mon May 8 21:44:13 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1986
1987 * subsegs.h (seg_info): Provide dummy version for
1988 non-BFD_ASSEMBLER, non-MANY_SEGMENTS configuration. It should
1989 never get invoked, but this is easier than conditionalizing some
1990 of the uses.
1991 (struct seg_info_trash): Dummy type used by above to make code
1992 compile.
1993
e51a3912
KR
1994Fri May 5 14:47:13 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1995
1996 * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define to 1, not
1997 empty.
1998 * config/obj-elf.h (SEPARATE_STAB_SECTIONS): Ditto.
1999 * config/obj-som.h (SEPARATE_STAB_SECTIONS): Ditto.
2000
8c5e0f5e
KR
2001Thu May 4 19:26:55 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2002
2003 * stabs.c (get_stab_string_offset): Always define. If
2004 SEPARATE_STAB_SECTIONS isn't set, abort.
2005 (SEPARATE_STAB_SECTIONS): Default to zero.
2006 (aout_process_stab): New function, split out from s_stab_generic.
2007 (OBJ_PROCESS_STAB) [AOUT_STABS]: Define to call aout_process_stab,
2008 if not already defined.
2009 (s_stab_generic): Test SEPARATE_STAB_SECTIONS at run time. If
2010 it's not set, and OBJ_PROCESS_STAB isn't defined, abort. Always
2011 pass six arguments to OBJ_PROCESS_STAB.
52f969e2 2012 * read.h (get_stab_string_offset): Declare unconditionally.
8c5e0f5e
KR
2013 * config/obj-aout.h (AOUT_STABS): Define.
2014 * config/obj-bout.h (AOUT_STABS): Define.
2015 * config/obj-ecoff.h (OBJ_PROCESS_STAB): Add new first argument,
2016 ignored.
2017 * config/obj-elf.h (OBJ_PROCESS_STAB) [ECOFF_DEBUGGING]: Ditto.
2018
2019 * config/obj-ecoff.h (ECOFF_DEBUGGING): Define to 1, not empty.
2020 * config/obj-elf.h (ECOFF_DEBUGGING): Ditto. Test value, not
2021 whether it's defined.
2022
9777b772
KR
2023Wed May 3 21:38:20 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2024
2025 * as.h (LOCAL_LABELS_DOLLAR, LOCAL_LABELS_FB): If not already
2026 defined, define them to zero.
2027 * config/tc-*.h, config/te-*.h: If defining them, define them to
2028 be 1 instead of empty.
2029 * expr.c (integer_constant, operand): Test them at run time
2030 instead of compile time.
2031 * read.c (read_a_source_file): Ditto.
2032 * symbols.c (colon): Ditto.
2033 (dollar_*, define_dollar_label, fb_*): Define unconditionally.
2034 * symbols.h (dollar_*, define_dollar_label, fb_*): Declare
2035 unconditionally.
2036
4829cd65
JL
2037Wed May 3 13:08:53 1995 Jeff Law (law@snake.cs.utah.edu)
2038
69cb5925 2039 * config/tc-hppa.c (md_apply_fix): Do nothing for an out of range
4829cd65
JL
2040 PC relative call since those only occur in cases where the linker
2041 can fix them up.
2042 (hppa_force_relocation): Force relocations for out of range PC
2043 relative calls.
2044
55ac59da
JL
2045Tue May 2 16:34:47 1995 Jeff Law (law@snake.cs.utah.edu)
2046
2047 * configure (hppa*-*-lites*): Handle just like hppa*-*-*elf*.
2048 * configure.in: Likewise.
2049
2c4022af
KR
2050Tue May 2 11:22:00 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2051
2052 * read.c (pop_insert): New function.
2053 (pop_override_ok, pop_table_name): New variables.
2054 (md_pop_insert, obj_pop_insert): New macros.
2055 (pobegin): Use them.
2056
2057 * config/tc-mips.c: Use USE_STDARG and USE_VARARGS instead of
2058 NO_STDARG &c.
2059
2060 * read.c (target_big_endian): If TARGET_BYTES_BIG_ENDIAN is
2061 defined, initialize to 1.
2062 * config/tc-mips.c (mips_target_format): Changed to a function,
2063 checking flavor and byte order at run time.
2064 (md_parse_option, cases OPTION_EB and OPTION_EL): Set
2065 target_big_endian here.
2066 (md_begin): Not here.
2067 * config/tc-mips.h (mips_target_format): Adjust declaration.
2068 (TARGET_FORMAT): Call mips_target_format.
2069
2070 * config/tc-mips.h (USE_GLOBAL_POINTER_OPT): Define in terms of
2071 OUTPUT_FLAVOR.
2072 * config/tc-mips.c (g_switch_value, g_switch_seen): Define
2073 unconditionally.
2074 (md_begin, mips_ip, md_parse_option, s_change_sec, s_option,
2075 s_abicalls, nopic_need_relax): Check USE_GLOBAL_POINTER_OPT at run
2076 time, instead of compiling conditionally on GPOPT.
2077 (GPOPT): Don't define.
2078 (md_shortopts): Always include -G.
2079 (RDATA_SECTION_NAME): Select at run time.
2080 (md_begin): Test for ELF format at run time instead of compile time.
2081 (mips_ip, s_change_sec): Ditto.
2082 (md_parse_option, cases OPTION_CALL_SHARED and OPTION_NON_SHARED):
2083 Ditto.
2084 (OPTION_CALL_SHARED, OPTION_NON_SHARED, mips_regmask_frag): Define
2085 unconditionally.
2086
91a165d1
KR
2087Tue May 2 00:17:04 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com)
2088
833c46e1
KR
2089 * Makefile.in (TARG_CPU_DEP_*): New variables.
2090 (targ-cpu.o): Depend on one, selected by autoconf substitution,
2091 instead of TARG_CPU_DEPENDENTS.
2092 * configure.in: Substitute $cpu_type, $obj_format, $atof, and
2093 $emulation into Makefile.in.
2094start-sanitize-arc
2095 * config/arc.mt: Deleted.
2096end-sanitize-arc
2097 * config/h8300.mt: Deleted.
2098 * config/h8500.mt: Deleted.
2099 * config/i386coff.mt (TARG_CPU_DEPENDENTS): Deleted.
2100 * config/m68k.mt: Deleted.
2101 * config/m68kcoff.mt (TARG_CPU_DEPENDENTS): Deleted.
2102 * config/m88kcoff.mt (TARG_CPU_DEPENDENTS): Deleted.
2103 * config/mips-big.mt (TARG_CPU_DEPENDENTS): Deleted.
2104 * config/mips-lit.mt (TARG_CPU_DEPENDENTS): Deleted.
2105start-sanitize-rce
2106 * config/rce.mt: Deleted.
2107end-sanitize-rce
2108 * config/sh.mt: Deleted.
2109 * config/w65.mt: Deleted.
2110 * config/z8k.mt: Deleted.
2111
78dace0a
KR
2112 * config/te-dpx2.h (dpx2): Deleted unused macro.
2113 * config/te-generic.h (TE_GENERIC): Ditto.
91a165d1
KR
2114 * config/te-go32.h (TE_GO32): Ditto.
2115 * config/te-hp300.h (TE_HP300): Ditto.
78dace0a 2116 * config/te-hppa.h (PA, _TE_PA_H): Ditto.
91a165d1
KR
2117 * config/te-ic960.h (TE_IC960): Ditto.
2118 * config/te-nbsd532.h (TE_NETBSD532): Ditto.
2119 * config/te-pc532mach.h (TE_PC532MACH): Ditto.
2120 * config/te-ppcnw.h (TE_PPCNW): Ditto.
78dace0a 2121 * config/te-sco386.h (scounix): Ditto.
91a165d1
KR
2122
2123Mon May 1 15:59:56 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2124
2125 * read.c (s_app_file): If obj_app_file is defined, call it with
2126 string as argument. Don't call c_dot_file_symbol or
2127 elf_file_symbol.
2128 * config/obj-coff.h (obj_app_file): Define as c_dot_file_symbol.
2129 * config/obj-elf.h (obj_app_file): Define as elf_file_symbol.
2130
2131 * as.h (OUTPUT_FLAVOR): Don't define here.
2132 * config/obj-aout.h (OUTPUT_FLAVOR) [BFD_ASSEMBLER]: Define.
2133 * config/obj-bout.h (OUTPUT_FLAVOR): Define.
2134 * config/obj-coff.h (OUTPUT_FLAVOR) [BFD_ASSEMBLER]: Define.
2135 * config/obj-ecoff.h (OUTPUT_FLAVOR): Define.
2136 * config/obj-elf.h (OUTPUT_FLAVOR): Define.
2137
86a90ab9
DE
2138start-sanitize-arc
2139Sat Apr 29 21:44:57 1995 Doug Evans <dje@chestnut.cygnus.com>
2140
2141 * config/tc-arc.c (delay_slot_type): Deleted.
2142 (md_assemble): Remember suffixes seen.
2143 Issue warnings for 8 byte jump with delay slot, and conditional
2144 branch immediately following set of condition codes.
2145end-sanitize-arc
2146
85f667f7
DE
2147Thu Apr 27 20:07:33 1995 Doug Evans <dje@canuck.cygnus.com>
2148
2149 * Makefile.in (RUNTEST): Use one in srcdir if present.
2150 (RUNTESTFLAGS): Define.
2151
931a8fab
KR
2152Wed Apr 26 15:54:10 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2153
2154 Support for more portable alignment handling in assembly code,
2155 based on patches from Bryan Ford <baford@schirf.cs.utah.edu>:
2156 * read.c (potable): Added balign and p2align, for aligning by
2157 bytes or powers of two independent of what ".align" does for a
2158 given target.
2159 * doc/as.texinfo: Document them.
2160
404f16f5
RS
2161Tue Apr 25 11:12:04 1995 Rob Savoye <rob@thepub.cygnus.com>
2162
2163 * configure, configure.in: Look for m68k-*-vxworks* rather than
2164 just m68k-wrs-vxworks so gas can be configured for
2165 m68k-vxworks5.1.
2166
2167Fri Apr 21 15:19:06 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2168
2169 * config/tc-sh.c (md_apply_fix): If fx_r_type is zero, handle
2170 fx_size of 1, and abort on unrecognized sizes.
2171
2172 * config/tc-m68k.c (m68k_ip): Fix bug in last change regarding
2173 non-isvar case.
2174
2175Sun Apr 16 01:52:52 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
2176
2177 * config/tc-m68k.h (md_relax_table, TC_GENERIC_RELAX_TABLE):
2178 Missed this one in 11 Apr changes.
2179
2180 * config/tc-i386.h (TC_GENERIC_RELAX_TABLE): Fix typo.
2181
bcee935e
KR
2182Thu Apr 13 18:18:08 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2183
51ba1ae6
KR
2184 * config/tc-sh.c (md_convert_frag): Instead of aborting on large
2185 displacements, print an error message. Don't invoke the code that
2186 followed the abort call until it's been verified.
2187
bcee935e
KR
2188 * config/tc-m68k.c (md_show_usage): Add 68060 to list. Split cpu
2189 list into three lines.
2190
2191Thu Apr 13 14:34:36 1995 Torbjorn Granlund <tege@adder.cygnus.com>
2192
2193 * tc-m68k.c (m68k_init_after_args): Test for m68360.
2194 (md_parse_option): Likewise.
2195 (md_show_usage): Mention m68360.
2196 * tc-m68k.h (TARGET_WORD_SIZE): Define.
2197 (TARGET_ARCH): Define.
2198
2199 * expr.c (integer_constant): If TARGET_WORD_SIZE is defined,
2200 sign-extend appropriately.
2201
2202Thu Apr 13 11:20:17 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2203
2204 * config/tc-ppc.c (ppc_elf_validate_fix): Properly use PARAMS to
2205 hide prototype from non-ANSI compilers, and don't use ANSI syntax
2206 for arguments.
2207
b5549686
SS
2208Wed Apr 12 12:20:19 1995 Stan Shebs <shebs@andros.cygnus.com>
2209
2210 * mpw-config.in (TDEFINES): Put empty definition into
2211 makefile fragment.
2212 * mpw-make.in (xmalloc.c.o): Remove.
2213 (as.new): Depend on Version.r.
2214 (Version.r): Generate from version info.
2215
2216 * mpw-make.in: Delete references to hex-value.c.
2217
2218 * mpw-config.in: Add mapping from configs to object file formats,
2219 get VERSION from Makefile.in and add to mk.tmp.
2220 (mips-idt-ecoff) [TDEFINES]: Add TARGET_BYTES_BIG_ENDIAN.
2221 * mpw-make.in (VERSION, gC): Don't define.
2222 (ALL_CFLAGS): Remove -d flags.
2223 (config.h): Remove definition of MPW, add HAVE_STDARG_H,
2224 BFD_ASSEMBLER.
2225
2226 * mpw-make.in (ALL_CFLAGS): Add definition of HAVE_STDARG_H,
2227 include of ::libiberty:.
2228 (config.h): Ifdef contents on GAS_VERSION.
2229
2230 * mpw-make.in (as.c): Compile with C not gC.
2231 (config-stamp): Touch correctly.
2232 (install-only): New target.
2233 (install): Depend on all and install-only.
2234
2235 * mpw-config.in: Parse target and use to generate forward includes
2236 to tc-, obj-, and atof- files, use te-generic.h for emulation.
2237 * mpw-make.in (VERSION): Define.
2238 (as.c): Compile with GCC.
2239 (TARG_OBJECTS, CLIBS): Define.
2240 (as.new): Use LDFLAGS, TARG_OBJECTS, CLIBS and EXTRALIBS in link
2241 command.
2242 (config.h, config-stamp): Build.
2243
2244 * mpw-make.in (C, CFLAGS): Removed definitions.
2245 (ALL_CFLAGS): Define.
2246 Set default rule to use {CC} instead of {C}.
2247
2248 * mpw-make.in (install): Moved here from mpw-build.in.
2249 * mpw-build.in: Removed, functionality in mpw-make.in
2250
2251 * mpw-make.in (CFLAGS): Add more include paths.
2252
2253 * mpw-config.in (varargs.h, sys/*.h): Don't create when
2254 configuring.
2255 * mpw-make.in (CFLAGS): Add -w flag.
2256
2257 * mpw-make.in: Replace 8-bit chars with their names.
2258
2259 * mpw-config.in: New file, MPW version of configure.in.
2260 * mpw-make.in: New file, MPW version of Makefile.in.
2261
5d57a66b
DE
2262start-sanitize-arc
2263Wed Apr 12 07:35:44 1995 Doug Evans <dje@canuck.cygnus.com>
2264
2265 * config/tc-arc.c (delay_slot_type): New function.
2266 (md_assemble): Use hashed list of insns.
2267 Print warning if 8 byte insn appears in delay slot.
2268 (md_operand): Handle %st(sym1-sym2).
2269 (get_arc_exp_reloc_type): Likewise.
2270 (md_apply_fix, case BFD_RELOC_ARC_B26): Now using implicit addends
2271 so must store them here.
2272end-sanitize-arc
2273
7beebeb6
KR
2274Tue Apr 11 01:42:36 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2275
98df0912
KR
2276 * configure.in: Require at least autoconf 2.3, because earlier
2277 versions lose on some AIX versions.
2278 * configure: Regenerated.
2279
2280 * configure.in: Add m68k-*-elf.
2281 * config/tc-m68k.c (comment_chars) [OBJ_ELF]: Include '#'.
2282 (md_pseudo_table) [OBJ_ELF]: Ignore "swbeg".
2283 (md_begin): Set alt_notend_table['&'], so svr4-style immediate
2284 operands are accepted.
2285 (md_apply_fix): Argument VALP should point to valueT.
2286 (md_convert_frag): Argument SEC should be type segT.
2287 (md_shortopts) [OBJ_ELF]: Accept 'Q' with an argument.
2288 (md_parse_option): Ignore it.
2289 (md_convert_frag_1): Add in frag address for the symbol in the
2290 displacement calculation.
2291 * config/tc-m68k.h (TARGET_FORMAT) [OBJ_ELF]: Use "elf32-m68k".
2292 (TARGET_ARCH): Define.
2293 (REGISTER_PREFIX_OPTIONAL) [OBJ_ELF]: Default to 0.
2294 (LOCAL_LABEL, FAKE_LABEL_NAME, REGISTER_PREFIX_OPTIONAL): Handle
2295 these the same way for OBJ_ELF as for M68KCOFF.
2296
7beebeb6
KR
2297 * gdbinit.in: Add breakpoint in as_abort.
2298
2299 * write.c (cvt_frag_to_fill): If offset is less than zero,
2300 complain about it specifically, instead of reporting an assertion
2301 failure.
2302 (relax_segment): Complain about .org backwards, then ignore it.
2303 Do generic rs_machine_dependent relaxation only if
2304 TC_GENERIC_RELAX_TABLE is defined, and use its value for the base
2305 of the table.
2306 * tc.h (md_relax_table): Delete declaration.
7b1f56d4 2307 * as.h (struct relax_type): Add forward declaration for type.
7beebeb6
KR
2308 * config/tc-a29k.c: Deleted md_relax_table.
2309 * config/tc-{alpha,arm,h8300,hppa,i860,m88k,mips,ppc,sparc,z8k}.c:
2310 Ditto.
2311 * config/tc-{h8500,i386,i960,ns32k,sh,tahoe,vax,w65}.h: Declare
2312 md_relax_table here, and define TC_GENERIC_RELAX_TABLE to expand
2313 to md_relax_table.
2314 * config/tc-h8500.c (md_relax_table): No longer const.
2315 * config/tc-w65.c (md_relax_table): Ditto.
2316 * config/tc-sparc.c (md_short_jump_size, md_long_jump_size):
2317 Deleted.
2318start-sanitize-arc
2319 * config/tc-arc.c (md_relax_table, md_short_jump_size,
2320 md_long_jump_size): Deleted.
2321end-sanitize-arc
2322start-sanitize-rce
2323 * config/tc-rce.h: Declare md_relax_table here, and define
2324 TC_GENERIC_RELAX_TABLE to expand to it.
2325end-sanitize-rce
faf2dc27
KR
2326 * doc/internals.texi: Describe TC_GENERIC_RELAX_TABLE and
2327 WORKING_DOT_WORD. Mention md_*_jump_size (but description needs
2328 to be fleshed out later). Note m68k PCINDEX mode has been checked
2329 in.
7beebeb6 2330
7015284b
KR
2331Mon Apr 10 15:57:42 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2332
7beebeb6
KR
2333 * config/tc-mips.c (nopic_need_relax): New static function, split
2334 out from md_estimate_size_before_relax.
2335 (md_estimate_size_before_relax): Call it.
2336 (load_address, macro): In NO_PIC branches, if nopic_need_relax
2337 returns nonzero, don't attempt GP optimization.
2338
2339 * config/tc-m68k.c (PCINDEX): New macro.
2340 (md_relax_table): No longer const. Add PCINDEX entries.
2341 (m68k_ip): For AINDX with simple symbol operand, generate a
2342 PCINDEX frag if PC is used, or do normal non-AINDX processing for
2343 address register.
2344 (m68k_init_after_args): If cpu is 68000 or 68010, fix
2345 md_relax_table to prevent relaxation of PCINDEX/BYTE mode to
2346 SHORT, since they don't support that mode.
2347 (md_convert_frag_1, case PCLEA/LONG): Add 4 to offset, not 2. Add
2348 support for new PCINDEX modes.
2349 (md_estimate_size_before_relax): Process PCINDEX/SZ_UNDEF mode.
2350
2351 * config/tc-m68k.c (md_convert_frag_1, case PCLEA/SHORT): Add 2 to
2352 offset.
2353 (m68k_ip, case most punctuation/AOFF): If using PC, call add_frag
2354 using PCLEA.
2355
2356 * config/tc-m68k.c: Don't explicitly include config.h. Deleted a
2357 bunch of "#if 0" code and useless comments.
2358 (struct m68k_cpu): New type.
2359 (archs, n_archs): New variables, with single list of name/enum
2360 mapping and aliases.
2361 (m68k_ip): Delete the table here.
2362 (m68k_init_after_args): Use the new table here instead of
2363 open-coding it.
2364 (md_parse_option, case 'm'): Ditto.
2365
7015284b
KR
2366 * doc/Makefile.in (Makefile): Fix rule for running config.status.
2367 (internals.dvi, internals.ps, internals.ps4): New targets, not
2368 built by default.
2369
2370 * doc/internals.texi: Add loud disclaimer. Refill to 79 columns,
2371 specify fill-column in local-variables section. Change
2372 subheadings to subsections so they can be cross-referenced.
2373 Describe broken words, frags, frag chains, generic relaxation,
2374 relax table, m68k relaxation, m68k addressing modes, test suite
2375 code. Add a few words about various file formats.
2376
2377 * doc/as.texinfo (m68k): Recommend using `%' with registers as the
2378 normal case, instead of the exceptional case.
2379
47ba63b2
DE
2380start-sanitize-arc
2381Thu Apr 6 20:00:11 1995 Doug Evans <dje@chestnut.cygnus.com>
2382
2383 * config/tc-arc.c (arc_condition_codes): Deleted.
2384 (init_opcode_tables): Delete cpu_type_map, call
2385 arc_get_opcode_mach instead.
2386 (arc_common): Delete non-ELF stuff. Require leading '.' in .data.
2387 (md_apply_fix): Delete non-ELF stuff.
2388 Disable special handling of limm values, treat them normally.
2389 (get_arc_exp_reloc_type): New argument `data_p'. Callers updated.
2390 (md_assemble): All limm operands must be output by gas, the opcode
2391 insertion routines cannot be used (they don't do anything and we're
69cb5925 2392 using implicit addends now so we need to output something).
47ba63b2
DE
2393 * config/tc-arc.h (FAKE_LABEL_NAME): Define.
2394end-sanitize-arc
2395
2396Thu Mar 30 14:38:47 1995 H.J. Lu (hjl@nynexst.com)
2397
2398 * configure.in: Change linux to default to elf. Using
2399 i[345]86-*-linuxaout will defaults to a.out.
2400 * configure: Rebuild.
2401
6d7bcd2f
TG
2402Wed Mar 29 17:16:30 1995 Torbjorn Granlund <tege@adder.cygnus.com>
2403
2404 * config/tc-m68k.c (md_apply_fix_2): Cast negative offsets to offsetT
2405 (for hosting on 64 bit machines).
2406
350f083c
ILT
2407Tue Mar 21 16:53:27 1995 Ian Lance Taylor <ian@cygnus.com>
2408
2409 * config/tc-mips.c (md_show_usage): Mention -mips4 and -m4650.
2410
2411Fri Mar 17 16:47:13 1995 Stan Shebs <shebs@andros.cygnus.com>
2412
2413 * write.c (write_object_file): Add PROGRESS macros.
2414
bff1e14d
JL
2415Fri Mar 17 12:40:34 1995 Jeff Law (law@snake.cs.utah.edu)
2416
2417 * config/tc-hppa.c (pa_comm): Make sure to always reset the frag
2418 and section for common symbols.
2419
2420Thu Mar 16 17:26:18 1995 Michael Meissner <meissner@cygnus.com>
2421
2422 * config/tc-ppc.c (ppc_elf_validate_fix): Allow non PC relative
2423 pointers in the .ctors and .dtors section also when using the
2424 -mrelocatable option.
2425 (md_parse_option): Support -m403 as a PowerPC computer.
2426 (md_show_usage): Ditto.
2427
e5926c4a
ILT
2428Wed Mar 15 14:45:42 1995 Ian Lance Taylor <ian@cygnus.com>
2429
2430 * ecoff.c (ecoff_build_debug): The cur_scope field of a fil_ptr
2431 may be NULL when given strange input. Don't core dump.
2432
a7f668c0
ILT
2433Tue Mar 14 21:36:34 1995 Ian Lance Taylor <ian@cygnus.com>
2434
2435 * config/tc-mips.c (load_register): Don't use addiu for dli of an
2436 unsigned seemingly negative number. Don't bother shifting a zero
2437 value.
2438 (mips_ip): For case 'j', if there are more alternatives, and the
2439 ISA level is at least 3, don't accept an unsigned seemingly
2440 negative number.
2441
f6bc42a3
KR
2442Tue Mar 14 19:16:43 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2443
2444 * read.c (s_app_line): Fix last patch to deal with a line number
2445 of 1.
2446
ce9a2805
MM
2447Tue Mar 14 17:00:57 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2448
2449 * config/tc-ppc.c (ppc_elf_validate_fix): Use as_warn_where, not
2450 as_bad_where to give a warning instead of an error.
2451
85a30e59
KR
2452Mon Mar 13 17:03:46 1995 Pat Rankin (rankin@eql.caltech.edu)
2453
2454 * config/tc-vax.c (md_assemble): issue a warning if a constant
2455 is used as an operand where an immediate value is not allowed.
2456
78fcad58
KR
2457Fri Mar 10 19:21:19 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2458
69cb5925 2459 * config/obj-coff.c: Redo my 10 Jan change, but get it right this
78fcad58
KR
2460 time. :-)
2461 (fixup_segment): If linkrelax is set, just return.
2462 (write_object_file): Don't treat h8300 and z8k specially with
2463 regard to fixups.
2464 * config/tc-h8300.c (md_begin): Set linkrelax.
2465 * config/tc-z8k.c (md_begin): Ditto.
2466
5fc2a6ec
ILT
2467Thu Mar 9 18:01:37 1995 Ian Lance Taylor <ian@cygnus.com>
2468
2469 * config/obj-coff.c (coff_header_append): Check return value of
2470 bfd_coff_swap_scnhdr_out.
2471
9a6ec5eb
DE
2472Thu Mar 9 13:51:30 1995 Doug Evans <dje@canuck.cygnus.com>
2473
2474 Delete this patch, it breaks the h8300 assembler.
2475 Tue Jan 10 13:34:14 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2476 * config/obj-coff.c (write_object_file): Don't treat h8300 and z8k
2477 specially with regard to fixups.
2478
2479Thu Mar 9 12:28:18 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2480
2481 * config/tc-ppc.c (mrelocatable): Change type to boolean.
2482 (md_begin): Set the EF_PPC_RELOCATABLE if -mrelocatable.
2483
a79bf95d
ILT
2484Wed Mar 8 15:39:39 1995 Ian Lance Taylor <ian@cygnus.com>
2485
2486 * config/tc-mips.c (md_begin): Check for a cpu string of r8000 or
2487 r10000. If mips_isa is 4, set the machine number to 8000.
2488 (append_insn): If mips_isa is at least 4, don't generate nops for
2489 coprocessor delays. Check INSN_READ_FPR_R when setting
2490 mips_cprmask[1].
2491 (mips_emit_delays): If mips_isa is at least 4, don't generate nops
2492 for coprocessor delays.
2493 (mips_ip): Check for INSN_ISA4 instructions. Handle new argument
2494 types 'h', 'R', 'N', and 'M'.
2495 (md_longopts): Accept "mips4".
2496 (md_parse_option): Handle -mips4, and -mcpu=10000 and -mcpu=8000.
2497 (s_mipsset): Permit .set mips4.
2498
74e1b52e
MM
2499Wed Mar 8 09:36:05 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2500
2501 * config/tc-ppc.c (ppc_elf_validate_fix): Allow .stab sections to
2502 have non PC relative relocations with -mrelocatable.
2503
82a7c457
KR
2504Wed Mar 8 02:57:53 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2505
2506 * config/tc-m68k.c (opcode_ptr): Return pointer to const.
2507 (md_begin): Make hash table errors fatal. Process opcode aliases
2508 after main opcode table.
2509 (md_apply_fix_2, case 4): Recode setting of lower_limit to avoid
2510 gcc warning.
2511
3f4487d0
DE
2512start-sanitize-arc
2513Tue Mar 7 20:42:35 1995 Doug Evans <dje@chestnut.cygnus.com>
2514
2515 * config/tc-arc.h (LITTLE_ENDIAN, BIG_ENDIAN): Define.
2516 (DEFAULT_TARGET_FORMAT): Define.
2517 (DEFAULT_BYTE_ORDER): Define to little endian.
2518 (TARGET_FORMAT): Byte order is now selectable.
2519 * config/tc-arc.c (arc_target_format): New variable.
2520 (byte_order): New variable.
2521 (md_longopts): New options -EL, -EB.
2522 (md_parse_option): Recognize them.
2523 (md_show_usage): Print them.
2524 (md_begin): Set target_big_endian.
2525end-sanitize-arc
2526
3e39a556
ILT
2527Tue Mar 7 16:07:10 1995 Ian Lance Taylor <ian@cygnus.com>
2528
2529 * doc/as.texinfo: Add documentation for SPARC V9, from Doug Evans
2530 <dje@cygnus.com>.
2531
5f241617
JL
2532Mon Mar 6 09:58:34 1995 Jeff Law (law@snake.cs.utah.edu)
2533
2534 * config/tc-hppa.c: Change all occurences of pa-89 with pa-11 to
2535 be consistent with current naming conventions.
2536 (md_begin): Set a default architecture and machine type.
2537 (pa_ip): If the current instruction specifies a newer machine type
2538 than the current machine type, then update the current machine
2539 type.
2540 (need_pa11_opcode): Likewise.
2541
2c23d22b
JL
2542Sun Mar 5 19:38:09 1995 Jeff Law (law@snake.cs.utah.edu)
2543
2544 * config/tc-hppa.c (pa_ip, case 'z'): Don't lose argument
2545 relocation bits for absolute calls.
2546
0578ade3
KR
2547Fri Mar 3 17:41:50 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2548
cb7973c3
KR
2549 * config/tc-h8300.* (md_operand): Change empty function to empty
2550 macro.
2551
2552 * config/tc-h8300.c (build_bytes): Make H8/300-H warning message
2553 clearer.
2554
0578ade3
KR
2555 * write.c (write_contents): If bfd_set_section_contents fails,
2556 print a message and exit, instead of aborting.
2557
3f81f3cf
MM
2558Fri Mar 3 16:26:19 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2559
2560 * tc.h (md_apply_fix3): If MD_APPLY_FIX3 is defined, declare
2561 md_apply_fix3.
2562
2563 * write.c (fixup_segment): If MD_APPLY_FIX3 is defined, call
2564 md_apply_fix3 with the normal 2 arguments and the current segment
2565 pointer instead of md_apply_fix.
2566
2567 * config/tc-ppc.h (MD_APPLY_FIX3): Define.
2568
2569 * config/tc-ppc.c (ppc_elf_validate_fix): Warn if -mrelocatable
2570 and a non PC relative relocation that isn't in the .got2 segment
2571 was performed.
2572 (md_apply_fix3): Rename from md_apply_fix and take segment pointer
2573 as third argument. If ELF object format, call ppc_elf_validate_fix
2574 for normal relocations.
2575 (md_parse_option): If ELF object format, recognize the
2576 -mrelocatable switch.
2577
2578Thu Mar 2 16:34:44 1995 Ian Lance Taylor <ian@cygnus.com>
2579
2580 * config/tc-i386.h (AOUT_MACHTYPE): Define as 100, not 0.
2581
33d8f469
KR
2582Tue Feb 28 18:29:27 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2583
2584 * config/tc-arm.c, config/tc-arm.h (md_operand): Replaced empty
2585 function in .c file with empty macro in .h file.
2586 * config/tc-h8500.*, config/tc-hppa.*, config/tc-i386.*,
2587 config/tc-i860.*, config/tc-i960.*, config/tc-ns32k.*,
2588 config/tc-ppc.*, config/tc-sh.*, config/tc-sparc.*,
2589 config/tc-tahoe.*, config/tc-vax.*, config/tc-w65.*,
2590 config/tc-z8k.*: Ditto.
2591start-sanitize-rce
2592 * config/tc-rce.*: Ditto.
2593end-sanitize-rce
46f12809
KR
2594 * config/tc-m68k.*: Ditto.
2595
2596 * config/tc-m68k.c (mote_pseudo_table): Removed dots from opcode
2597 names.
33d8f469
KR
2598
2599 * read.c (s_app_line): Ignore non-positive line numbers.
2600
0877841d
ILT
2601Tue Feb 28 15:34:14 1995 Ian Lance Taylor <ian@cygnus.com>
2602
2603 * config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust PLT or
2604 GOT relocs either.
2605
d2c02060
KH
2606Mon Feb 27 13:03:41 1995 Kung Hsu <kung@mexican.cygnus.com>
2607
2608 * configure.in: add a29k-*-vxworks configuration.
2609
7811254c
ILT
2610Fri Feb 24 14:41:15 1995 Ian Lance Taylor <ian@cygnus.com>
2611
d2c02060
KH
2612 * config/tc-mips.c (load_register): Take dbl argument to determine
2613 handling of signed 32 bit values in 64 bit modes. Change all
2614 callers.
2615 (macro): Handle M_DLI and M_DLA_AB.
7811254c 2616
e386acc8
JL
2617Wed Feb 22 23:10:56 1995 Jeff Law (law@snake.cs.utah.edu)
2618
2619 * config/tc-hppa.c (md_apply_fix): Don't subtract the value of the
2620 add symbol if it's a common symbol (the value of a common symbol
2621 is its size, not a value in the traditional sense).
2622
546f5536
ILT
2623Wed Feb 22 21:12:28 1995 Ian Lance Taylor <ian@cygnus.com>
2624
2625 * config/tc-mips.c (append_insn): If listing_prev_line is called,
2626 call frag_grow to make sure there is still room for a variant.
2627
7a3761e1
ILT
2628Fri Feb 17 14:50:08 1995 Ian Lance Taylor <ian@cygnus.com>
2629
61420a20
ILT
2630 * config/tc-mips.c (md_pseudo_table): Add 2byte, 4byte and 8byte
2631 if OBJ_ELF. From gary@Intrepid.COM (Gary Funck).
2632
7a3761e1
ILT
2633 * config/obj-elf.c (elf_frob_symbol): Warn if a symbol is both
2634 weak and common.
2635 * config/obj-aout.c (obj_aout_frob_symbol): Likewise.
2636
5836732b
MM
2637Fri Feb 17 12:43:47 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2638
2639 * config/tc-ppc.c (md_pseudo_table): Don't redefine byte under
2640 ELF.
2641 (ppc_elf_cons): Don't support @pcrel any more, since DIFF_EXPR_OK
2642 allows the normal expressions to generate it.
2643 (md_apply_fix): Convert BFD_RELOC_32 with pcrel bit set into
2644 BFD_RELOC_32_PCREL. Abort if either BFD_RELOC_16 or BFD_RELOC_8
2645 need PC relative relocations.
2646
2647 * config/tc-ppc.h (DIFF_EXPR_OK): Define to allow PC relative
2648 expressions to be handled.
2649
b8ed3de3
DE
2650Thu Feb 16 14:30:13 1995 Doug Evans <dje@cygnus.com>
2651
2652 * expr.c (operand): Move md_operand handling to default case
2653 (so it works).
2654
efc538ba
ILT
2655Wed Feb 15 16:08:47 1995 Jason Molenda <crash@cygnus.com>
2656
2657 * config/tc-h8500.c (tc_coff_symbol_emit_hook): Add ignored
2658 parameter, to match prototype.
2659
4a6b2f8b
MM
2660Wed Feb 15 15:07:00 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2661
2662 * config/tc-ppc.c (md_pseudo_table): If ELF, go to ppc_elf_cons
2663 instead of cons.
2664 (md_show_usage): Show all of the PowerPc options.
2665 (ppc_elf_suffix): New function to recognize ELF suffixes that
2666 specify a relocation, such as @GOT.
2667 (ppc_elf_cons): Replacement for the standard cons function that
2668 knows about the ELF suffixes.
2669 (ppc_fixup): Add reloc field to hold non-standard relocation.
2670 (md_assemble): Handle ELF suffixes like @GOT.
2671 (md_create_short_jump): Dummy in case WORKING_DOT_WORD is not
2672 defined.
2673 (md_create_long_jump): Ditto.
2674 (md_short_jump_size): Ditto.
2675 (md_long_jump_size): Ditto.
2676 (md_apply_fix): Handle BFD_RELOC_32_PCREL, BFD_RELOC_LO16,
2677 BFD_RELOC_HI16, BFD_RELOC_HI16_S, BFD_RELOC_PPC_TOC16, and
2678 BFD_RELOC_16 relocations. If relocation can not be found, print
2679 the decimal value of the relocation.
2680
b2b8c24e
ILT
2681Wed Feb 15 11:46:02 1995 Ian Lance Taylor <ian@cygnus.com>
2682
49ad0c4c
ILT
2683 * config/tc-mips.c (md_apply_fix): Accept BFD_RELOC_16, for
2684 DWARF. From gary@Intrepid.COM (Gary Funck).
2685
adcf2b9d
ILT
2686 * config/tc-mips.c (macro): Handle M_U{L,S}D[_A] (unaligned double
2687 loads and stores).
2688
2689 * config/tc-i386.c (tc_i386_fix_adjustable): Do adjust global
2690 symbols if OBJ_AOUT.
2691
b2b8c24e
ILT
2692 * config/tc-mips.c (macro): Don't use the target register as a
2693 base register when building the address for M_L{W,D}{L,R}_AB.
2694
08b7351f
ILT
2695Mon Feb 13 14:44:32 1995 Ian Lance Taylor <ian@cygnus.com>
2696
b2b8c24e
ILT
2697 * config/tc-mips.c (KT0, KT1): Define.
2698 (mips_ip): Recognize $kt0 and $kt1 as register names.
2699
08b7351f
ILT
2700 * config/tc-sparc.h (tc_fix_adjustable): Define if OBJ_ELF.
2701 * config/tc-sparc.c (md_apply_fix): If OBJ_ELF, subtract out the
2702 value of a defined symbol; the value was added in by
2703 fixup_segment. This was previously corrected, if the reloc was
2704 changed to be against a section symbol, in tc_gen_reloc.
2705
2706start-sanitize-arc
2707Mon Feb 13 10:02:35 1995 Doug Evans <dje@canuck.cygnus.com>
2708
2709 * config/tc-arc.h (TC_PARSE_CONS_EXPRESSION): Define.
2710 (TC_CONS_FIX_NEW): Define.
2711 * config/tc-arc.c (get_arc_exp_operand_type): New function.
2712 (init_opcode_tables): Insert registers into global symbol table.
2713 (md_assemble): Call `expression' to parse all expressions.
2714 Call `get_arc_exp_operand_type'.
2715 (md_operand): Recognize %st(foo).
2716 (arc_parse_cons_expression): New function.
2717 (arc_cons_fix_new): New function.
2718 (md_apply_fix): Handle new reloc BFD_RELOC_ARC_B26.
2719end-sanitize-arc
2720
e13a80f7
ILT
2721Fri Feb 10 14:04:04 1995 Ian Lance Taylor <ian@cygnus.com>
2722
2723 * config/tc-i386.c (tc_i386_fix_adjustable): Use S_IS_EXTERN
2724 rather than !S_IS_LOCAL.
2725
2ec8f45e
DE
2726start-sanitize-arc
2727Thu Feb 9 17:44:29 1995 Doug Evans <dje@canuck.cygnus.com>
2728
2729 * config/tc-arc.c (md_pseudo_table): Add .cpu.
2730 (comment_chars): Add ';'.
2731 (arc_mach_type, mach_type_specified, cpu_tables_init_p): New globals.
2732 (md_parse_option): Delete support for -mmult. Add -mcpu=xxx.
2733 (md_begin): Current ARCs are little endian.
2734 Call bfd_set_arch_mach to set the cpu type.
2735 (init_opcode_tables): New function.
2736 (md_begin): Ignore suffixes and registers not supported by cpu.
2737 (md_assemble): Initialize opcode tables here.
2738 Ignore opcodes not supported by selected cpu.
2739 Always ask for more memory in one piece.
2740 (arc_cpu): New function.
2741 (md_numbers_to_chars): Support both endians (will probably be needed
2742 eventually anyway).
2743 (md_apply_fix): Likewise.
2744 * config/tc-arc.h (LOCAL_LABEL): Delete "_.L_", gcc works around
2745 dwarfout.c quirk.
2746end-sanitize-arc
2747
79c4bb34
ILT
2748Thu Feb 9 18:16:34 1995 Ian Lance Taylor <ian@cygnus.com>
2749
2750 * config/tc-i386.c (md_assemble): Adjust conditions for changing
2751 BFD_RELOC_32 to BFD_RELOC_386_GOTPC to handle a switch in frags.
2752 Patch originally from Rob Ryan <robr@cmu.edu>.
2753
2754 * config/tc-i386.c: Include subsegs.h.
2755 (tc_i386_fix_adjustable): Declare return value.
2756 (i386_operand): Don't use an assignment directly as a condition.
2757
e6d31135
JL
2758Thu Feb 9 10:37:13 1995 Jeff Law (law@snake.cs.utah.edu)
2759
2760 * config/tc-hppa.c (md_apply_fix): In some cases subtract the
2761 value of the add symbol from valp. Offsets braindamage in the
2762 "machine independent" fixup_segment.
2763
15f146be
KR
2764Wed Feb 8 18:51:23 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2765
e10c7dfc
KR
2766 * messages.c (as_abort): New function.
2767 * as.h (as_abort): Declare it.
2768 (abort): New macro.
2769
15f146be
KR
2770 Thu Jan 19 18:10:05 1995 Pat Rankin (rankin@eql.caltech.edu)
2771
2772 * config/vms-conf.h (HAVE_UNISTD_H): define it unconditionally.
2773 * config-gas.com: test for availability of <unistd.h>; create a
2774 rudimentary one if necessary.
2775
06c08e9a
MM
2776Tue Feb 7 13:34:46 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2777
2778 * configure.in: Add powerpc-*-eabi support, which is the same as
2779 powerpc-*-elf.
2780 (configure): Rebuild with autoconf.
2781
c54c7aac
KR
2782Mon Feb 6 03:37:00 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2783
2784 Changes from Bryan Ford <baford@schirf.cs.utah.edu> for i386
2785 16-bit and msdos support:
2786 * config/tc-i386.c (flag_16bit_code): New variable.
2787 (set_16bit_code_flag): New function.
2788 (md_pseudo_table): Added entries "code16" and "code32".
2789 (md_assemble): Ensure that correct data-size prefixes get emitted,
2790 based on the current mode. Ensure that 32-bit addressing will
2791 always be done. Move segment-prefix handling code. (Why?) Use
2792 16-bit jumps for 16-bit code, 32-bit jumps for 32-bit code.
2793 * config/tc-i386.h (MAX_PREFIXES): Bump to 5.
2794 (Data16, Data32): Define.
2795 * doc/as.texinfo (i386-16bit): New node.
2796 * configure.in (i386-*-msdos*): New target, using a.out format.
2797 * configure: Regenerated.
2798
e2bf6880
KR
2799Thu Feb 2 15:21:24 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2800
2801 * config/tc-m68k.c (cpu32_control_regs): New macro.
2802 (m68k_init_after_args): Use it, for cpu32 processors.
2803
b003a2d9
KR
2804 Tue Jan 31 17:20:45 1995 Pat Rankin (rankin@eql.caltech.edu)
2805
2806 * config/obj-vms.c (vms_tir_stack_psect): new routine;
2807 (VMS_Set_Data, VMS_Set_Psect, VMS_Store_PIC_Symbol_Reference,
2808 VMS_TBT_Routine_Begin, VMS_TBT_Line_PC_Correlation): use it;
2809 (VMS_Global_Symbol_Spec, VMS_Procedure_Entry_Pt): treat
2810 Psect_Number as `unsigned'.
2811
2812 Thu Jan 26 17:06:28 1995 Pat Rankin (rankin@eql.caltech.edu)
2813
2814 * config/obj-vms.c: performance tuning.
2815 (VMS_Symbol_type_list): convert from single list head to small
2816 array of list heads;
2817 (SYMTYP_HASH): new macro for accessing VMS_Symbol_type_list[];
2818 (find_symbol, setup_basic_type, VMS_typedef_parse): use it;
2819 (VMS_RSYM_Parse): move S_GET_VALUE() inside switch to avoid
2820 calling it for uninteresting cases.
2821
b4682e51
JL
2822Wed Feb 1 23:52:45 1995 Jeff Law (law@snake.cs.utah.edu)
2823
2824 * config/tc-hppa.c (md_apply_fix): Go ahead and call
2825 hppa_field_adjust to get a new value for R_DATA_ONE_SYMBOL
2826 relocations in SOM.
2827 (hppa_fix_adjustable): Refine somewhat.
2828
e2bf6880
KR
2829Fri Jan 27 21:29:53 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2830
2831 * config/tc-ppc.h (NO_STRING_ESCAPES): Don't define if we are
2832 using ELF.
2833
a18a0f22
KR
2834Thu Jan 26 19:03:42 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2835
2836 * config/tc-h8300.c (get_specific): Add parens around | inside &.
2837 (skip_colonthing): Set L_8 if ":8" is specified.
2838
76e30835
ILT
2839Thu Jan 26 18:38:01 1995 Ian Lance Taylor <ian@cygnus.com>
2840
2841 * config/tc-ppc.c (md_begin): Permit mfdec to be duplicated on the
2842 601. Check that the error return from hash_insert is "exists".
2843
da8fa3ba
MM
2844Thu Jan 26 11:35:33 1995 Michael Meissner <meissner@cygnus.com>
2845
2846 * configure: Add support for configuring powerpc-*-eabi.
2847
2848 * config/tc-ppc.c (GOT_symbol): Define if object format is ELF.
2849
2850 * config/tc-ppc.h (GLOBAL_OFFSET_TABLE_NAME): Define if object
2851 format is ELF and not defined to be "_GLOBAL_OFFSET_TABLE_".
2852
8d9a1cce
JW
2853Wed Jan 25 16:23:13 1995 Jim Wilson <wilson@chestnut.cygnus.com>
2854
2855 * tc-sh.c (little): Add argument IGNORE to avoid compiler warnings.
2856 (md_pseudo_table): Add space for consistent formatting.
2857 (COND8_RANGE, COND12_RANGE): Delete unused macros.
2858 (COND8_F, COND8_M, COND12_F, COND12_M, UNCOND12_F, UNCOND12_M):
2859 Correct minimum and maximum branch offsets. Add comments explaining
2860 why these numbers are correct.
2861
1eeb357e
ILT
2862Wed Jan 25 15:32:09 1995 David Edelsohn <edelsohn@mhpcc.edu>
2863
2864 * config/tc-ppc.c (md_parse_option): Accept mpwr2 as a synonym for
2865 mpwrx; mppc32, m603, and m604 as synonyms for mppc; and mppc64 and
2866 m620 for PowerPC64 mode.
2867 (ppc_symbol_new_hook): Add T0 as synonym for TC0 suffix.
2868
f2224fe2
KR
2869Tue Jan 24 16:44:23 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2870
2871 * config/tc-vax.c (vip): Introduce new ptr-to-const local variable
2872 for scanning operand string.
2873
2874 Sat Jan 21 17:50:38 1995 Pat Rankin (rankin@eql.caltech.edu)
2875
2876 * config/vax-inst.h (struct vop, fields `vop_warn', `vop_error'):
2877 make them pointers to const char;
2878 (struct vit, field `vit_error'): ditto.
2879 * config/atof-vax.c (md_atof): rename local `littlenum_pointer'
2880 to `littlenumP' to avoid shadowing file scope variable.
2881 * config/tc-vax.c (vip_begin, vip_op_defaults, vip_op_1): make
2882 string arguments be pointers to const char;
2883 (vip): make `alloperr' const char *;
2884 (vip_op): make `err' and `wrn' const char *; rename `access' to
2885 `access_mode' to avoid shadowing library function.
2886 * config/obj-vms.c (`symbol_name'): make it const char *;
2887 (get_struct_name): cast one use of `symbol_name' to char *
2888 [caller guarantees that it won't modify the pointer's target];
2889 (PUT_COUNTED_STRING): use pointer to const char;
2890 (VMS_typedef_parse): make `pnt2' const char *;
2891 (Write_VMS_MHD_Records): make `cp' const char *;
2892 (VMS_Modify_Psect_Attributes, array `Attributes'): make const,
2893 and make field `Name' pointer to const char;
2894
2895 * as.h (`seg_name[]' declaration): pointers to const char;
2896 (struct _pseudo_type, field `poc_name'): pointer to const char.
2897 * subsegs.c (`seg_name[]' definition): ditto;
2898 * hash.c (hash_ask): rename argument `access' to `access_type'
2899 to avoid shadowing library function.
2900 * write.c (variable `the_object_file'): move from file scope
2901 to block scope within write_object_file(); free it after use;
2902 (fixup_segment): conditionally exclude it for OBJ_VMS.
2903 (cvt_frag_to_fill): rename argument `headers' to `headersP'
2904 to avoid shadowing file scope variable.
2905
359bb9a3
JL
2906Mon Jan 23 21:42:39 1995 Jeff Law (law@snake.cs.utah.edu)
2907
2908 * config/tc-hppa.c (pa_ip, case 'D'): Fix typo which caused
2909 miscompilation of "diag" instructions.
2910
73433384
KR
2911Mon Jan 23 15:51:41 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2912
2913 * configure: Regenerated.
2914
2915 * config/tc-mips.c: Include libiberty.h.
2916
eb10ff23
ILT
2917Mon Jan 23 14:07:58 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
2918
9cc7c60b
ILT
2919 * config/tc-sh.h (tc_init_after_args): Don't define.
2920 * config/tc-sh.c (md_begin): Remove unused variable table.
2921 (md_assemble): Remove unused variable p.
2922 (md_convert_frag): Cast fr_address to unsigned long for printf.
2923 (md_apply_fix): Use as_warn_where rather than as_warn.
2924 (sh_init_after_args): Remove empty function.
2925
eb10ff23
ILT
2926 * configure.in (i386-*-gnu*elf*): New target.
2927
be7571b6
ILT
2928Sat Jan 21 19:02:23 1995 Ian Lance Taylor <ian@tweedledumb.cygnus.com>
2929
2930 * hash.c (hash_ask): If we find the slot after wrapping around,
2931 break out of the loop. Fixes bug in Jan 18 change.
2932
b2683e09
KR
2933Fri Jan 20 17:07:31 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2934
2935 * hash.c (hash_code): Undo last change.
2936
8e86815b
KR
2937Thu Jan 19 14:49:47 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2938
11618ce8
KR
2939 * config/tc-alpha.c (alpha_ip): Initialize local variables to keep
2940 gcc quiet.
2941 (gpdisp_hi16_howto): Don't use "const" with reloc_howto_type.
2942 (in_range_signed): Add parens around subtraction inside shift.
2943 * gasp.c (do_data): Initialize local variable "opname".
2944 (istrue): Provide a default case to set "res" and keep "gcc -Wall"
2945 quiet.
2946 * write.c (write_contents): Deleted unused variable.
2947 (print_symbol_value_1): Declare.
2948 * hash.c (hash_ask): Delete disabled non-strcmp version of the
2949 code, and automatic variables used only in those sections.
2950 * write.c (chain_frchains_together_1): Only define local variable
2951 "prev_fix" if BFD_ASSEMBLER.
2952 * flonum-konst.c (dummy1): Return void.
2953 * config/tc-vax.c (md_assemble): Remove two comparisons of
2954 unsigned numbers versus zero.
b2683e09
KR
2955 * as.h (bcopy): If neither memcpy nor bcopy is defined as a macro,
2956 define to use memcpy.
11618ce8
KR
2957
2958 * config/tc-alpha.c, config/alpha-opcode.h: Revert 2 June changes.
2959 Turns out we never got the assignment done after all.
2960
8e86815b
KR
2961 Cleanup of VAX and VMS code, from Pat Rankin:
2962 * config/obj-vms.c: Changed exported function names to lower case.
2963 (Changed call sites in write.c.) Declare VMS system function
2964 names used, conditional on actually being on VMS. Changed many
2965 functions that returned no useful value to now be declared to
2966 return void. Removed many unused variables. Supply missing
2967 return statements or values. Supply `default' case in switch
2968 statements. Ensure local variables get initialized.
2969 * config/tc-vax.c: Minor changes to silence "gcc -Wall".
2970 * config/obj-vms.h, config/tc-vax.h: Added some missing
2971 declarations.
2972
29c8d82c
KR
2973Wed Jan 18 13:49:26 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
2974
fca2796a
KR
2975 * atof-generic.c (flonum_print) [TRACE]: New function.
2976 (atof_generic) [TRACE]: Print multiplier before multiplication,
2977 and print multiplication result before and after copy.
2978
2979 * flonum-mult.c (flonum_multip): Avoid sign extension problems
2980 around multiplication operation.
2981
2982 * atof-generic.c (ASSUME_DECIMAL_MARK_IS_DOT): Define.
2983 (atof_generic) [ASSUME_DECIMAL_MARK_IS_DOT]: Check for '.'
2984 explicitly instead of calling strchr.
2985
29c8d82c
KR
2986 * config/tc-sparc.c (sparc_ip): When scanning successive opcode
2987 table entries, check names for pointer equality before doing
2988 string comparisons.
2989
2990 * hash.c (hash_ask): Call strcmp instead of expanding it inline.
2991 (hash_code): Replaced with a version from bfd.
2992
2993 * config/obj-coff.c (write_object_file): If COFF_FLAGS isn't
2994 defined, default it to zero.
2995
96d1566d
ILT
2996Wed Jan 18 12:16:07 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
2997
6ece68f0
ILT
2998 * write.c (fix_new_internal): Clear fx_bsr on those targets which
2999 use it.
3000
96d1566d
ILT
3001 * expr.c (operand): Parenthesize && within ||.
3002 * listing.c (listing_newline): Likewise.
3003 (list_symbol_table): Use %lu to print sizeof.
3004 * symbols.c: Comment out unused function indent.
3005 (print_symbol_value_1): Cast pointer to unsigned long for printf.
3006 * config/obj-coff.c (do_relocs_for): Only declare symbol_ptr if it
3007 will be used.
3008 * config/tc-h8300.c (md_begin): Remove unused variable reg.
3009 (get_operand): Declare type of parameter direction. Remove unused
3010 variable size.
3011 (get_specific): Fix comment to avoid nested comments.
3012 (check_operand): Cast X_add_number to unsigned long for printf.
3013 (build_bytes): Remove unused local variables output_ptr, part, and
3014 high.
3015 (build_bytes): Cast X_add_number to unsigned long for printf.
3016 (clever_message): Remove unused variable scan.
3017 (md_assemble): Remove unused variable i.
3018 (tc_coff_sizemachdep): Remove unused function.
3019 * tc-h8300.h (tc_reloc_mangle): Declare.
3020
23f61eaa
ILT
3021Tue Jan 17 10:58:06 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
3022
3023 * config/tc-mips.c (mips_4650): New static variable.
3024 (md_begin): Handle a cpu string of "4650". If mips_4650 was not
3025 initialized, set it to 0.
3026 (append_insn): Don't insert nops around HI and LO on a 4650.
3027 (mips_emit_delays): Likewise.
3028 (mips_ip): Use INSN_ISA mask to check ISA of instruction. Check
3029 for INSN_4650.
3030 (md_longopts): Add m4650 and no-m4650.
3031 (md_parse_option): Handle mips-cpu=4650. Handle -m4650 and
3032 -no-m4650.
3033 * doc/as.texinfo: Document new MIPS options.
3034
a11a8d55
SC
3035Sat Jan 14 23:48:13 1995 Steve Chamberlain <sac@jonny>
3036
3037 * config/tc-w65.c, config/tc-w65.h, config/w65.mt: Newfiles.
3038 * config/obj-coff.h: Cope with w65.
3039 * configure, configure.in: Recognize w65.
3040
3a762a0b
KR
3041Thu Jan 12 17:56:24 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
3042
20323565
KR
3043 * app.c (do_scrub_next_char) [__GNUC__ && __OPTIMIZE__]: If `get'
3044 function is scrub_from_file, call scrub_from_file directly, and
3045 get gcc's inlining capability into the act.
3046
3a762a0b
KR
3047 * Makefile.in (VMS_OTHER_OBJS): Add ../libiberty/hex.o.
3048 (OBJS): Delete hex-value.o.
3049 (REAL_SOURCES): Delete hex-value.c.
3050 (hex-value.o): Delete dependencies.
3051 * hex-value.c: Deleted.
3052 * as.c (main): Call hex_init.
3053 * expr.c, config/tc-mips.c: Include libiberty.h. Replace
3054 hex_value array references with hex_* macros.
3055
c01ebe2a
KR
3056Wed Jan 11 17:51:38 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
3057
3a762a0b
KR
3058 * config/tc-h8300.h (COFF_FLAGS): Don't define.
3059 * config/tc-h8500.h (COFF_FLAGS), config/tc-sh.h (COFF_FLAGS),
3060 config/tc-z8k.h (COFF_FLAGS): Ditto.
3061start-sanitize-rce
3062 * config/tc-rce.h (COFF_FLAGS): Ditto.
3063end-sanitize-rce
3064
3065 * config/obj-coff.c (KEEP_RELOC_INFO): Make sure it's always
3066 defined.
3067
c01ebe2a
KR
3068 * config/tc-m68k.c (m68k_ip, cases AOFF and AINDEX): Don't
3069 generate 68020 addressing modes for a 68000 processor.
3070 (md_estimate_size_before_relax, cases PCREL and PCLEA): Ditto.
3071
7a55f462
KR
3072Tue Jan 10 13:34:14 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
3073
3074 * config/obj-coff.c (write_object_file): Don't treat h8300 and z8k
3075 specially with regard to fixups.
3076
aac4d5a7
KR
3077Mon Jan 9 16:22:28 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
3078
483971bd
KR
3079 * config/tc-mips.c (RELAX_RELOC1, RELAX_RELOC2): Cast values to
3080 bfd_vma before subtracting.
3081
aac4d5a7
KR
3082 * config/obj-coff.c (size_section): Handle rs_space like rs_fill,
3083 but make sure fr_symbol is null.
3084 (fill_section): Ditto.
3085
1113140a
ILT
3086Sun Jan 8 16:14:19 1995 Ian Lance Taylor <ian@tweedledumb.cygnus.com>
3087
3088 * config/tc-mips.c (mips_ip): Fix handling of floating point
3089 values when GPOPT is not defined.
3090
2a6978af
KR
3091Fri Jan 6 16:59:41 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
3092
3093 * gasp.c: Include string.h. Put config.h before other includes.
3094
71f9b3c0
KR
3095 * config/tc-alpha.c (alpha_ip): Delay calls to emit_add64 until
3096 after any remaining operands are also known to match.
3097
f949f7b8
KR
3098Fri Dec 30 18:21:41 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3099
3100 * listing.c (list_symbol_table): Build a format string based on
3101 the size of the value to be printed, as long as "unsigned long" is
3102 at least as wide, after handling the special case of 4-byte
3103 values.
3104
84951544
KR
3105 * Makefile.in (dependencies): Make $(OBJS) depend on as.h and
3106 everything it includes. Delete those files from per-file
3107 dependencies.
3108
cd3b81bd
KR
3109 * as.h (relax_substateT): Now defined to be unsigned int.
3110 (relax_stateT): Separate typedef from enum definition.
3111 (enum _relax_state): Reordered for better punctuation. Added new
3112 values rs_align_code and rs_space.
3113 (lineno, struct lineno_struct): Unused, deleted.
3114
3115 * as.h: No longer include assert.h.
3116 (as_assert): Declare.
3117 (assert): New definition, calls as_assert longer needed.
3118 (__PRETTY_FUNCTION__): Provide default for older versions of gcc.
3119 * messages.c (as_assert): New function.
3120 * gdbinit.in: Put a breakpoint there.
3121
3122 * read.c (s_space): Rewrite to handle general expressions.
3123 Generate rs_space frags for non-constant values.
3124 * write.c (cvt_frag_to_fill): Treat rs_align_code and rs_space
3125 like rs_align and rs_org. Verify that fr_offset is non-negative,
3126 and force frag type to rs_fill only after assertion checks.
3127 (relax_segment): Treat rs_align_code like rs_align. Treat
3128 rs_space like rs_org in the first switch; in the second, force the
3129 operand to a constant, and use it for the growth size.
3130
582d2a4d
JL
3131Wed Dec 28 20:57:37 1994 Jeff Law (law@snake.cs.utah.edu)
3132
3133 * config/tc-hppa.c (pa_subspace): For sections with the ZERO
3134 attribute, set the "bss" field in the appropriate seginfo structure.
3135
4a9c666e
KR
3136Wed Dec 28 15:01:01 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3137
3138 * subsegs.h: Include obstack.h.
3139
3140Tue Dec 27 18:16:04 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3141
3142 * as.h (struct frag): Enable align* components now.
3143
7e2283d4
KR
3144Tue Dec 20 14:56:31 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3145
87e48495
KR
3146 * frags.c (frag_init): Call obstack_begin on `frags'.
3147 * subsegs.c (subsegs_begin): Don't do it here.
3148 * as.c (main): Call frag_init before subsegs_begin.
3149
3150 * frags.c (frag_append_1_char): New function.
3151 * frags.h (frag_append_1_char): Declare it.
3152 (FRAG_APPEND_1_CHAR): Call it. Old definition is commented out
3153 for now.
3154
3155 * as.h (struct frag): Added (but commented out) new fields for
3156 tracking current alignment.
3157 (frag_now_fix): Changed macro to function declaration.
3158 * frags.c (frag_now_fix): Define function here.
3159 (frag_new): Use it instead of accessing `frags' directly.
3160 * frags.h (frags): Change comment to indicate it shouldn't be
3161 accessed directly.
3162 * subsegs.h (struct frchain): New field frch_obstack, intended to
3163 eventually replace global `frags' obstack.
3164 * subsegs.c (subseg_set_rest): Use frag_now_fix instead of
3165 accessing `frags' directly. Initialize fields of new frchainS
3166 explicitly instead of with memset.
3167 * config/obj-coff.c (obj_coff_ln) [!BFD_ASSEMBLER]: Use
3168 frag_now_fix.
3169 * config/tc-mips.c (s_loc), config/obj-vms.c
3170 (vms_resolve_symbol_redef), symbols.c (colon): Likewise.
3171
9ad5755f
KR
3172 * config/tc-m68k.c (md_apply_fix_2): Use offsetT and addressT
3173 instead of long and unsigned long.
3174 (md_apply_fix): Cast value before passing it.
3175
d675782a
KR
3176 * config/obj-aout.h, config/obj-coff.c, config/obj-elf.h,
3177 config/obj-som.h, config/tc-h8500.c, config/tc-hppa.c,
3178 config/tc-hppa.h, config/tc-sh.c, config/tc-z8k.c: Don't rely on
3179 use of ".." when including header files.
3180start-sanitize-rce
3181 * config/tc-rce.c: Ditto.
3182end-sanitize-rce
3183
3184 * config/obj-coff.c (fixup_segment): Reformat condition in an `if'
3185 statement.
3186
7e2283d4
KR
3187 * Makefile.in (SUBDIR_INCLUDES): Deleted.
3188
972b2401
ILT
3189Tue Dec 20 13:40:36 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
3190
3191 * config/obj-coff.h: Include bfd/libcoff.h, not libcoff.h.
3192
3193start-sanitize-arc
3194Tue Dec 20 09:10:40 1994 Doug Evans <dje@canuck.cygnus.com>
3195
3196 * config/tc-arc.c: Delete lots of sparc pseudo-ops.
3197end-sanitize-arc
3198
847a01cd
ILT
3199Mon Dec 19 16:53:36 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
3200
3201 * config/tc-mips.c (load_register): Rewrite to handle O_big 64 bit
3202 constants.
3203 (mips_ip): Accept O_big constants in case 'I'. Change case
3204 'i'/'j' to treat an O_big constant as an out of range value.
3205
60937ce7
JL
3206Mon Dec 19 14:15:07 1994 Jeff Law (law@snake.cs.utah.edu)
3207
b8f7596c
JL
3208 * config/tc-hppa.c (pa_subspace): Make sure SEC_HAS_CONTENTS is
3209 clear for a section with the "ZERO" attribute.
3210
60937ce7
JL
3211 * Reduce useless symbols for ELF in an attempt to make smaller
3212 objects and speed up the linker.
3213 * config/tc-hppa.c (struct call_info): Replace end_symbol field
3214 with a size field.
3215 (hppa_elf_mark_end_function): Delete unneeded function.
3216 (pa_build_unwind_subspace): For the 2nd unwind relocation, use
3217 the function symbol + function size instead of a special symbol
3218 for the end of the function.
69cb5925 3219 (process_exit): Compute the function size here. Don't call
60937ce7
JL
3220 hppa_elf_mark_end_of_function anymore.
3221 (pa_procend): Likewise.
3222 (hppa_fix_adjustable): Only reject 32bit relocations for SOM.
3223 (elf_hppa_final_processing): Simplify.
3224
88cc1324
DE
3225start-sanitize-arc
3226Mon Dec 19 12:57:09 1994 Doug Evans <dje@canuck.cygnus.com>
3227
3228 * config/tc-arc.c (arc_insert_operand): Change reg parm to pointer
3229 to table entry. All callers changed.
3230 (md_shortopts): New argument -mmult.
3231 (md_parse_option): Recognize it.
3232 (md_show_usage): Print it.
3233 (md_begin): If -mmult, say we have the new multiply and shift insns.
3234 (md_assemble): Fix reloc generation for 32 bit immediate values.
3235 Clean up modifier handling. Try next insn if fake operand says there's
3236 an error. Update to new syntax of insertion/extraction fns.
3237 Recognize predefined aux regs. Don't abort if insertion fn missing.
3238end-sanitize-arc
3239
703139a8
KR
3240Mon Dec 19 13:49:07 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3241
5cda0c7a
KR
3242 * configure.in: Recognize mips-sony-bsd and mips-dec-bsd, but
3243 reject other vendors until we can be sure we're consistent with
3244 bfd.
3245
703139a8
KR
3246 * config/obj-vms.c (Create_VMS_Object_File): Instead of formatting
3247 a buffer to pass to `error', just call `as_fatal' directly.
3248 (VMS_Psect_Spec): Ditto.
3249 (VMS_TBT_Module_Begin, VMS_TBT_Source_File, gen1,
3250 VMS_typedef_parse, VMS_LSYM_Parse, VMS_Emit_Globalvalues): Call
3251 as_tsktsk instead of printf.
3252 (VMS_TBT_Module_Begin, VMS_TBT_Line_PC_Correlation,
3253 VMS_TBT_Source_File, VMS_TBT_Source_Lines,
3254 VMS_Store_Repeated_Data, VMS_Check_For_Main): Use explicit
3255 integers rather than sizeof expressions using basic integer types,
3256 in case host and target aren't the same. Use memcpy or COPY_*
3257 macros instead of possibly unaligned word or longword assignment.
3258
3259 * config/obj-vms.h (OBJ_SYMFIELD_TYPE): New macro.
3260 * config/obj-vms.c (VMS_Store_PIC_Symbol_Reference,
3261 VMS_Check_For_Main, VMS_write_object_file): Use sy_obj instead of
3262 forcing sy_number to hold a pointer.
3263
b63defaa
KR
3264Fri Dec 16 14:40:16 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3265
d6905776
KR
3266 * config/tc-sh.c (md_begin): Don't fill in md_relax_table here.
3267 (md_relax_table): Use static initialization.
3268
091f3a62
KR
3269 * config/tc-h8300.c (parse_exp, get_operands, clever_message,
3270 md_assemble, tc_crawl_symbol_chain, md_undefined_symbol,
3271 tc_headers_hook, md_operand, md_number_to_chars): Don't use DEFUN.
3272
b63defaa
KR
3273 * Makefile.in (CHECKFLAGS): Don't pass AS_FOR_TARGET,
3274 CC_FOR_TARGET, OBJDUMP_FOR_TARGET, NM_FOR_TARGET; they're not
3275 used.
3276 (AS_FOR_TARGET, CC_FOR_TARGET, OBJDUMP, OBJDUMP_FOR_TARGET, NM,
3277 NM_FOR_TARGET): Don't define.
3278 (VMS_OTHER_OBJS): Add xmalloc.o and xexit.o from libiberty.
3279 (tooldir): Use exec_prefix, not libdir.
3280
719153bf
SS
3281Fri Dec 16 11:07:10 1994 Stan Shebs <shebs@andros.cygnus.com>
3282
254603ca
SS
3283 * config/obj-coff.h: Include libcoff.h, not ../bfd/libcoff.h.
3284
719153bf
SS
3285 * as.h: Include progress.h.
3286 * as.c (main): Call START_PROGRESS and END_PROGRESS.
3287 (main, perform_an_assembly_pass): Call PROGRESS.
3288
0141b6c2
ILT
3289Fri Dec 16 00:46:08 1994 Ian Lance Taylor <ian@tweedledumb.cygnus.com>
3290
3291 * write.c (adjust_reloc_syms): Use bfd_is_und_section and
3292 bfd_is_abs_section rather than comparing against &bfd_und_section
3293 and &bfd_abs_section.
3294
8b1f3552
JW
3295Thu Dec 15 15:27:14 1994 Jim Wilson <wilson@chestnut.cygnus.com>
3296
3297 * config/tc-sh.c (md_begin): Use a local variable when
3298 initializing md_relax_table to avoid errors about modifying a
3299 const data structure.
3300
7ac36f64
ILT
3301Tue Dec 13 15:42:27 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
3302
3303 * config/tc-ppc.c (tc_gen_reloc): Remove OBJ_ELF hack which
3304 appears to no longer be needed.
3305
6baef6d2
ILT
3306Tue Dec 13 08:04:15 1994 Ian Lance Taylor <ian@cygnus.com>
3307
3308 * config/tc-mips.c (macro_build): Accept BFD_RELOC_PCREL* without
3309 requiring that the X_op_symbol be in the text_section.
3310 (macro): Change the test for a legel expression difference to
3311 correspond to changes in pseudo_set in read.c.
3312
bd869652
KR
3313Fri Dec 9 21:04:17 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3314
a55774a1
KR
3315 * write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Use
3316 bfd_install_relocation.
3317
3504635a
KR
3318 * ecoff.c (ecoff_set_gp_prolog_size): If there is no current
3319 routine, just return.
3320
bd869652
KR
3321 * config/tc-alpha.c (alpha_ip, case 'B', subcase 'c'): Use opcode
3322 value from pattern instead of assuming jsr.
3323 * config/alpha-opcode.h (jmp): Add a "1,Bc" form.
3324
4181c985
KR
3325Thu Dec 8 17:48:25 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3326
b8f52750
KR
3327 * Makefile.in (NM_FOR_TARGET): Use ../binutils/nm.new, not just
3328 plain nm.
3329
4181c985
KR
3330 * configure.in (ns32k-pc532-mach*): Select correct emulation.
3331 (mips-sony-bsd*): Use ecoff.
c5745996 3332 (mips-*-gnu*): New target, using aout format, from Roland McGrath.
4181c985
KR
3333 * configure: Regenerated.
3334
6ea93cc9
DE
3335start-sanitize-arc
3336Tue Nov 29 18:12:22 1994 Doug Evans <dje@canuck.cygnus.com>
3337
3338 * configure.in (arc-*-elf*): Recognize.
3339 * configure: "regenerated".
4181c985 3340 * config/tc-arc.c, config/tc-arc.h, config/arc.mt: New files.
6ea93cc9
DE
3341end-sanitize-arc
3342
75af551f
KR
3343Tue Nov 29 13:58:10 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3344
d2a0c9f9
KR
3345 Use libiberty version of xmalloc:
3346 * Makefile.in (REAL_SOURCES): Delete xmalloc.c.
3347 (OBJS): Delete xmalloc.o.
3348 (xmalloc.o): Delete dependencies.
3349 * as.c (main): Call xmalloc_set_program_name once program name is
3350 known.
3351
75af551f
KR
3352 * config/tc-alpha.c (in_range_signed, in_range_unsigned): New
3353 routines, split from in_range.
3354 (in_range): Deleted. All calls changed to in_range_*signed.
3355 (create_lita_section): Macro deleted. Single use expanded in
3356 place.
3357 (alpha_ip): Handle `t' and `8' operand types.
3358 (md_apply_fix): Handle BFD_RELOC_12_PCREL. Print name of
3359 unhandled relocation types.
3360 * config/alpha-opcode.h: Added HALT and DRAINA. Disabled MOVI,
3361 since it doesn't work, and isn't supported by the native
3362 assembler.
3363
3364 * input-scrub.c: Change wording of a comment to avoid interference
3365 with Cygnus source-control tools.
3366
3367 * as.h (errno) [NEED_DECLARATION_ERRNO]: Declare.
3368
3369 * config/tc-m68k.c (init_table): List buscr and pcr control
3370 registers.
3371 (m68k_ip, case 'J'): Handle them.
3372
23c17fea
KR
3373 Delete signal handler code. It's been disabled since March 1993
3374 without complaints.
3375 * as.c: Don't include signal.h.
3376 (got_sig): Unused function deleted, declaration deleted.
3377 (SIGTY): Macro deleted.
3378 (main): Deleted disabled code for establishing signal handler.
3379
4181c985 3380start-sanitize-rce
75af551f
KR
3381 Tiemann should've noted something like this:
3382 * config/tc-rce.c, config/tc-rce.h: New files.
3383 * as.c (main) [TC_RCE]: Call dump_literals.
3384 * configure.in: Handle rce-*-aout.
3385 * configure: Regenerated.
4181c985 3386end-sanitize-rce
75af551f 3387
326fe1a3
DE
3388Mon Nov 28 11:37:35 1994 Doug Evans <dje@canuck.cygnus.com>
3389
3390 * app.c (do_scrub_next_char): Insert missing newline at end of file
3391 like warning says we do.
3392
e07f8926
JL
3393Mon Nov 28 00:11:15 1994 Jeff Law (law@snake.cs.utah.edu)
3394
3395 * config/tc-hppa.h (pa_check_eof): Declare new extern function.
3396 (tc_frob_file): Define to call pa_check_eof.
3397
3398 * config/tc-hppa.c (pa_check_current_space_and_subspace): New
3399 function to verify the current space and subspace are reasonable.
3400 Call for the appropriate pseudo-ops and before instruction parsing.
3401 (pa_check_eof): New function to verify enter/exit and proc/procend
3402 pairs match at EOF.
3403 (pa_code): Simplify.
3404
3405 * config/obj-som.c: Delete #if 0 code.
3406
3f67e000
SC
3407Wed Nov 23 19:36:09 1994 Steve Chamberlain (sac@jonny.cygnus.com)
3408
3f81f3cf
MM
3409 * config/obj-coff.h (TARGET_FORMAT): Select between coff-shl and
3410 coff-sh.
3f67e000
SC
3411 * config/sh.mh (TARG_CPU_DEPENDENTS): Get it right.
3412 * config/tc-sh.c (little): New function.
3413 (md_parse_option): Notice new option.
3414 (build_relax, build_Mytes, md_atof, md_convert_frag, md_apply_fix):
69cb5925 3415 Cope with little endian data.
3f67e000
SC
3416 * config/tc-sh.h (COFF_MAGIC, LISTING_HEADER): Endian dependent.
3417
32c7d5d8
JL
3418Wed Nov 23 10:54:38 1994 Jeff Law (law@snake.cs.utah.edu)
3419
3420 * config/tc-hppa.c (tc_gen_reloc, ELF variant): Revert last
3421 change. The real bug was in bfd/elfcode.h and has been fixed.
3422
740e5428
JL
3423Tue Nov 22 23:31:20 1994 Jeff Law (law@snake.cs.utah.edu)
3424
3425 * config/tc-hppa.c (tc_gen_reloc, ELF variant): Add section->vma
3426 to the relocation's offset.
3427
aa30c7ee
SC
3428Tue Nov 22 14:37:58 1994 Steve Chamberlain (sac@jonny.cygnus.com)
3429
3430 * Makefile.in (INSTALL_XFORM): Fix typo.
3431
3a443b1e
C
3432Tue Nov 22 10:23:25 1994 J.T. Conklin <jtc@rtl.cygnus.com>
3433
3434 * config/tc-alpha.c (s_alpha_set): Ignore the .set (no)move and
3435 .set (no)volatile directives.
3436
e67b3aa3
JL
3437Tue Nov 15 21:44:13 1994 Jeff Law (law@snake.cs.utah.edu)
3438
3a443b1e
C
3439 * config/tc-hppa.c (pa_subspace): Make sure to always reset
3440 current_subspace.
3441 (pa_text, pa_data): Likewise.
3442
e67b3aa3
JL
3443 * config/tc-hppa.c (pa_align): New function. Aligns the current
3444 offset within the current subspace along with updating the
3445 alignment of the subspace itself.
3446 (pa_subspace): Default alignment to one byte rathern than zero
3447 bytes to avoid setting alignment to log2(0).
3448 (md_pseudo_table): Use pa_alignment for .align.
3449
8de6b5f8
KR
3450Tue Nov 15 15:24:45 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3451
3452 * messages.c (as_fatal): Always put a space after "fatal error:"
3453 when printing message.
3454
1a9a95bb
JL
3455Tue Nov 15 11:10:43 1994 Jeff Law (law@snake.cs.utah.edu)
3456
3457 * config/tc-hppa.h (obj_frob_symbol): Delete.
3458 (tc_frob_symbol): Make definition conditional on OBJ_SOM or
3459 OBJ_ELF. For ELF subtract out symbol->section->vma for non common
3460 symbols.
3461
757d4129
KR
3462Wed Nov 9 14:53:03 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3463
3464 * config/te-delta.h: New file, derived from te-sysv32.h.
3465
642b6186
ILT
3466Wed Nov 9 11:52:44 1994 Ian Lance Taylor (ian@cygnus.com)
3467
3468 * config/tc-ppc.c (ppc_bf): Always set coff_line_base.
3469
f4c01c95
KR
3470Mon Nov 7 01:58:49 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3471
642b6186
ILT
3472 * Makefile.in (VERSION): Bump to 2.5.3.
3473
3e7acf98
KR
3474 * configure.in: Compare generic cpu name against "sparc", not
3475 "sparc*", since sparc variants should be changed to "sparc".
3476 * configure: Regenerated with autoconf 2.1.
3477
f4c01c95
KR
3478 * config/tc-a29k.c (octal, toHex): Variables deleted.
3479 (isoctal): Macro deleted.
3480 (md_begin): Don't initialize them.
3481 (machine_ip, case 'P'/'A'): For absolute operand, generate an
3482 error message if it's out of range.
3483 (md_apply_fix, case RELOC_JUMPTARG): Check range for PC-relative
3484 jumps.
3485 (md_apply_fix): Delete code inside "#if 0".
3486
5b162d37
KR
3487Thu Nov 3 20:20:40 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3488
b4123234
KR
3489 * config/go32.mh: Unused file deleted.
3490
5b162d37
KR
3491 * read.c (get_absolute_expression): Indicate that the error may
3492 merely be that the expression can't currently be reduced.
3493
0cb42d6f
C
3494Thu Nov 3 16:09:59 1994 J.T. Conklin (jtc@rtl.cygnus.com)
3495
3496 * config/tc-m68k.h (TARGET_FORMAT): If TE_NetBSD define as
3497 "a.out-m68k-netbsd".
3498 * config/tc-sparc.h (TARGET_FORMAT): If TE_NetBSD define as
3499 "a.out-sparc-netbsd".
3500
3501 * config/te-nbsd.h: New file, NetBSD target emulation
3502 * config/te-netbsd.h: Removed.
69cb5925 3503 * configure.in (i[345]86-*-netbsd*,m68*-*-netbsd*,sparc*-*-netbsd*):
0cb42d6f
C
3504 Set bfd_gas. Use nbsd emulation.
3505
f2889110
KR
3506Thu Nov 3 17:44:47 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3507
3508 Changes from net 2.5.2 release branch:
3509
3510 * configure.in: Put AC_DEFINE(sparcv9) on its own line, so that
3511 the shell variable settings associated with it are permanent. For
3512 CPUs requiring bfd_gas=yes, select it based on CPU only, not
3513 individual target names. Handle m68k-hp-hpux*, not just -hpux.
3514
3515 * config/tc-z8k.c (tc_coff_symbol_emit_hook): Add dummy argument
3516 to match prototype in obj-coff.h.
3517
3518 * configure.in: Skip tests for defining WANT_FOPEN_BIN and
3519 IBM_COMPILER_SUX.
3520 * acconfig.h: Deleted them.
3521 * configure, conf.in: Rebuild with autoconf 2.0.
3522 * config/go32.cfg, config/vms-conf.h: Updated.
3523
3524 * config/tc-m68k.c (md_apply_fix_2, md_convert_frag_1): Always use
3525 IBM_COMPILER_SUX version of code, with comments indicating why.
3526
3527 * listing.c (file_info): Use text mode when opening file for read.
3528 Use "r" directly, no macro.
3529 * input-file.c (input_file_open): Don't use FOPEN_RT, just use
3530 "r".
3531 * read.c (s_include): Ditto.
3532 * output-file.c (output_file_create): Try both "wb" and "w", don't
3533 bother with FOPEN_* macros.
3534 * as.h: Don't include fopen-*.h.
3535
3536 * config/alpha-opcode.h: Make "ret" with no operands equivalent to
3537 "ret zero,(ra)", to match OSF1 and to be consistent with both
3538 one-operand forms.
3539
3540 Patches from DJ Delorie:
3541 * as.h (alloca): undef alloca before defining it just in case
3542 * config/go32.cfg: new file for autoconf values
3543 * config/te-go32.h: new file
3544 * configure.bat: new for autoconf
3545
3546 * config/tc-i386.c (md_assemble): Fix typo in GOTPC check; had =
3547 for ==.
3548
3549 * configure.in: If target_frag doesn't exist, use /dev/null.
3550
3551 * as.c (parse_args): For non-VMS systems, re-add `v' to
3552 std_shortopts. Add "verbose" to list of long options.
3553
3554 * write.c (adjust_reloc_syms): When generating an absolute section
3555 symbol as a placeholder, don't mark it as used in a relocation
3556 entry, here.
3557
3558 * Makefile.in (comparison): Compare using makefile code from gcc,
3559 stripped down to discard subdir stuff and adapted to give a
3560 non-zero exit status if either file differs.
3561
a2c49209
ILT
3562Thu Nov 3 15:43:02 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
3563
3564 * config/tc-mips.c (load_address): Fix RELAX_ENCODE arguments for
3565 NO_PIC case.
3566
2622a6c2 3567Tue Nov 1 16:10:59 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
da15a93e
ILT
3568
3569 * config/tc-mips.c (s_change_sec): If not GPOPT, don't permit
3570 switching to the readonly data section.
2622a6c2
ILT
3571
3572 * ecoff.c (ecoff_directive_type): Fix warning message.
3573
ec11c09c
JL
3574Sun Oct 30 00:57:35 1994 Jeff Law (law@snake.cs.utah.edu)
3575
3576 * config/tc-hppa.c (pa_proc): Delete disabled code to put each
3577 proc in its own subspace, we're not going to use it.
3578
4bb0cc41
ILT
3579Tue Oct 25 14:44:33 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
3580
94b68f04
ILT
3581 * config/tc-mips.c (macro): Ensure that mips2 case of M_LI_DD in
3582 .rdata does not become a variant frag.
3583
4bb0cc41
ILT
3584 * config/tc-mips.c (mips_cpu): Initialize to -1.
3585 (md_begin): Don't mips_cpu if it was already set.
3586 (md_parse_option): For -mipsN, don't set mips_cpu if it was
3587 already set. For -mcpu=, just set mips_cpu, not mips_isa.
3588
9da4c5d1
ILT
3589Fri Oct 21 20:42:29 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
3590
3591 * config/tc-mips.c (md_pseudo_table): If OBJ_ELF, handle .section.
3592 (s_elf_section): New static function.
3593 * ecoff.c (ecoff_build_symbols): Don't abort if we don't recognize
3594 the section when setting the storage class; default to sc_Data.
3595
e443a021
JL
3596Thu Oct 20 00:43:38 1994 Jeff Law (law@snake.cs.utah.edu)
3597
3598 * config/tc-hppa.c (md_apply_fix): Set new_val to 8 for all
3599 fixups to branch instructions (not just pc-relative ones) which
3600 will generate SOM relocations.
3601
030915dc
ILT
3602Wed Oct 19 13:41:56 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
3603
3604 * config/tc-a29k.c: Include ctype.h with angle brackets.
3605 (define_some_regs): Add new special register names defined on the
3606 29040.
3607 (parse_operand): Add argument opt. If non-zero, don't warn about
3608 a missing operand.
3609 (machine_ip): If handling argument type 'I', pass opt as non-zero
3610 to parse_operand. Handle new optional operand type 'I'.
3611 (md_undefined_symbol): Handle special register names (srNN).
3612
683f4743
ILT
3613Tue Oct 18 00:45:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3614
3615 * write.c (renumber_sections): New static BFD_ASSEMBLER function.
3616 (write_object_file): Call it after removing gas created sections.
3617
f10a96cb
ILT
3618Mon Oct 17 18:06:05 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
3619
62d39689
ILT
3620 * symbols.c (symbol_create): Use udata.p, not just udata.
3621 * config/obj-elf.c (obj_ecoff_set_ext): Likewise.
3622 (elf_get_extr): Likewise.
3623
f10a96cb
ILT
3624 * read.c (read_a_source_file): The second argument to as_where is
3625 unsigned int *, not int *.
3626
3627Mon Oct 17 02:26:32 1994 Jeff Law (law@snake.cs.utah.edu)
3628
3629 * config/tc-hppa.c: Eliminate all uses of fx_addnumber.
3630 (tc_gen_reloc): Simplify. It's no longer necessary to set a
3631 reloc's addend field to zero for function symbols.
3632 (md_apply_fix): Simplify. For fixups which will require a SOM
3633 reloc, just clear out the necessary bits in the output file.
3634
2d928291
KR
3635Fri Oct 14 19:06:46 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3636
3637 * Makefile.in (BISON): Use bison -y, not bison.
3638
3639Thu Oct 13 19:22:54 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3640
3641 * Makefile.in (VERSION): Updated to 2.5.
3642 (clean-here): Delete stamp-mk.com.
3643 (distclean): Delete .gdbinit.
3644 * Version 2.5 released.
3645
ba49e48d
KR
3646Wed Oct 12 20:30:51 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3647
3648 * config/te-nbsd532.h: Renamed from te-netbsd532.h.
3649 * configure.in, configure: Adjusted.
3650
4992dbc9
C
3651Wed Oct 12 16:33:38 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
3652
3653 * config/cplus-dem.c: Removed. It isn't used. Even if it was,
3654 it's better to use the one in libiberty.
3655
2cc0357f
KR
3656Wed Oct 12 18:48:39 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3657
3658 * symbols.c (resolve_symbol_value, case O_symbol): Undo last
3659 change; it breaks the rs6000 support, and doesn't seem to be
3660 needed.
3661
eab55c1c
C
3662Wed Oct 12 11:56:50 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
3663
3664 * config/tc-i386.h,te-netbsd532.h (TARGET_FORMAT): Changed to
3665 a.out-<arch>-netbsd to match corresponding changes in BFD.
3666
f0b556a2
ILT
3667Wed Oct 12 11:06:11 1994 Ian Lance Taylor (ian@cygnus.com)
3668
3669 * config/tc-ppc.c (ppc_fix_adjustable): Resolve symbol values
3670 rather than explicitly adding the frag address.
3671 * config/obj-coff.c (coff_frob_symbol): Add a zero entry to mark
3672 the end of the line numbers; this replaces the zero entry which
3673 used to be added by coff_add_linesym, removed Oct 7.
3674 (coff_adjust_section_syms): Ignore sections with no seginfo.
3675
3256c4b5
KR
3676Wed Oct 12 01:41:37 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3677
3678 * Makefile.in (bootstrap, bootstrap2, bootstrap3): Create a
3679 "stage" symlink to the appropriate stage* directory, and use it
3680 instead in the -B options.
3681 (comparison): Revert yesterday's change.
3682
15dc8a20
KR
3683Tue Oct 11 16:48:11 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3684
3685 * config/tc-sparc.c (tc_gen_reloc): For non-a.out relocations, if
3686 pc-relative, use fx_offset only, ignore address of relocation.
3687
c8caa6c5
ILT
3688Tue Oct 11 15:24:00 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
3689
3690 * config/tc-mips.c (mips_ip): Don't use S_IS_LOCAL when checking
3691 for an embedded PIC switch expression, since the definition of
3692 S_IS_LOCAL was changed.
3693
6d60424f
KR
3694Tue Oct 11 15:05:11 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
3695
3696 * Makefile.in (comparison): When comparing as.new or gasp.new, try
3697 running the binary through sed to avoid differences due to
3698 "stage1" or "stage2" having been written into the binary.
3699
15a90f75
KR
3700Sat Oct 8 01:48:04 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
3701
3702 ELF symbol size handling, based on code from Eric Youngdale:
3703 * config/obj-elf.h (OBJ_SYMFIELD_TYPE): New macro. Adds an
3704 expression pointer to the symbol structure, used for `size'
3705 expressions that couldn't be reduced to constants when initially
3706 processed.
3707 (elf_frob_symbol): Declare.
3708 (obj_frob_symbol): Call elf_frob_symbol always, rather than
3709 ecoff_frob_symbol only if ECOFF_DEBUGGING defined.
3710 * config/obj-elf.c (obj_symbol_new_hook): Deleted unused code.
3711 Clear sy_obj field.
3712 (obj_elf_size): Deleted unused code. If size is non-reducible
3713 expression, allocate some storage for the sy_obj field and copy
3714 the expression.
3715 (elf_frob_symbol): New function. Computes sizes, calls
3716 ecoff_frob_symbol if appropriate.
3717
3718 * write.c (fixup_segment): For i386 elf and coff (for now), don't
3719 add in value of symbol from another defined section of the file.
3720
ecee4027
KR
3721Fri Oct 7 17:54:02 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3722
3723 * config/tc-m88k.h (TC_KEEP_FX_OFFSET): Define.
3724 * config/obj-coff.c (do_relocs_for): Test only TC_KEEP_FX_OFFSET,
3725 rather than both it and TC_M88K.
3726 (coff_adjust_section_syms): New function.
3727 (coff_frob_section): For non-empty sections, create aux entry for
3728 the section symbol, indicating the size.
3729 (n_line_nos): New variable.
3730 (add_lineno): Increment it.
3731 (coff_add_linesym): Increment n_line_nos, don't call add_lineno.
3732 (coff_frob_file): New function; map coff_adjust_section_syms over
3733 sections.
3734 (obj_coff_line): Only reset line_base for .bf symbols.
3735 * config/obj-coff.h (coff_adjust_section_syms, coff_frob_file):
3736 Declare.
3737 (obj_frob_file): New macro.
3738
3739 * config/obj-coff.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Renamed from
3740 obj_frob_forward_symbol, and rewritten for new parameter list.
3741
3742 Mon Oct 3 21:02:38 1994 Pat Rankin (rankin@eql.caltech.edu)
3743
3744 * config/obj-vms.h (S_IS_LOCAL): fix obsolete flagseen[] reference.
3745
3746Wed Oct 5 11:49:26 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
3747
3748 * config/obj-ecoff.c (obj_pseudo_table): Accept .esize and .etype
3749 as synonyms for .size and .type.
3750
b2d7b325
ILT
3751Wed Oct 5 00:08:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3752
3753 * config/obj-coff.c (coff_frob_section): Remove assert about
3754 section alignment.
3755 * config/tc-sparc.c (md_section_align): Use section alignment, not
3756 xvec align_power_min field.
3757
dc87e0ce
KR
3758Fri Sep 30 19:05:20 1994 Pat Rankin (rankin@eql.caltech.edu)
3759
3760 * vmsconf.sh (make-gas.com): handle DCL verification to enable
3761 sensible feedback to the user while gas is being built.
3762
76a390e2
KR
3763Fri Sep 30 16:23:31 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3764
13a336c4
KR
3765 * Makefile.in (DISTSTUFF): New variable, listing only make-gas.com
3766 for now.
3767 (diststuff): New target; builds DISTSTUFF.
3768 (realclean): Separate target, depend on clean and distclean, then
3769 delete DISTSTUFF.
dc87e0ce
KR
3770 * make-gas.com: Deleted.
3771
76a390e2
KR
3772 * config/tc-i386.c (i386_validate_fix) [BFD_ASSEMBLER]: New
3773 function. Converts reloc for "foo-GOT" to BFD_RELOC_386_GOTOFF
3774 reloc for "foo".
3775 (i386_operand): Don't look up section symbol for
3776 undefined_section.
3777 (reloc): Always permit return of 8- and 16-bit relocation types.
3778 Add a space after "pc-relative" in the error message.
3779 (tc_i386_fix_adjustable) [BFD_ASSEMBLER]: Reject
3780 BFD_RELOC_386_GOTOFF relocs.
3781 (i386_operand): For any GOTOFF reloc, convert it to a BFD_RELOC_32
3782 with a "foo-GOT" value.
3783 * config/tc-i386.h (i386_validate_fix): Declare it.
3784 (TC_VALIDATE_FIX): New macro -- call it.
3785 (NOP_OPCODE): Cast to `char' to avoid compiler warnings.
3786
3787 * as.h: If __STDC__ is not defined and varargs.h is available, use
3788 it rather than stdarg.h.
3789
3790 * write.h (struct fix): Added new bitfield fx_plt, for fixups
3791 referring to PLT entries.
3792 * write.c (fix_new_internal): Initialize fx_plt to zero.
3793 (adjust_reloc_syms): Re-fetch `sym' after top of reduction loop.
3794 Don't adjust fx_offset by frag address, since S_GET_VALUE now
3795 includes the frag address.
3796 (fixup_segment): Changed local var PCREL to type int, added PLT.
3797 If PC-relative fixup refers to a PLT entry for a symbol in the
3798 current section, don't reduce it.
3799
3800 * write.c (adjust_reloc_syms): Exit loop through a label. If
3801 DEBUG5 is defined, print out each fixup before and after
3802 processing.
3803 (fixup_segment): If DEBUG5 is defined, print out each fixup before
3804 and after processing.
3805 (print_fixup): Added prototype. Show address on first line. Show
3806 fx_offset and fx_subsy. [!BFD_ASSEMBLER]: Only show fx_r_type if
3807 NEED_FX_R_TYPE is defined.
3808
3809 * symbols.c (print_symbol_value_1): Check S_IS_LOCAL, S_IS_EXTERN,
3810 S_IS_DEBUG, S_IS_DEFINED also.
3811
9dc6c00f
KR
3812Thu Sep 29 18:57:06 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3813
10ff87e9
KR
3814 * Makefile.in (all): Depend on .gdbinit.
3815 (.gdbinit): Rebuild from gdbinit.in by running config.status.
3816
3817 * gdbinit.in: Define new function "pf". Fix doc on "pe" and "ps".
3818
9dc6c00f
KR
3819 * write.c (print_fixup): Print source location on first line.
3820 Show fx_r_type and fx_addsy fields.
3821
648acaa0
KR
3822Wed Sep 28 14:56:39 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3823
b8480abc
KR
3824 * configure.in: Set bfd_gas for all sparc targets in one place,
3825 instead of separately for each. Correctly handle user-supplied
3826 "--enable-bfd-gas" option.
3827
3828 * gdbinit.in: Move "break abort" to end, in case gdb complains.
3829
3830 * as.h (PRINTF_WHERE_LIKE, PRINT_LIKE) [USE_STDARG, !__GNUC__]:
3831 Use PARAMS macro.
3832
3833 * symbols.c (resolve_symbol_value, case O_symbol): Don't do any
3834 processing if add_symbol is undefined or in expr_section.
3835 (resolve_symbol_value, case O_add): For symbol plus
3836 constant-valued symbol, convert to O_symbol and re-reduce.
3837 (S_GET_VALUE): If symbol needs resolving, resolve it.
3838 (indent_level): No longer static.
3839 (print_symbol_value_1): Don't print frag address if it matches
3840 zero_address_frag. Don't print "resolving" if already resolved.
3841 Print segment name. Don't call print_expr_1 on an undefined
3842 symbol.
3843 (print_expr_1): Fix whitespace before printing X_add_number.
3844
648acaa0
KR
3845 * expr.c (make_expr_symbol): No longer static. Use symbol_create,
3846 not symbol_new, for symbols holding expression values.
3847 * expr.h (make_expr_symbol): Move declaration here.
9ff0f5ef
KR
3848 * write.c (fix_new_exp): Handle O_add by creating an
3849 expression-valued symbol, and calling fix_new_exp recursively.
3850 (adjust_reloc_syms): If a fixup's symbol value is a sum of an
3851 undefined symbol and a constant, fold the constant into the fixup,
3852 and refer to the undefined symbol directly. Then process the
3853 fixup again from scratch.
3854 (write_object_file): Before calling adjust_reloc_syms, make a pass
3855 through the symbol list trying to resolve values.
3856
3857 * write.c (print_fixup): New routine, for debugging.
3858 (write_relocs): Call bfd_install_relocation. Deleted various
3859 hacks for working around problems with bfd_perform_relocation.
3860
3861 * Makefile.in (VERSION): Update to 2.4.90.
648acaa0 3862
7b777690
ILT
3863Wed Sep 28 11:50:40 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3864
620a590e
ILT
3865 * Makefile.in (gasp.o): Depends upon config.h.
3866
3f42c69e
ILT
3867 * config/tc-mips.c: Include subsegs.h.
3868 (md_apply_fix): If an unconditional b or bal overflows, and we are
3869 not assembling PIC code, replace it with a j or jal.
3870
7b777690
ILT
3871 * config/tc-mips.c (md_apply_fix): Correct branch overflow test.
3872 Use as_bad_where and as_warn_where rather than as_bad and as_warn.
3873
3874Mon Sep 26 17:15:59 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3875
3876 * write.c (write_relocs): Add file name and line number to
3877 as_fatal calls. Handle bfd_reloc_overflow case specifically when
3878 RELOC_EXPANSION_POSSIBLE.
3879
3880Fri Sep 23 16:11:28 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3881
3882 * as.h (USE_STDARG, USE_VARARGS): Define one or neither of these
3883 here. Use them for deciding which PRINTF*LIKE macro definitions
3884 to use.
3885 * messages.c: Use them, instead of NO_STDARG, NO_VARARGS.
3886 [!USE_STDARG && !USE_VARARGS] (va_alist, va_dcl, ...): Provide
3887 default definitions matching what we were doing before.
3888 (as_tsktsk): Remove the non-stdarg, non-varargs version, and
3889 always use the varargs form if not using stdarg. It's safe to
3890 always use vfprintf, because libiberty will provide it if the
3891 native system doesn't. Also, always make format be const.
3892 (as_warn, as_warn_where, as_bad, as_bad_where, as_fatal): Ditto.
3893
144659ab
ILT
3894Fri Sep 23 14:42:34 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3895
3896 * config/tc-mips.c (load_register): Always use addiu when adding a
3897 constant to $zero--no need to use daddiu.
3898 (macro): Hack the -mips3 overflow tests to not fail when offsetT
3899 is only 32 bits.
3900
3901 * symbols.h (copy_symbol_attributes): Declare.
3902
3903Thu Sep 22 21:58:24 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3904
3905 * listing.c: Bugfixes based in part on patches from Paul
3906 Kranenburg.
3907 (listing_newline): Check filename as well as line number when
3908 deciding whether to record it.
3909 (list_symbol_table) [S_IS_REGISTER]: Check that S_IS_REGISTER is
3910 false (if defined) as well as checking for reg_section.
3911 (listing_listing): Iterate fetching lines while line number is too
3912 low, and we haven't run off the end of the input file.
3913
3914 * config/vms-conf.h: Changed HAVE_DELETE to HAVE_REMOVE.
3915
bdaa198a
KH
3916Thu Sep 22 13:39:10 1994 Kung Hsu (kung@x1.cygnus.com)
3917
3918 * ecoff.c (ecoff_generate_asm_lineno): check if
3919 current_stabs_filename is NULL before strcmp.
cacd15c4 3920 * read.c (read_a_source_file): fix a bug in generate_asm_lineno
bdaa198a
KH
3921 checking.
3922
8068b96a
KR
3923Wed Sep 21 18:17:35 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
3924
3925 * config/ho-*.h: Now-unused files deleted.
3926
3927 * symbols.c (copy_symbol_attributes): New function. Copies BFD
3928 symbol flags and calls OBJ_COPY_SYMBOL_ATTRIBUTES.
3929 (resolve_symbol_value, case O_symbol): Call it, if X_add_number is
3930 zero. Don't call obj_frob_forward_symbol.
3931 * read.c (pseudo_set): Call copy_symbol_attributes, but only if
3932 X_add_number is zero.
3933 * config/obj-elf.h (obj_frob_forward_symbol): Deleted.
3934
144659ab
ILT
3935 * config/tc-i960.c: Lots of whitespace, comment reformatting,
3936 using GNU indent.
3937 (strchr): Don't declare.
3938 [BFD_ASSEMBLER]: Don't compile md_convert_frag,
3939 md_estimate_size_before_relax, md_ri_to_chars,
3940 md_create_short_jump, md_create_long_jump.
3941 (brtab_emit): Use data_section, not SEG_DATA.
3942
cacd15c4 3943 Mon Sep 19 17:14:44 1994 Pat Rankin (rankin@eql.caltech.edu)
8068b96a
KR
3944
3945 * config/vms-conf.h: new file, manually derived from conf.in.
3946 * config-gas.com: use it, and eliminate obsolete "host.h".
3947
3af9783a
ILT
3948Wed Sep 21 11:11:30 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3949
87bbf920
ILT
3950 * config/tc-ppc.c (ppc_current_block): New static variable.
3951 (ppc_stabx): Set sy_tc.within of a C_STSYM symbol to
3952 ppc_current_block. Don't move around any stab symbol, just those
3953 for common symbols.
3954 (ppc_bs): Set ppc_current_block.
3955 (ppc_es): Clear ppc_current_block.
3956 (ppc_frob_symbol): Set the value of a C_STSYM symbol to the offset
3957 from the csect of the enclosing block.
3958
3af9783a
ILT
3959 * config/tc-mips.c (insns_since_cache_access): Remove.
3960 (append_insn): Remove setting of insns_since_cache_access, and
3961 special 4600 handling; it turns out not to be required.
3962
e8d4d475
ILT
3963Tue Sep 20 16:13:18 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3964
3965 * config/tc-mips.c (md_shortopts): Remove E.
3966 (md_longopts): Add EB and EL.
3967 (md_parse_option): Handle -EB and -EL as separate options, rather
3968 than as a single -E option with an argument.
3969
8268e3ec
JL
3970Mon Sep 19 12:42:05 1994 Jeff Law (law@snake.cs.utah.edu)
3971
3972 * config/tc-hppa.c (hppa_fix_adjustable): Reject reductions
3973 involving global symbols too.
3974
eb3028aa
KR
3975Mon Sep 19 12:12:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3976
3977 * as.h: Test NEED_DECLARATION_*, not NEED_*_DECLARATION.
3978
3979 * configure.in: Test for remove, not delete. Fix cross-assembler
3980 test.
3981 * as.h: Test HAVE_REMOVE, not HAVE_DELETE; define unlink to
3982 remove, not delete.
3983
35e70f58
KR
3984 * read.c (pseudo_set, case O_symbol): If
3985 OBJ_COPY_SYMBOL_ATTRIBUTES is defined, invoke it.
3986 [BFD_ASSEMBLER]: Copy BSF_FUNCTION setting too.
3987 * config/obj-elf.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Define.
3988
3989 Wed Aug 10 19:15:30 1994 Pat Rankin (rankin@eql.caltech.edu)
3990
3991 * config/obj-vms.h (DSG_S_C_UBITU, DST_K_VFLAGS_DSC, DST_K_TS_ATOM,
3992 many others): new macros; values obtained from "DSTRECRDS.SDL".
3993 * config/obj-vms.h (various): use them.
3994 (USE_BITSTRING_DESCRIPTOR): new macro, for selecting bitfield
3995 representation (only enum bitfields can avoid being bitstrings).
3996 (bitfield_suffix, setup_basic_type): new routines.
3997 (VMS_typedef_parse): use them. Now recognize bitfields of all
3998 integral types, not just type `int'. Caveat: the representation
3999 used for bitfields still does not work for objects placed in
4000 registers, and gcc's optimizer sometimes puts small structs there.
4001
4002 Tue Jun 14 17:31:44 1994 Pat Rankin (rankin@eql.caltech.edu)
4003
4004 * read.c (s_text) [#if OBJ_VMS]: clear the IN_DEFAULT_SECTION
4005 bit from const_flag.
4006 * config/obj-vms.h (IN_DEFAULT_SECTION): define this macro.
4007 (tc_frob_label): define this to call vms_check_for_special_label,
4008 and declare the latter.
4009 * config/obj-vms.c (vax_g_doubles): declare this file-scope
4010 variable.
4011 (const_flag): initialize to IN_DEFAULT_SECTION instead of 0.
4012 (vms_check_for_special_label): new routine (tc_frob_label).
4013 (VMS_TBT_Routine_End): don't bother checking for `gcc_compiled.'
4014 and `gcc2_compiled.' labels; they won't reach here any more.
4015 (VMS_typedef_parse) [case 'r']: for types `double' and `complex
4016 double', use `vax_g_doubles' flag to select type of double.
4017 (VMS_write_object_file) [traceback setup]: don't pass symbols
4018 with the IN_DEFAULT_SECTION attribute to the TBT_Routine_Begin
4019 and TBT_Routine_End functions.
4020
4021 Mon Jun 6 20:52:20 1994 Pat Rankin (rankin@eql.caltech.edu)
4022
4023 * config/obj-vms.c (VMS_TBT_Routine_End): cache the result of
4024 S_GET_VALUE() to avoid many repeated function calls.
4025 (VMS_Check_For_Main) [#if HACK_DEC_C_STARTUP]: capitalize
4026 _C$MAIN_ARGS in advance, in case -h3 (leave symbol name as-is)
4027 gets requested. [All the HACK_DEC_C_STARTUP code appears to
4028 be obsolete; gcc does it automatically for vms target. It's
4029 also misnamed, because it is for the "VAX C" run-time library,
4030 not the newer "DEC C" one which has much different startup code.]
4031 {various}: use `S_SET_xxx(symbol,new_value)' rather than
4032 `S_GET_xxx(symbol) = new_value'.
4033
d1578de3
ILT
4034Mon Sep 19 12:05:03 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4035
4036 * config/obj-coff.c (c_dot_file_symbol): Use bfd_abs_section_ptr,
4037 not &bfd_abs_section.
4038
e3683042
ILT
4039Thu Sep 15 18:36:34 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4040
4041 * expr.c (clean_up_expression): Use addressT, not bfd_vma.
4042
75c28b49
JL
4043Tue Sep 13 20:05:47 1994 Jeff Law (law@snake.cs.utah.edu)
4044
fcacfef6
JL
4045 * expr.c (expr): Don't reduce the difference of two symbols in the
4046 same frag if the symbols are not in normal sections.
4047
75c28b49
JL
4048 * config/obj-som.h (S_SET_OTHER, S_SET_TYPE): Delete a.out crud.
4049 (S_SET_DESC, S_GET_OTHER, S_GET_TYPE, S_GET_DESC): Likewise.
4050 (obj_attach_unwind_info): Do not define. Not needed anymore.
4051 * config/tc-hppa.c: Delete whitespace at EOL.
4052 (struct hppa_fix_struct): Delete fx_unwind field and all references.
4053 (fix_new_hppa): Last arg is now a pointer to an int. Do not
4054 call obj_attach_unwind_info anymore. For SOM R_ENTRY and R_EXIT
4055 fixups, store 32bits of unwind information in the fx_addnumber
4056 field of the fixup.
4057 (md_assemble, pa_entry, process_exit, pa_procend): For SOM R_ENTRY
4058 and R_EXIT fixups, pass a NULL pointer to fix_new_hppa, and a
69cb5925 4059 pointer to 32 bits of unwind info.
75c28b49
JL
4060 (tc_gen_reloc): For SOM R_ENTRY and R_EXIT fixups, set the symbol
4061 pointer to the dummy symbol; set the addend field to fx_addnumber.
4062 (pa_comm, pa_equ, pa_type_args, pa_import): Use bfd_XXX_section_ptr
4063 rather than &bfd_XXX_section.
4064
26f4447a
KR
4065Tue Sep 13 21:15:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4066
d7152d07
KR
4067 * config/tc-i386.c (md_apply_fix_1): For GOTPC relocs, decrement
4068 value by one; discard adjustments previously being made. From
4069 Eric Youngdale.
4070
26f4447a
KR
4071 VMS- and Vax-related changes from Pat Rankin:
4072 * Makefile.in (VMS_OTHER_OBJS): add concat, getopt, and getopt1.
4073 * vmsconf.sh: no longer have make-gas.com echo text about needing
4074 to modify the gcc-vms driver when intending to use with gcc 1.x.
4075 * as.c (parse_options): suppress 'v' from std_short_options and
4076 eliminate VMS-specific conditional initialization;
4077 [default case]: check for '-v' if md_parse_options doesn't recognize
4078 an option;
4079 [default case, #if VMS]: check for filename argument when '-v' seen;
4080 [case 'v']: delete.
4081 * config/tc-vax.c (md_assemble): don't rely on `this_add_number'
4082 for O_big literal operands (double floats and long long ints);
4083 [VMS, md_shortopts]: add second colon after 'v';
4084 (md_parse_options) [VMS, case 'v']: check for argument, so
4085 caller can handle `-v' w/o arg.
4086
a9898563
SC
4087Tue Sep 13 16:45:08 1994 Steve Chamberlain (sac@jonny.cygnus.com)
4088
4089 * config/obj-coff.c (do_relocs_for): If TC_KEEP_FX_OFFSET
4090 is defined, put the tx_offset into the r_offset.
4091 * config/tc-sh.c (line_comment_chars): Add #
4092 (tc_reloc_mangle): Deleted.
4093 * config/tc-sh.h (TC_KEEP_FX_OFFSET): Define.
4094 (TC_RELOC_MANGLE): Delete.
4095
28d3e4a3
KR
4096Tue Sep 13 16:20:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4097
b9419dd2
KR
4098 * flonum-konst.c: Change preprocessor tests of HO_VMS to just VMS.
4099 * hex-value.c: Ditto.
4100 * config/obj-vms.c: Ditto.
4101
460531da
KR
4102 * config/tc-sparc.c (sparc_ip): Replace as_bad/exit sequence with
4103 a call to as_fatal.
4104 * config/tc-i860.c (i860_ip): Ditto.
4105 * config/tc-hppa.c (pa_ip): Ditto.
4106 * config/tc-alpha.c (alpha_ip): Ditto.
4107 * as.c (parse_args): Ditto.
4108
4109 * config/tc-mips.c (mips_ip): Replace as_warn/exit sequence with a
4110 call to as_fatal.
4111
4112 * write.c (write_contents): Use EXIT_FAILURE.
4113 * output-file.c (output_file_create, output_file_close,
4114 output_file_create, output_file_close): Ditto.
4115 * messages.c (as_fatal): Ditto.
4116 * config/obj-som.c (obj_som_version, obj_som_copyright): Ditto.
4117 * config/obj-ieee.c (write_object_file): Ditto.
4118 * config/obj-coff.c (write_object_file): Ditto.
4119 * config/tc-vax.c (main): Use EXIT_SUCCESS.
4120 * config/tc-m68k.c (main): Ditto.
4121
4122 * hash.c (main): Pass a value to exit().
4123
4124 * as.h (EXIT_SUCCESS, EXIT_FAILURE): Moved here.
4125 * as.c: ...from here.
4126 (parse_args): Use them always.
4127 (main): Use exit rather than return.
4128
28d3e4a3
KR
4129 * Makefile.in (*_FOR_TARGET, INSTALL_XFORM, install, uninstall):
4130 Rewrite handling of program_transform_name.
4131
b9419dd2
KR
4132 * configure.in: Test for functions unlink and delete.
4133 * as.h: If unlink isn't available but delete is, define unlink to
4134 be delete.
28d3e4a3
KR
4135
4136 Update for autoconf 1.118:
4137 * gdbinit.in: New file, created from old .gdbinit.
4138 * .gdbinit: Deleted.
4139 * aclocal.m4 (GAS_GDBINIT): Deleted.
4140 * configure.in: Don't use it. Instead, generate .gdbinit from
4141 gdbinit.in. Don't substitute cpu_type, obj_format, emulation,
4142 atof. Switched order of AC_LINK_FILES arguments. Use AC_PREREQ
4143 to ensure that older versions of autoconf aren't used.
4144 * Makefile.in: Added @configure_input@ line.
4145 (configure): Deleted rule.
4146
430a3997
ILT
4147Tue Sep 13 12:08:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4148
4149 * config/obj-coff.c (fixup_segment): After handling the difference
4150 of two symbols from the same segment, set fx_subsy to NULL, to
4151 satisfy existing TC_COUNT_RELOC macros.
4152
e23b25ec
KR
4153Tue Sep 13 01:47:08 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4154
4155 * aclocal.m4 (GAS_GDBINIT): New macro.
4156 * configure.in: Use it.
4157 * configure: Regenerated.
4158
c570d361
KR
4159Mon Sep 12 20:56:38 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com)
4160
4161 * .gdbinit (pe, ps): Define new commands.
4162 * symbols.c (indent_level): New static variable.
4163 (indent, print_expr_1, print_symbol_value_1, print_symbol_value,
4164 print_expr): New functions.
4165
4166 * Makefile.in (config-stamp): Add a "this file generated by make"
4167 message to config.h.
4168
4169 PIC implementation for i386-linux, based on code from Eric
4170 Youngdale and Paul Kranenburg, with some work of my own:
4171
4172 * write.c (fixup_segment): Test TC_RELOC_RTSYM_LOC_FIXUP on fixup
4173 before processing same-section pcrel relocations.
4174 (TC_RELOC_RTSYM_LOC_FIXUP): Default to 1.
4175
4176 * expr.c (make_expr_symbol): If operator is O_symbol and
4177 X_add_number is zero, just return the symbol. If operator is
4178 O_constant, resolve the symbol's value before returning.
4179 (operand): Permit use of "[]" for grouping.
4180 (clean_up_expression): For difference of two symbols in the same
4181 frag, add the difference of their offsets into X_add_number.
4182 (expr): Reduce difference of two symbols in same frag to their
4183 difference.
4184
4185 * config/tc-i386.c (TC_RELOC): New macro.
4186 (struct _i386_insn): New field disp_reloc.
4187 (GOT_symbol): New variable.
4188 (operand_special_chars): Added square-brackets and at-sign.
4189 (reloc) [BFD_ASSEMBLER]: Added new argument OTHER; if it is not
4190 NO_RELOC, just return it.
4191 (reloc) [! BFD_ASSEMBLER]: Add third argument to dummy macro.
4192 (BFD_RELOC_386_PLT32, _GOT32, _GOTOFF) [! BFD_ASSEMBLER]: More
4193 dummy macros.
4194 (tc_i386_fix_adjustable): New function. Returns zero if symbol in
4195 fixup is not local, to prevent relocations against externals from
4196 being dropped.
4197 (md_assemble): Initialize disp_reloc field to NO_RELOC. Pass
4198 disp_reloc field to reloc() function, and use TC_RELOC to generate
4199 value to pass to fix_new_exp.
4200 (md_assemble): Change 32-bit reloc against GOT_symbol into a GOTPC
4201 reloc.
4202 (i386_operand): Initialize disp_reloc field to NO_RELOC. Handle
4203 @GOTOFF, @PLT, @GOT operands. For GOTOFF relocations with local
4204 symbols, force generation of the section symbol.
4205 (md_estimate_size_before_relax): If GOT_symbol exists, decide
4206 we're generating PIC code, and convert relocations against
4207 undefined symbols from PCREL to PLT32.
4208 (md_apply_fix_1) [OBJ_ELF]: Fix up values for dynamic-linking
4209 relocs.
4210 (md_undefined_symbol): Notice GLOBAL_OFFSET_TABLE_NAME and set
4211 and return GOT_symbol if it matches.
4212 (F, MAP): Move macro definitions outside function.
4213 (tc_gen_reloc): Only switch on size and pcrel if code wasn't
4214 already supplied as PLT32. GOT32, GOTOFF, or GOTPC. Convert
4215 BFD_RELOC_32 using GOT_symbol into GOTPC.
4216 * config/tc-i386.h (TC_RELOC, tc_fix_adjustable,
4217 TC_RELOC_GLOBAL_OFFSET_TABLE, TC_RELOC_RTSYM_LOC_FIXUP): New
4218 macros.
4219 (NEED_FX_R_TYPE): Define.
4220 (LOCAL_LABEL): Accept ".X" prefix too.
4221 (GLOBAL_OFFSET_TABLE_NAME): Default to "_GLOBAL_OFFSET_TABLE_".
4222
1b434ced
ILT
4223Mon Sep 12 17:51:39 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4224
1779d515
ILT
4225 * config/obj-elf.c (obj_elf_type): Rewrite to accept syntax
4226 reportedly to be used on Irix 6.
4227
c1444ec4
ILT
4228 * config/tc-mips.c (md_pseudo_table): Handle .globl and .global.
4229 (s_mips_globl): New static function; needed for Irix 5 support.
4230 * ecoff.c (ecoff_build_symbols): If BSF_FUNCTION is set for an
4231 external symbol with no type, set the type to st_Proc rather than
4232 st_Global. Don't set the index of an external st_Proc or
4233 st_StaticProc symbol unless it is also a local symbol.
4234
1b434ced
ILT
4235 * read.c (read_a_source_file): The second argument to as_where is
4236 unsigned int *, not int *.
4237
326d16ca
KH
4238Thu Sep 8 17:18:24 1994 Kung Hsu (kung@mexican.cygnus.com)
4239
4240 * config/obj-ecoff.h : Change names to OBJ_GENERATE_ASM_LINENO,
4241 and generate_asm_lineno.
4242 * config/obj-elf.h : ditto.
4243 * read.h : ditto.
4244 * read.c (read_a_source_file): if no file when inst is read, set
4245 generate_asm_lineno to true.
4246 * ecoff.h : change name to generate_asm_lineno and add function
4247 ecoff_no_current_file.
4248 * ecoff.c : change name to generate_asm_lineno.
69cb5925 4249 * ecoff.c (ecoff_generate_asm_lineno) : new function, to generate
326d16ca
KH
4250 ecoff style line for asm file.
4251
eb4fd16f
ILT
4252Thu Sep 8 19:43:49 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4253
4254 * config/obj-coff.c (size_section): Do an fprintf to stderr rather
4255 than a printf.
4256 (fixup_segment): Use as_bad_where rather than as_bad.
4257
20c9d49a
SC
4258Wed Sep 7 17:21:12 1994 Steve Chamberlain (sac@jonny.cygnus.com)
4259
eb4fd16f
ILT
4260 * config/tc-{h8300,sh}.[ch] (tc_coff_symbol_emit): Function doing
4261 nothing becomes macro doing nothing.
20c9d49a 4262
bf111c9f
KR
4263Wed Sep 7 19:10:09 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4264
353acf31
KR
4265 * Makefile.in (Makefile): Depend on config.status.
4266 (config.status): Run config.status from . instead of srcdir.
4267
72373532
KR
4268 * config/tc-i386.c (tc_gen_reloc): Use bfd_get_reloc_code_name to
4269 display the name of the relocation type that couldn't be handled.
4270 * config/tc-sparc.c (tc_gen_reloc): Likewise.
4271 * config/tc-alpha.c (tc_gen_reloc): Likewise. Deleted abort call
4272 after call to as_fatal.
4273
4274 * configure.in (i386-*-linux*): Don't set bfd_gas.
4275
4276 * Makefile.in (CC_FOR_TARGET, NM_FOR_TARGET, OBJDUMP_FOR_TARGET,
4277 install, uninstall): Don't use "brokensed" hack any more, the new
4278 autoconf code should never let program_transform_name be empty.
4279
bf111c9f
KR
4280 Update for autoconf beta 1.112:
4281 * aclocal.m4 (GAS_CHECK_DECL_NEEDED, GAS_WORKING_ASSERT): New
4282 macros.
4283 * configure.in: Use them. Use AC_ARG_PROGRAM (now provided by
4284 autoconf) instead of my hacked-up AC_PROGRAM_TRANSFORM_NAME. Move
4285 test for CROSS_COMPILE just before AC_FUNC_ALLOCA, and emit a
4286 message to try to ease confusion about autoconf's
4287 "cross-compiling" message.
4288 * acconfig.h (NEED_DECLARATION_MALLOC, NEED_DECLARATION_FREE,
4289 NEED_DECLARATION_ERRNO): Renamed from NEED_*_DECLARATION.
4290 * configure, conf.in: Regenerated.
4291
c8570de8
ILT
4292Wed Sep 7 12:49:55 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4293
4294 * configure.in: Check ${host} and ${target} rather than
4295 ${host_canon} and ${target_canon}.
4296 * configure: Likewise.
4297
8c63448a
ILT
4298Tue Sep 6 11:42:38 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4299
4300 * config/tc-mips.c (mips_cpu): New static variable.
4301 (insns_since_cache_access): New static variable.
4302 (md_begin): Set mips_cpu as well as mips_isa.
4303 (append_insn): If mips_cpu is 4600, require four nop instructions
4304 between an instruction which accesses the cache and certain CACHE
4305 instructions. Keep track of the number of instructions seen since
4306 an instruction which accesses the cache.
4307 (md_parse_option): Set mips_cpu as well as mips_isa.
4308
a5a2f156
KR
4309Mon Sep 5 07:09:00 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
4310
4311 * doc/Makefile.in (VPATH): Define using @srcdir@.
4312 (prefix, program_transform_name, exec_prefix): Use autoconf style
4313 @-substitutions.
4314
8c63448a 4315Sun Sep 04 17:58:10 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org)
318b02b6
KR
4316
4317 * config/ho-riscix.h, config/tc-arm.c, config/tc-arm.h: New files
4318 * configure.in: Recognize the arm.
4319
3ffbc907
ILT
4320Fri Sep 2 16:05:50 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4321
4322 * ecoff.c (add_file): Don't try to generate line numbers if the
4323 symbol table has been frozen.
4324
4325Thu Sep 1 19:48:01 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4326
4327 * aclocal.m4 (AC_PROG_CC): Use AC_DEFUN, and omit AC_PROVIDE.
4328
4329 * configure.in: Handle user-specified bfd-assembler option with
4330 separate variable from preferred configuration, until the two are
4331 resolved. Indicate bfd_gas=preferred for linux a.out. Use
4332 AC_PROGRAM_TRANSFORM_NAME, for which a patch has been sent to djm.
4333 * Makefile.in (target_alias, program_transform_name): Define,
4334 using autoconf @-substitutions.
4335
fb589130
KR
4336Wed Aug 31 17:43:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4337
7f64fd4e
KR
4338 * atof-generic.c: Deleted alloca handling here.
4339
fb589130
KR
4340 * Makefile.in (prefix, exec_prefix): Use @-subtitutions.
4341
4342 * aclocal.m4 (AC_OUTPUT_LINKS): Deleted redefinition, since
4343 autoconf 1.109 has this fixed.
4344 * configure.in: Don't change quote characters around AC_MSG_ERROR
4345 invocation. Don't use AC_HEADER_STDC, since it requires running a
4346 program. Cache NEED_*_DECLARATION values.
4347 * configure, conf.in: Regenerated with a modified autoconf 1.109.
4348
c7072f56
KR
4349 * as.h (volatile): Don't test or define here; not needed.
4350 (alloca): Replace alloca-conf.h inclusion with code recommended in
4351 autoconf documentation. Include config.h first.
4352
bdee23af
ILT
4353Wed Aug 31 11:20:48 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4354
4355 * config/obj-coff.h (S_IS_DEFINED): Absolute symbols are defined
4356 also.
4357
4358 * configure.in, configure: Initialize bfd_gas to no.
4359
a48f997a
KR
4360Tue Aug 30 19:31:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4361
4362 * as.h: Include alloca-conf.h from "libiberty", not
4363 "../libiberty".
4364
0c49642d
ILT
4365Mon Aug 29 16:11:30 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4366
4367 * config/tc-ppc.c (md_apply_fix): Don't generate a reloc when a
4368 symbol is used as an offset into a CSECT that is not a TOC. These
4369 types of loads are generated by gcc -mminimal-toc.
4370
65ad84c1
KR
4371Sun Aug 28 13:22:52 1994 Ken Raeburn (raeburn@rtl.cygnus.com)
4372
e9296bdb
KR
4373 * as.h (flag_*): Added comments describing meanings of some of
4374 these variables.
4375 (struct frag): Add some comments about the ns32k-specific fields
4376 and why they're here.
4377 (SIZEOF_STRUCT_FRAG): Cast addresses to char*, not int.
4378 (flag_print_statistics): Declare.
4379
4380 * as.c (parse_args): Set flag_print_statistics instead of
4381 statistics_flag. Options array is now const. Added new option
4382 "dump-config"; if specified, print TARGET_ALIAS, TARGET_CANONICAL,
4383 TARGET_CPU, TARGET_OBJ_FORMAT, and TARGET_FORMAT, if defined.
4384 (main): Change test to check flag_print_statistics.
4385 (statistics_flag): Deleted.
4386
c72aa0e2
KR
4387 * frags.c (frag_variant): Removed PCREL_ADJUST and BSR arguments.
4388 Always initialize them to zero.
4389 * frags.h (frag_variant): Fixed prototype.
4390 * config/tc-i960.c (get_cdisp): Don't pass the extra zero args.
4391 * config/tc-ns32k.c (convert_iif): Don't pass the arguments; cache
4392 the value of frag_now and fill in the fields later.
4393
65ad84c1
KR
4394 * Makefile.in (distclean, realclean): Remove new
4395 configure-generated files.
4396
aaeee550
KR
4397Sat Aug 27 20:26:12 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com)
4398
b11fb939
KR
4399 Conversion to autoconf:
4400 * acconfig.h, aclocal.m4: New files.
4401 * configure.in: Rewritten (except for some target-specific code)
4402 for autoconf.
4403 * conf.in, configure: New files, generated from the above.
4404 * Makefile.in: Changed magic sequence indicating insertion of
4405 makefile fragments.
4406 (VPATH, srcdir, CC, LIBS, OBJS dependencies): Use @-substitutions
4407 from configure.
4408 (LINKED_HEADERS): Deleted a.out.gnu.h, a.out.h, and host.h.
4409 (config.status, configure): Rewrite rules.
4410 (config-stamp): Depend on conf. Skip variables that configure is
4411 now substituting itself.
4412 (*.o dependencies): Deleted host.h.
4413 (distclean, realclean): Don't delete host.h.
4414 * as.c: Don't include stdio.h, string.h, sys/types.h. Include
4415 signal.h after as.h.
4416 * as.h: Include alloca-conf.h first. Include ctype.h, string.h,
4417 strings.h, stdlib.h, unistd.h, sys/types.h, fopen-bin.h,
4418 fopen-same.h, as suggested by autoconf test results.
4419 [BROKEN_ASSERT]: Don't include assert.h.
4420 (strdup): Declare.
4421 (volatile, const): Define if not __STDC__ and not already defined.
4422 (malloc, realloc) [NEED_MALLOC_DECLARATION]: Declare.
4423 (free) [NEED_FREE_DECLARATION]: Declare.
4424 * gasp.c: Include config.h, stdlib.h (if HAVE_STDLIB_H). Don't
4425 include host.h.
4426 (malloc) [NEED_MALLOC_DECLARATION]: Declare.
4427 * messages.c: Include as.h first. Include errno.h only if
4428 HAVE_ERRNO_H. If HAVE_VARARGS_H and not __STDC__, undefine
4429 HAVE_STDARG_H. Set NO_STDARG and NO_VARARGS as appropriate.
4430 * doc/Makefile.in (srcdir, INSTALL, INSTALL_PROGRAM,
4431 INSTALL_DATA): Use autoconf @-substitutions.
4432
27bf48ec
KR
4433 * input-file.c: Don't include assert.h here, 'cause as.h already
4434 includes it.
4435
aaeee550
KR
4436 * config/tc-alpha.c: Added various prototypes for static
4437 functions.
4438 (in_range): New function, tests whether a value can fit in an
4439 N-bit field.
4440 (build_mem, build_operate_n): New functions for constructing
4441 opcode values.
4442 (emit_sll_n, emit_ldah_num, emit_addq_r, emit_lda_n): New
4443 functions for emitting single instructions, no longer requiring a
4444 recursive call to md_assemble.
4445 (emit_add64): New function for expanding a REG:=REG+CONST
4446 operation into one or more instructions, to handle wide constants.
4447 (clear_insn): New variable.
4448 (md_begin): Fill it in with zeros and BFD_RELOC_NONE values.
4449 (alpha_ip): Use it to initialize local variable insns.
4450 (alpha_ip, label "immediate" and cases 'P', 'G'): Use emit_add64
4451 for calculations.
4452
6668a062
KR
4453Fri Aug 26 14:46:15 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com)
4454
4455 * subsegs.c (section_symbol): Reverse still-wrong test of
4456 EMIT_SECTION_SYMBOLS.
4457
8ef75e2c
KR
4458 * write.c (BFD_FAST_SECTION_FILL): Always define.
4459 (write_contents): If fill_size is 1, use memset instead of looping
4460 calling memcpy.
4461
904b6037
ILT
4462Wed Aug 24 12:46:08 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4463
20ae2fb8
ILT
4464 * config/tc-mips.h (LOCAL_LABEL): Define as 0, for compatibility
4465 with native MIPS assembler.
4466 * configure.in (mips-*-irix*): Don't set emulation.
4467 * config/te-irix.h: Remove.
4468
fd4f335c
ILT
4469 * ecoff.c (ecoff_symbol_new_hook): Don't add a new file if we
4470 haven't seen any input files yet.
4471 * config/tc-alpha.c (md_begin): Just call symbol_create, rather
4472 than calling symbol_new and then removing the symbol from the
4473 list.
4474
a2a1a548
ILT
4475 * as.c (main): Move a inside the #if 0 block which uses it.
4476 * ecoff.c (current_stabs_filename): Make const.
4477 * frags.h (frag_align_pattern): Declare.
4478 * gasp.c (new_file): Cast isp to long, and use %ld to print it.
4479 * config/tc-alpha.h (md_operand): Add cast to void.
4480 (alpha_do_align): Declare argument types.
4481 (tc_get_register): Declare.
4482 (alpha_frob_ecoff_data): Declare.
4483 * config/tc-alpha.c: Include <ctype.h>.
4484 (s_mask): Don't declare; does not exist.
4485 (line_comment_chars): Remove /* from descriptive comment.
4486 (tc_get_register): Remove unused local reg.
4487 (tc_gen_reloc): Don't bother to compare unsigned to zero.
4488 (s_base): Correct warning to actually print register number.
4489 (md_begin): Remove unused locals retval, lose, and i.
4490 (alpha_fix_adjustable): Move default case inside switch to avoid
4491 warning.
4492 (load_symbol_address): Remove unused locals reloc_addr, p, sym,
4493 and addend.
4494 (emit_byte_manip_r): Declare types for all arguments.
4495 (emit_extract_r, emit_insert_r, emit_mask_r): Likewise.
4496 (emit_sign_extend, emit_bis_r, s_proc): Likewise.
4497 (alpha_ip): Use sprint_value to print offsetT value. Remove
4498 unused local size. Remove unused label get_macro.
4499 (alpha_do_align): Make fill const.
4500 (md_apply_fix): Remove unused label check_zov.
4501
904b6037
ILT
4502 * configure.in: Recognize i586 as a synonym for i[34]86.
4503
4504Tue Aug 23 12:32:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4505
4506 * config/obj-coff.c (c_line_new): Change line_number argument from
4507 unsigned short to int so that the type in the prototype matches
4508 the promoted type in the definition.
4509 (stack_delete): Comment out; not used.
4510 * config/obj-coff.h (tc_coff_symbol_emit_hook): Declare if not
4511 BFD_ASSEMBLER, not if BFD_ASSEMBLER. Declare argument type.
4512 * config/tc-m68k.h (tc_coff_sizemachdep): Declare.
4513 * config/tc-m68k.c (tc_coff_symbol_emit_hook): Add ignored
4514 argument.
4515
2cffb4f4
JL
4516Tue Aug 16 01:48:20 1994 Jeff Law (law@snake.cs.utah.edu)
4517
05d0c2cc
JL
4518 * gas/config/tc-hppa.c (pa_comm): Undo last change. Set sy_frag for
4519 the common symbol to the zero address frag (the correct fix).
4520
4521Tue Aug 16 01:48:20 1994 Jeff Law (law@snake.cs.utah.edu)
4522
4523 * gas/config/tc-hppa.c (pa_comm): Undo last change. Set sy_frag for
4524 the common symbol to the zero address frag (the correct fix).
4525
4526 * config/tc-hppa.c (pa_comm): Set sy_resolved for the common
69cb5925 4527 symbol.
2cffb4f4 4528
101fbf7e
ILT
4529Fri Aug 12 17:51:48 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4530
4531 * config/tc-mips.c (md_begin): Drop "el" from the end of
4532 TARGET_CPU. Check for mips64orion.
4533
a1dafd55
SG
4534Tue Aug 9 19:43:45 1994 Stu Grossman (grossman@cygnus.com)
4535
4536 * configure.in: Recognize ppc-*-netware.
4537 * config/te-ppcnw.h: New file to support Power-PC/Netware
4538 configurations. Currently, it just enables the use of backslash
4539 escapes in string directives.
4540
55933a58
ILT
4541Tue Aug 9 11:12:13 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4542
8e479636
ILT
4543 * config/tc-ppc.c (ppc_stabx): Call expression directly, rather
4544 than via pseudo_set. If expression is a symbol, move stab symbol
4545 to just after symbol from expression.
4546
c9a89891
ILT
4547 * ecoff.c (ecoff_build_procs): Don't force adr of first fdr to be
4548 zero. Undoes change of June 4, 1993.
4549
55933a58
ILT
4550 * config/tc-mips.c (md_parse_option): Accept -mcpu=4400, 4600, and
4551 orion.
4552
4553Mon Aug 8 16:28:08 1994 Steve Chamberlain (sac@jonny.cygnus.com)
4554
4555 * as.h: Remove FOPEN_WB patch of Aug 6.
4556 * configure.in: Configure for ho-go32 correctly.
4557 * config/ho-go32.h: Fix copyright.
4558
1503edcc
JL
4559Mon Aug 8 11:59:51 1994 Jeff Law (law@snake.cs.utah.edu)
4560
4561 * gas/config/tc-hppa.c (md_pseudo_table): Delete redundant
4562 upper-case versions of the pseudo-ops.
4563
2cd14ddc
ILT
4564Mon Aug 8 13:42:16 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4565
4566 * config/tc-sparc.c (md_apply_fix): If we are going to generate a
4567 non PC relative reloc, don't put the addend in the object file.
4568
6670b7f3
SC
4569Sat Aug 6 01:15:02 1994 Steve Chamberlain (sac@jonny.cygnus.com)
4570
4571 * as.h: If FOPEN_WB is not defined, do the right thing in a go32
4572 environment.
4573
4574Mon Jul 11 11:34:52 1994 Steve Chamberlain (sac@jonny.cygnus.com)
4575
4576 * config/tc-h8300.c (pint): New function for handling varying
4577 size of int pseudo op.
4578 * doc/as.texinfo: Fix typo describing .h8300h pseduop.
4579
363d6150
JL
4580Mon Aug 1 02:40:43 1994 Jeff Law (law@snake.cs.utah.edu)
4581
fbf71886
JL
4582 * config/tc-hppa.c (create_new_space): Initialize sd_subspaces
4583 field in the space chain.
4584
363d6150
JL
4585 * config/tc-hppa.c (tc_gen_reloc): Cast return value from
4586 hppa_gen_reloc_type.
4587
5e0a90a8
KR
4588Thu Jul 28 15:45:37 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4589
4590 * config/tc-sparc.c (sparc_ip): Check more carefully for
4591 conflicting architectures.
4592 (md_parse_option) [NO_V9]: Complain if v9 was selected.
4593 (md_show_usage): Derive architecture list in usage message from
4594 architecture_pname array.
4595 (cypress): Macro deleted.
4596 (op_hash): Don't initialize.
4597 (s_common): Use bfd_und_section_ptr instead of bfd_und_section.
4598
4599 * config/tc-sparc.c (BSR): New function.
4600 (sparc_ip): Use it for right-shift operations of 32 bits or more.
4601
4602 * config/tc-sparc.c (sparc_ip): Implement new operand type 'x'.
4603
39792caf
KR
4604Tue Jul 26 18:21:24 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4605
4606 * config/obj-coff.h: Moved common includes and TARGET_FORMAT
4607 definitions together.
4608 (WORKING_DOT_WORD, WARN_SIGNED_OVERFLOW_WORD,
4609 OBJ_COFF_OMIT_OPTIONAL_HEADER, BFD_HEADERS, BFD) [!BFD_ASSEMBLER]:
4610 Moved these definitions to the start of the file, before the
4611 includes.
4612 (SYMBOLS_NEED_BACKPOINTERS, OBJ_COFF_MAX_AUXENTRIES): Always
4613 define these.
4614 (S_GET_ZEROES): Deleted.
4615 (S_SET_ZEROES): Moved to obj-coff.c.
4616
4617 * config/obj-coff.c (obj_coff_* psuedo-op fns): Deleted
4618 forward declarations.
4619 (obj_pseudo_table): Moved to one version end of file,
4620 conditionalized internally.
4621 (stack typedef, stack_init, stack_delete, stack_push, stack_pop,
4622 tag_hash, tag_init, tag_insert, tag_find, tag_find_or_make): Moved
4623 to one combined version at top of file, unconditional. Deleted
4624 forward declarations.
4625 (s_get_name): Moved one copy of declarations to start of file.
4626 (def_symbol_in_progress): Ditto. Don't initialize.
4627 (S_SET_ZEROES): Moved here from obj-coff.h.
4628 (write_object_file): If TC_COFF_SET_MACHINE is defined, call it on
4629 the file headers.
4630
4631 * config/obj-coff.c (seg_info_off_by_4): Now const and static.
4632 (SEG_INFO_FROM_SEG_NUMBER): Unused macro deleted.
4633 (previous_file_symbol, def_symbol_in_progress, symbol_externP,
4634 symbol_extern_lastP, last_functionP) [!BFD_ASSEMBLER]: Don't
4635 bother explicitly initializing to zero value.
4636
4637 * config/obj-coff.c (fixup_segment) [TC_I960]: Use SF_GET_BALNAME
4638 and SF_GET_CALLNAME instead of the TC_S_IS_ versions.
4639
10db66ec
KR
4640 * config/tc-i960.h (TC_COFF_SET_MACHINE): New macro. Calls
4641 tc_headers_hook.
4642
4643 * config/tc-i960.c (targ_has_iclass): Use I_CX | I_CX2 where I_CX
4644 was used previously.
4645 (tc_headers_hook): If I_CX2 is found, set flags to F_I960CA.
4646
4647 * config/tc-i960.c (po_hash): Declaration deleted.
4648 (next_object_file_charP): Ditto.
4649 (regnames, aregs, coj): Now const.
4650 (parse_memop): Static array def_scale now const.
4651 (md_begin): Cast away const when passing hash routines addresses
4652 of values in regnames or aregs.
4653 (md_longopts): Added "link-relax" and "no-relax" hyphenated forms.
4654 Continue to accept one-word forms.
4655 (struct tabentry, arch_tab): Moved to top level from inside
4656 md_parse_option. Now const.
4657 (md_show_usage): Use arch_tab to generate usage message. Print
4658 hyphenated forms of relax options.
4659
4660 * config/tc-i960.h (DEFINE_I960_AOUT, TC_S_IS_*, TC_S_*_SYSPROC,
4661 TC_S_FORCE_TO_*): Moved from here...
4662 * config/tc-i960.c: ... to here. Changed DEFINE_I960_AOUT stuff
4663 to test OBJ_AOUT and OBJ_BOUT directly.
4664
4665 * config/tc-i960.h (CTRL, COBR, COJ, REG, MEM*, FBRA, CALLJ,
4666 M1-M3, REG_OPC, R_*, SFR, LIT, FP, OP, R, RS, RL, RSL, F,
4667 {R,F}{,L}{2,4}, M, SFR_OK, LIT_OK, FP_OK, REG_ALIGN, MEMOP, I_*):
4668 Macros deleted.
4669
4670 start-sanitize-i960xl
4671 * config/tc-i960.c (ARCH_XL): Define.
4672 (arch_tab): Include XL.
4673 (targ_has_sfr, targ_has_iclass): Handle XL.
4674 (tc_headers_hook): Set flags to F_I960XL for i960XL.
4675 end-sanitize-i960xl
4676
39792caf
KR
4677Fri Jul 15 15:36:51 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4678
4679 * subsegs.c (section_symbol): Had last change backwards.
4680
3b6d6f71
KR
4681Thu Jul 14 13:21:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4682
462ab71d
KR
4683 * config/atof-ns32k.c: Deleted.
4684
3b6d6f71
KR
4685 * config/obj-aout.c (obj_aout_frob_symbol): Use
4686 bfd_ind_section_ptr and bfd_und_section_ptr.
4687
4688 * subsegs.c (subseg_set_rest): Compare segT values directly,
4689 without casting to int first.
4690
259e35d4
KR
4691 * config/tc-ns32k.c (md_begin): Return value from hash_insert
4692 should be pointer to const. Don't call exit explicitly after
4693 calling as_fatal; it won't return.
4694 (convert_iif): Make local variable j be pointer to bit_fixS, since
4695 that's how it's used.
4696 (encode_operand, case 'b'): Ignore sprintf return value. Don't try
4697 converting freeptr to int and back.
4698
4699 Merged in NS32K support update from Ian Dall (dall@hfrd.dsto.gov.au):
4700
4701 * config/te-pc532mach.h: New file. pc532-mach target emulation.
4702
4703 * config/te-netbsd532.h: New file. Netbsd532 target emulation.
4704
4705 * config/tc-ns32k.h: Add definition of NOP_OPCODE.
4706
4707 * config/tc-ns32k.h: Add prototype for fix_new_ns32k_exp.
4708
4709 * config/tc-ns32k.h: Add BFD_ASSEMBLER support.
4710
4711 * config/tc-ns32k.c (tc_gen_reloc): New function for BFD_ASSEMBLER.
4712
4713 * config/tc-ns32k.c (fix_new_ns32k_exp): Get reloc type
4714 differently for BFD_ASSEMBLER.
4715
4716 * config/tc-ns32k.c (md_estimate_size_before_relax): Get reloc
4717 type differently for BFD_ASSEMBLER.
4718
4719 * config/tc-ns32k.c (md_create_long_jump): Size of opcode is one
4720 not 2.
4721
4722 * config/tc-ns32k.c (md_convert_frag): Code for the BFD_ASSEMBLER
4723 case. Also use smart md_pcrel_adjust function.
4724
4725 * config/tc-ns32k.c (md_apply_fix): Code for the BFD_ASSEMBLER
4726 case. Also use smart md_fix_pcrel_adjust function.
4727
4728 * config/tc-ns32k.c (md_fix_pcrel_adjust): New function which can
4729 find offset from opcode to operand even if in another frag
4730 and in the presence of relaxing.
4731
4732 * config/tc-ns32k.c (md_pcrel_adjust): New function which can
4733 find offset from opcode to operand even if in another frag
4734 and in the presence of relaxing.
4735
4736 * config/tc-ns32k.c (md_number_to_disp): Check ranges properly.
4737
4738 * config/tc-ns32k.c (md_atof): use atof_ieee instead of special
4739 atof_ns32k.
4740
4741 * config/tc-ns32k.c (reloc): New (static) function for
4742 BFD_ASSEMBLER.
4743
4744 * config/tc-ns32k.c (convert_iif): More correct pc relative code.
4745 md_relax must be able to find opcode address even if in another frag.
4746
4747 * config/tc-ns32k.c: More extensive comments.
4748
4749 * config/tc-ns32k.c (encode_operand): Support new operand classes I
4750 and Z. Drop Q.
4751
4752 * config/tc-ns32k.c (fix_new_ns32k_exp): new function and
4753 corresponding prototype.
4754
4755 * config/tc-ns32k.c: make 32532 default machine instead of 32032.
4756
4757 * config/tc-ns32k.c: include opcode/ns32k.h after as.h
4758
4759 * aout_gnu.h: r_disp needs to be 2 bits for TC_NS32K
4760
4761 * write.h: fx_im_disp needs to be 2 bits big for TC_NS32K
4762
4763 * write.c (relax_segment): Use TC_PCREL_ADJUST macro (if defined)
4764 instead of adding pcrel_adjust.
4765
4766 * write.c (write_object_file): Adjust to_addr for the
4767 BROKEN_DOT_WORD feature for the BFD_ASSEMBLER case.
4768
4769 * write.c (write_object_file): Use TC_CONS_FIX_NEW if it is defined.
4770
4771 * write.c (write_contents): Add code (currently if
4772 BFD_FAST_SECTION_FILL is defined) to make large fills a lot faster.
4773
4774 * configure.in: Remove ns32k from special FP list. All the ns32k
4775 series use ieee float.
4776
4777 * configure.in: Add ns32k-pc532-mach and ns32k-pc532-netbsd targets
4778
4779 * as.h: include expr.h before targ-env.h. Some target dependent file
4780 want to use expr structures.
4781
4ac7a9e4
ILT
4782Wed Jul 13 14:49:05 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4783
4784 * config/tc-m68k.c (m68k_ip): Change rp to be a const pointer.
4785 (md_parse_option): Clear cpu field of current_architecture before
4786 setting a new cpu type. Clear no_68881 for m68881 or m68882.
4787 Clear no_68851 for m68851.
4788
6b510a40
KR
4789Tue Jul 12 21:27:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4790
4791 * config/ho-sysv.h (realloc): Declare.
4792
3c498933
KR
4793 * symbols.c (symbol_create): New function, most of the guts of the
4794 old symbol_new function.
4795 (symbol_new): Now just checks symbol_table_frozen, calls
4796 symbol_create, and enters the symbol into the symbol table.
4797 * subsegs.c (section_symbol): If EMIT_SECTION_SYMBOLS is not true,
4798 and the symbol table is frozen, call symbol_create instead of
4799 symbol_new.
4800 * symbols.h (symbol_create, symbol_table_frozen): Declare.
4801
4802 * symbols.c (symbol_clear_list_pointers): Always a function now.
4803 * struc-symbol.h (symbol_clear_list_pointers): Deleted macro
4804 version.
4805
4806 * symbols.c (debug_verify_symchain): New macro, defined to be
4807 verify_symbol_chain or a cast to void, depending on DEBUG_SYMS.
4808 (many functions): Invoke debug_verify_symchain unconditionally.
4809
a85cd289
KH
4810Tue Jul 12 12:06:42 1994 Kung Hsu (kung@x1.cygnus.com)
4811
4812 * config/obj-ecoff.h: change calling interface of
4813 OBJ_GENERATE_ASM_LINE_STAB.
4814 * config/obj-elf.h: ditto.
4815 * read.c (read_a_source_file): ditto.
4816 * ecoff.h: change calling interface of
4817 ecoff_generate_asm_line_stab.
4818 * ecoff.c (add_file): record of filename to handle case of include
4819 files, also change default built-in type from int to void for
4820 asm file.
4821 * ecoff.c (ecoff_generate_asm_line_stab): handle case of include
4822 files.
4823
51d8e5ae
ILT
4824Mon Jul 11 17:20:23 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4825
4826 * config/tc-mips.c (macro): In case M_LA_AB, SVR4_PIC, large
4827 constant, and case ldd_std, set mips_optimize to 2 temporarily to
4828 avoid inserting an unexpected nop instruction.
4829
64d527f7
ILT
4830Sat Jul 9 00:05:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4831
4832 * ecoff.c (ecoff_build_lineno): Handle count correctly for last
4833 line number.
4834
6f15d409
SC
4835Fri Jul 8 15:22:07 1994 Steve Chamberlain (sac@jonny.cygnus.com)
4836
6670b7f3 4837 * gasp.c (process_pseudo_op): Pass right args to do do_aif.
6f15d409
SC
4838 (get_any_string): New arg 'pretend_quote'.
4839 (get_and_process, do_formals, macro_expand, do_sdata,
4840 process_pseudo_op): Use new arg.
4841
daad3bbf
KH
4842Fri Jul 8 12:23:44 1994 Kung Hsu (kung@mexican.cygnus.com)
4843
4844 * config/obj-ecoff.h: define macro OBJ_GENERATE_ASM_LINE_STAB.
4845 * config/obj-elf.h: ditto.
4846 * read.c (read_a_source_file): generate line stabs for asm file.
4847 * read.h: add extern generate_asm_line_stab.
4848 * ecoff.h : add prototype for ecoff_generate_asm_line_stab().
4849 * ecoff.c (add_file): if there's no filename provided, set switch
4850 to generate line stabs for .s file.
4851 * ecoff.c (add_procedure): add stabs symbol for .ent directive.
4852 * ecoff.c (generate_ecoff_stab): creates an artificial stabs.
4853 * ecoff.c (generate_asm_line_stab): generate a artifitial label
4854 for each line and generate a stabn for the line.
4855
13d9fd33
SC
4856Thu Jul 7 17:04:03 1994 Steve Chamberlain (sac@jonny.cygnus.com)
4857
4858 * gasp.c (get_any_string): Cope with getting a string with an
4859 alternate base specifier.
4860 (do_aif, do_aelse): Only enable output if expression is true and previous
4861 level was on.
4862 (chartype_init): Add BASEBIT chartype.
4863 (process_pseudo_op): Notice nesteed AIFs.
4864
4865Thu Jul 7 12:30:22 1994 Steve Chamberlain (sac@jonny.cygnus.com)
4866
4867 * h8300.c (do_a_fix_imm): Code for 2 bit reloc type using in trapa
4868 insn. (fix pr 5165, 5174)
4869
8fd04cba
JL
4870Thu Jul 7 11:31:32 1994 Jeff Law (law@snake.cs.utah.edu)
4871
13d9fd33
SC
4872 * config/tc-hppa.c (R_DLT_REL): If it isn't defined, then define
4873 to an appropriate value to avoid losing on old hpux systems.
4874
8fd04cba
JL
4875 * config/tc-hppa.c (hppa_fix_adjustable): Reject reductions for
4876 symbols in DLT relative relocs.
4877 (tc_gen_reloc): Zero out the addend field for DLT relative relocs.
4878
8882a587
ILT
4879Wed Jul 6 01:07:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4880
4881 * config/tc-ppc.c (ppc_tc): If not OBJ_COFF, force TOC entry to
4882 align to a four byte boundary.
4883
4174e052
KR
4884Tue Jul 5 15:42:09 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4885
4886 * config/tc-alpha.c (load_expression): Handle 32-bit addends.
4887 (gpdisp_hi16_howto): Now points to const.
4888 (load_insn_table, alpha_ip): Fix uses of const.
4889
10f67315
KR
4890 * doc/internals.texi: Updates to COFF description. Added "@end
4891 defmac" as needed, and some extra heading and "@bye" so it'll
4892 format as a separate document.
4893
bcb62abf
ILT
4894Tue Jul 5 13:54:00 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4895
4896 * config/obj-elf.h (S_GET_ALIGN, S_SET_ALIGN): Define.
4897 * config/obj-elf.c (obj_elf_common): Set alignment of common
4898 symbol.
4899 * config/tc-sparc.c (s_common): If OBJ_ELF, set alignment of
4900 common symbol.
4901
655f3ef4
JL
4902Mon Jul 4 18:29:43 1994 Jeff Law (law@snake.cs.utah.edu)
4903
4904 * config/tc-hppa.c (is_complex): New macro.
4905 (cons_fix_new_hppa): "Handle" complex expressions.
4906
4907Fri Jul 1 00:48:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4908
4909 * config/obj-coff.c (write_object_file): Set s_align field from
4910 section_alignment array.
4911
04f0c2e3
KR
4912Thu Jun 30 15:05:28 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4913
4914 * write.c (write_object_file): Use bfd_com_section_ptr.
4915 * as.h (absolute_section, undefined_section): Use new BFD macros
4916 bfd_abs_section_ptr and bfd_und_section_ptr.
4917
f2554579
ILT
4918Thu Jun 30 14:36:37 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4919
4920 * config/tc-mips.c (macro): For M_LI_SS, decide how to handle it
4921 based on contents of imm_expr and offset_expr, rather than
4922 mips_pic. For M_LI_DD, decide how to handle it based on segment
4923 name of offset_expr, rather than mips_pic.
4924 (mips_ip): If g_switch_value < 4, use immediate values for 'l'.
4925 If g_switch_value < 8, use .rdata rather than .lit for 'L'.
4926
6f0b87c3
SS
4927Wed Jun 29 17:30:46 1994 Stan Shebs (shebs@andros.cygnus.com)
4928
4929 * as.c (show_usage): Break long string into shorter ones.
4930 (parse_args): Add -v, prints version id and continues.
4931 * config/tc-mips.c (md_show_usage): Break long string.
4932
4933Mon Jun 27 09:47:16 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
4934
4935 * config/tc-i386.c (md_parse_option): Handle "-V" and "-Q" if
4936 OBJ_ELF is defined.
4937
f488a4d6
SS
4938Sun Jun 26 16:30:48 1994 Stan Shebs (shebs@andros.cygnus.com)
4939
4940 * as.c (main) [HOST_SPECIAL_INIT]: New hook, for host-specific
4941 initialization.
4942
1f12ae43
JL
4943Wed Jun 22 00:24:55 1994 Jeff Law (law@snake.cs.utah.edu)
4944
4945 * config/tc-hppa.h (obj_frob_symbol): Define for OBJ_ELF.
4946 More gas/bfd lossage exposed by the new linker code.
4947
dff770c8
ILT
4948Tue Jun 21 11:32:18 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4949
1f12ae43
JL
4950 * subsegs.c (subseg_change): Clear seginfo after allocating it.
4951 (subseg_get): Pass actual size of seginfo to memset.
4952
dff770c8
ILT
4953 * subsegs.c (abs_seg_info, und_seg_info): Define if BFD_ASSEMBLER.
4954 (subseg_change): Store seg_info for bfd_abs_section_ptr in
4955 abs_seg_info, and store seg_info for bfd_und_section_ptr in
4956 und_seg_info.
4957 (subseg_get): Likewise. Also, don't set output_section if it is
4958 already set.
4959 (seg_info): Define as function.
4960 * subsegs.h (seg_info): Declare as function rather than defining
4961 as macro.
4962 * write.c (relax_and_size_seg): Call seg_info rather than
4963 bfd_get_section_userdata.
4964
e0b36f18
KR
4965Mon Jun 20 16:30:54 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4966
639c820d
KR
4967 * configure.in (ppc-*-elf*): New target, like -sysv4*.
4968
e0b36f18
KR
4969 * expr.c (operand): If "0f" is followed by '\0', don't do eol
4970 checks.
4971
256816ca
ILT
4972Mon Jun 20 15:17:43 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4973
4974 * ecoff.c (ecoff_build_aux): Call swap_tir_out and swap_rndx_out
4975 via backend pointer, not directly.
4976
de442a3c
ILT
4977Fri Jun 17 18:05:06 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4978
4979 * Makefile.in (config-stamp): Make sure there is at least one
4980 element in the for loop.
4981
0e68b3bc
JL
4982Fri Jun 17 11:01:04 1994 Jeff Law (law@snake.cs.utah.edu)
4983
239f16dd
JL
4984 * config/tc-hppa.c: Misc trivial changes to make gcc -Wall happy.
4985
0e68b3bc
JL
4986 * config/tc-hppa.h (elf_hppa_final_processing): Declare.
4987
5ee93e0a
KR
4988Wed Jun 15 20:44:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4989
286272fb
KR
4990 * as.c (parse_args): Cast xmalloc return value.
4991
5ee93e0a
KR
4992 * Makefile.in (config-stamp): If $(defs) contains multiple words,
4993 emit a #define line for each.
4994 * configure.in: For sparc64 target, use sparc cpu files and add
4995 sparcv9 to extra_defs. No longer treat sparc64-*-aout* specially.
4996
4997 * config/tc-sparc.c (membar_masks): Now static and const.
4998 (md_show_usage) [!NO_V9]: Add -Av9 to usage message.
4999 (current_architecture) [sparcv9]: Initialize to v9.
5000 (md_begin) [sparcv9]: Don't bother changing it unconditionally
5001 here.
5002 (s_reserve): Don't pass unexpected argument to as_bad with
5003 bad-segment message.
5004
5005 * as.h (bfd_alloc_by_size_t) [BFD_ASSEMBLER]: Declare.
5006
5007 * config/atof-ieee.c (int_to_gen): Commented out unused routine.
5008
5009 * config/tc-vax.c (md_assemble): Removed check of operand section.
5010
5011 Fri Jun 3 17:25:08 1994 Pat Rankin (rankin@eql.caltech.edu)
5012
5013 * config/obj-vms.h (DBG_S_C_COMPLX4, DBG_S_C_COMPLX8): define
5014 these new VMS symbol-type macros for `complex float' and
5015 `complex double' support. Their values come from the existing
5016 DSC$K_DTYPE_FC and DSC$K_DTYPE_DC macros in <descrip.h>.
5017 (DBG_S_C_REAL8_G, DBG_S_C_COMPLX8_G): G_float versions of
5018 REAL8 and COMPLX8; not used yet, because gcc outputs the same
5019 .stabs for `double' regardless of whether `-mg' is used.
4174e052 5020 * config/obj-vms.c (VMS_typedef_parse) [case 'r']: add entries
5ee93e0a
KR
5021 for gcc2's predefined types "complex float", "complex double",
5022 and "complex long double" (identical to complex double).
5023
36a87ad7
ILT
5024Wed Jun 15 12:32:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5025
0e35ba9b
ILT
5026 * config/obj-coff.c (coff_frob_symbol): Use C_STAT for the .text
5027 section symbol, not C_LABEL.
5028
adf05987
ILT
5029 * config/tc-mips.c (mips_ip): Permit a modifier in 'o' case, and
5030 permit non constant expressions in 'u' case. Lets ``lui
5031 $8,%hi(foo); lw $8,%lo(foo)($8)'' work correctly.
36a87ad7 5032
a5183648
ILT
5033Mon Jun 13 12:08:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5034
5035 * config/obj-aout.c (obj_aout_frob_symbol): Warn about an attempt
5036 to put a common symbol in a set.
5037
02d4e923
ILT
5038Sat Jun 11 16:41:21 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5039
5040 Add weak symbols as an extension to a.out.
5041 * read.c (pseudo_set): Only preserve external bit for OBJ_AOUT and
5042 OBJ_BOUT if not BFD_ASSEMBLER.
5043 * config/aout_gnu.h (N_WEAKU, N_WEAKA, N_WEAKT, N_WEAKD, N_WEAKB):
5044 Define as in ../include/aout/aout64.h.
5045 * config/obj-aout.h (OBJ_SYMFIELD_TYPE): If not BFD_ASSEMBLER,
5046 define as char.
5047 (S_GET_WEAK, S_SET_WEAK): Define if not BFD_ASSEMBLER.
5048 * config/obj-aout.c (obj_pseudo_table): Add "weak".
5049 (obj_emit_symbols): Adjust type of weak symbols.
5050 (obj_aout_weak): New static function.
5051
726672c5
ILT
5052Fri Jun 10 13:48:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5053
7b1e07b4
ILT
5054 * config/obj-elf.c (obj_elf_section): Don't set any flags based on
5055 the type of a special section.
5056
726672c5
ILT
5057 * config/ho-sunos.h: Include <stdlib.h>. Don't declare malloc,
5058 realloc, free, or atol.
5059
0b3d0999
BC
5060Wed Jun 8 06:28:37 1994 Bill Cox (bill@cygnus.com)
5061
5062 * Makefile.in (check): Delete as.new dependency, so that
5063 regression test doesn't trigger an assembler build.
5064
daa7e184
ILT
5065Tue Jun 7 13:33:18 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5066
5067 * Makefile.in (mostlyclean, realclean): New targets.
5068 * doc/Makefile.in, testsuite/Makefile.in: Likewise.
5069
d2c71068
ILT
5070Mon Jun 6 13:10:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5071
5072 * config/tc-mips.c (RDATA_SECTION_NAME): Define.
5073 (macro): Correct M_LI_SS SVR4_PIC/EMBEDDED_PIC case. After M_LI_D
5074 or M_L_DOB or label dob, force a new frag to avoid getting
5075 confused in tc_gen_reloc.
5076 (mips_ip): Use RDATA_SECTION_NAME, not .rdata.
5077 (s_change_sec): Likewise.
5078
1fbfe108
ILT
5079Fri Jun 3 23:35:36 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5080
5081 * read.c (emit_expr): Use memset to zero out memory, rather than
5082 going through md_number_to_chars. This permits handling symbolic
5083 arguments when the size is larger than sizeof (valueT), if
5084 TC_CONS_FIX_NEW is prepared to handle the case (as it is on MIPS).
5085
f3d817d8
DM
5086Fri Jun 3 12:50:13 1994 David J. MacKenzie (djm@rtl.cygnus.com)
5087
baed44cd
DM
5088 * as.c (show_usage), config/tc-alpha.c (md_show_usage),
5089 config/tc-mips.c (md_show_usage): Fix up messages.
5090
def66e24
DM
5091 * as.h: Replace flagseen with separate variables.
5092 * as.c (parse_args): Set them. Don't accept -1 option, or -v
5093 explicitly (it's a synonym for --version).
69cb5925 5094 * as.c, input-scrub.c, messages.c, read.c, symbols.c, write.c,
def66e24
DM
5095 config/obj-aout.c, config/obj-aout.h, config/obj-bout.c,
5096 config/obj-bout.h, config/obj-coff.c, config/obj-coff.h,
5097 config/obj-vms.c, config/tc-hppa.c, config/tc-i386.c,
5098 config/tc-i960.c, config/tc-m68k.c, config/tc-mips.c,
5099 config/tc-vax.c: Use the new flag variables instead of flagseen.
5100 * config/tc-vax.c [OBJ_VMS]: Recognize -+, -1, -v, and document in
69cb5925 5101 usage.
def66e24 5102
f3d817d8
DM
5103 * as.c (show_usage): Remove target specific messages;
5104 instead, call md_show_usage.
5105 (parse_args): Use getopt_long_only. Take pointers to argc and
5106 argv.
5107 (main): Pass parse_args pointers.
5108 * as.h: Remove 3 variables that are redundant with flagseen.
5109 * as.c, messages.c: Change their users to use flagseen.
5110 Define getopt stuff.
5111 * tc.h: Update md_parse_option decl. Add md_show_usage decl.
5112 * config/tc-*.c: Add md_shortopts, md_longopts,
5113 md_longopts_size, md_show_usage. Change calling convention for
5114 md_parse_option. Remove md_parse_long_option.
5115 * config/tc-ns32k.c: Rename `struct option' to `struct ns32k_option'.
5116 * config/tc-i386.h: Don't define md_parse_option.
5117
ebd6f117
DM
5118Thu Jun 2 13:54:46 1994 David J. Mackenzie (djm@rtl.cygnus.com)
5119
5120 * as.c (show_usage): New function.
5121 (parse_args): Code moved from main.
5122 Recognize --help and --version.
5123 * config/tc-ns32k.h: Define TC_NS32K.
5124 * doc/as.texinfo: Document all of the target-independent command
5125 line options.
5126
314628f6
KR
5127Thu Jun 2 12:07:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5128
5129 * gasp.c (hash_new_table): Clear newly allocated table.
5130
5131 * config/tc-m68k.c (enum _register): Add 68060 control registers
5132 BUSCR and PCR.
5133 (last_movec_reg): New macro.
5134 (m68000_control_regs, m68010_control_regs, m68020_control_regs,
5135 m68040_control_regs, m68060_control_regs): New arrays.
5136 (control_regs): New pointer.
5137 (m68k_ip): Use control_regs instead of testing CPU every time.
5138 Use last_movec_reg too. In error messages, handle 68060, and
5139 print 68060 for mfloat, too.
5140 (m68k_init_after_args): Handle "68060". Use m68040up for making
5141 m68851 choice. Set control_regs.
5142 (md_parse_option): Handle "68060".
5143 * configure.in: Setting cpu_type, recognize m68060 too.
5144
5145 * config/obj-coff.c (fixup_segment) [!BFD_ASSEMBLER]
5146 [DIFF_EXPR_OK]: Do conversion to pc-relative for difference, even
5147 if pcrel is already set.
5148
5149 * read.c (potable): Add this_gcc_requires_the_gnu_assembler in all
5150 lower-case, in case we're ignoring case of opcodes in the input
5151 file.
5152
5153 * doc/as.texinfo (.section): Document as unavailable for a.out
5154 type formats.
5155
5156 * config/tc-alpha.c (machine): New variable.
5157 (load_insn): New macro.
5158 (load_insn_table): New function.
5159 (md_begin): Call load_insn_table, once for basic instructions and
5160 once for appropriate PAL instruction table.
5161 (md_parse_option): Set `machine' based on -m##### arguments.
5162 * config/alpha-opcode.h (alpha_pal21064_opcodes): Split out from
5163 alpha_opcodes.
5164 (alpha_pal21164_opcodes): New table.
5165 (NUM21064OPCODES, NUM21164OPCODES): New macros.
5166
5167 * configure.in (target i386-*-netbsd0.8): Use 386bsd emulation.
5168
5169 * doc/Makefile.in (install-info-gasp): Use $$dir when installing
5170 file.
5171
0221ddf7
ILT
5172Wed Jun 1 10:48:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5173
5174 * config/tc-mips.c (mips_ip): Force floating point values to be
5175 aligned correctly.
5176
488442d4 5177Fri May 27 10:05:53 1994 Ken Raeburn (raeburn@cygnus.com)
c06e55d9
KR
5178
5179 Merged in changes from gas-2.3 net release:
5180
5181 * Makefile.in (VERSION): Updated to cygnus-2.3.1.
5182
5183 * config/obj-vms.c: Replaced unchecked uses of malloc with
5184 xmalloc.
5185
5186 * listing.c (list_symbol_table): Only test BFD64, not
5187 BFD_ASSEMBLER too.
5188
314628f6
KR
5189 * config/obj-coff.c (fixup_segment) [BFD_ASSEMBLER]
5190 [DIFF_EXPR_OK]: Don't check pcrel, just convert it.
c06e55d9
KR
5191
5192 * config/obj-vms.c: Removed lots of extra semicolons after
5193 compound statements.
5194 (strchr): Don't declare here.
5195
5196 * config/ho-vax.h (realloc): Declare.
5197
5198 * config/ho-vms.h (strchr, strdup): Declare.
5199
5200 * config/tc-sparc.c (md_parse_option) [OBJ_ELF]: Accept and ignore
5201 option `-q'.
5202
5203 Wed May 18 20:50:35 1994 Pat Rankin (rankin@eql.caltech.edu)
5204
5205 * config/obj-vms.h (DBG_S_C_SQUAD, DBG_S_C_UQUAD): define these
5206 new VMS symbol-type macros; signed and unsigned quadword integers,
5207 for `long long' support. Their values come from the existing
5208 DSC$K_DTYPE_QU and DSC$K_DTYPE_Q macros in <descrip.h>. The
5209 VMS debugger now recognizes `long long' variables correctly.
4174e052 5210 * config/obj-vms.c (VMS_typedef_parse) [case 'r']: add entries
c06e55d9
KR
5211 for gcc2's predefined types "long double" (same as double, as
5212 per gcc's current state), "long long int", "long long unsigned
5213 int", and final `otherwise' case (to avoid uninitialized type
5214 and size fields). [caveat: predefined types "complex int",
5215 "complex float", "complex double", and "complex long double" are
5216 still missing.]
5217
5218 * config/ho-vms.h (EXIT_FAILURE): define as 0x10000002 instead
5219 of 0, because the latter indicates success rather than failure
5220 when passed to `exit' or return from `main' compiled by gcc2.
5221
5222 * config/obj-vms.c (array_suffix, generate_suffix): replace two
5223 hardcoded `0xa3's with macro DBG_S_C_ADVANCED_TYPE from obj-vms.h.
5224 (VMS_typedef_parse): eliminate redundant if-then-else when
5225 allocating new symbol entry and linking it to VMS_Symbol_type_list.
5226
5227 Tue May 17 20:47:31 1994 Pat Rankin (rankin@eql.caltech.edu)
5228
5229 * config/obj-vms.c (Write_VMS_MHD_Records): don't try to interpret
5230 the contents of the GAS_VERSION string when falling back to it for
5231 language processor identification.
5232
5233 * make-gas.com, vmsconf.sh (ENVIRON): fix misspelling of
5234 `psect_attr' in linker options.
5235
5236 Wed May 11 22:32:00 1994 DJ Delorie (dj@ctron.com)
5237
5238 * configure.bat: update to latest makefile.in
5239 * config/te-go32.h: [new] go32's environment
5240
a193acc0
ILT
5241Fri May 20 17:59:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5242
5243 * as.h: Don't declare parameters for strstr.
5244
f9c57637
ILT
5245Thu May 19 15:40:13 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5246
5247 * config/tc-sparc.c (md_section_align): Don't change the size if
5248 OBJ_ELF.
5249
ac7f7dfe
ILT
5250Wed May 18 13:08:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5251
5252 * Makefile.in (install): Redirect ln output to /dev/null. If ln
5253 fails on gasp, install gasp.new, not gasp.
5254
44e8d616
JL
5255Wed May 18 09:16:36 1994 Jeff Law (law@snake.cs.utah.edu)
5256
5257 * config/tc-hppa.c (pa_ip): Use R_HPPA_ABS_CALL, not R_HPPA for
5258 absolute calls.
5259
ee8b8346
JL
5260Tue May 17 12:50:46 1994 Jeff Law (law@snake.cs.utah.edu)
5261
5262 * config/tc-hppa.c (pa_parse_fp_cmp_cond): Report an error
5263 on a partial completer match.
5264
3315c7c7
JL
5265Mon May 16 12:03:49 1994 Jeff Law (law@snake.cs.utah.edu)
5266
5267 * config/tc-hppa.c: Change .hppa_unwind to .PARISC.unwind
5268 throughout code.
5269 (is_complex): Delete definition and support for complex relocation
5270 types.
5271 (tc_gen_reloc): Delete special unwind crud for ELF. Simplify and
5272 rewrite ELF code based on 94-02-02 PA ELF draft spec.
5273 (pa_build_unwind_subspace): Use standard PARISC_DIR32 relocs for
5274 the unwind descriptors.
5275
c794f0aa
SC
5276Fri May 6 14:13:15 1994 Steve Chamberlain (sac@cygnus.com)
5277
69cb5925 5278 * config/go32.mh: New makefile fragment for go32 crossing.
c794f0aa
SC
5279 * configure.in (host==go32): Use new fragment.
5280
2db90a63
ILT
5281Fri May 6 14:35:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5282
5283 * gasp.c: Include libiberty.h.
5284 (main): Remove unused variable i.
5285
5286 * config/tc-ppc.c (md_begin): When using -many, permit comparison
5287 instructions to appear multiple times in the opcode table.
5288
59232011
KR
5289Thu May 5 19:14:43 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5290
2db90a63
ILT
5291 * Makefile.in (VERSION): Update to 2.2.90.
5292
fbefddfb
KR
5293 * symbols.c (symbol_new) [BFD_ASSEMBLER]: Don't permit additions
5294 to the symbol table if it's already been set in the output bfd.
5295 (symbol_begin) [! EMIT_SECTION_SYMBOLS] [RELOC_REQUIRES_SYMBOL]:
5296 Don't use bfd_abs_section.symbol for gas absolute symbol.
5297
59232011
KR
5298 * doc/Makefile.in (distclean, clean-dvi, clean-info): Delete gasp
5299 files too.
5300
6d41de19
ILT
5301Thu May 5 18:12:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5302
5303 * config/tc-mips.c (mips_emit_delays): Make call to
5304 mips_no_prev_insn unconditional.
5305
a139d99b
KR
5306Thu May 5 17:25:38 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5307
5308 * config/obj-coff*.*: Merged coffbfd versions into coff versions,
5309 with a single "#ifdef BFD_ASSEMBLER" controlling most of it for
5310 now. Deleted obj-coffbfd.* files.
5311 * configure.in: Always use obj-coff.* for COFF targets.
5312
9267b020
KR
5313Wed May 4 13:34:11 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5314
a139d99b
KR
5315 * config/te-dpx2.h (TARGET_FORMAT, REGISTER_PREFIX_OPTIONAL):
5316 Define.
5317 * configure.in (m68k-bull-sysv3*): Enable.
5318
9267b020
KR
5319 * config/coff_gnu.h: Deleted.
5320
9fc63ce0
ILT
5321Wed May 4 11:29:17 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5322
2237e240
ILT
5323 * config/tc-m68k.h (TARGET_FORMAT): If not TE_SUN3, define as
5324 "a.out-zero.big".
5325
9fc63ce0
ILT
5326 * config/obj-coffbfd.c (fixup_segment): Make common symbol and PC
5327 relative adjustments when TE_LYNX is defined as well as when
5328 TC_I386 is defined.
5329
a3547e53
KR
5330Wed May 4 02:29:21 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
5331
3f048548
KR
5332 * as.h (strstr): Restore declaration.
5333 (subseg_get) [BFD_ASSEMBLER]: Declare.
5334
5335 * write.c (write_object_file): If obj_adjust_symtab is defined,
5336 invoke it. Then call set_symtab, and finally invoke *_frob_file
5337 hooks.
5338 * config/obj-coff.c (coff_adjust_symtab): Renamed from
5339 coff_frob_file.
5340 * config/obj-coff.h (coff_adjust_symtab): Changed declaration
5341 accordingly.
5342 (obj_adjust_symtab): Macro also changed.
5343
a3547e53
KR
5344 * configure.in (i386-*-gnu*): New target, handled like i386-mach.
5345
5346Tue May 3 21:04:16 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5347
5348 * config/obj-coff.h (TARGET_FORMAT) [TC_I960]: Select little
5349 endian version.
5350
5351 * config/obj-coffbfd.h (TARGET_FORMAT) [TC_I960]: Ditto.
5352
5353 * config/obj-coff.c (coff_frob_section): Round up the size of
5354 every section to a multiple of the alignment, so that BFD doesn't
5355 surprise us.
5356
5357 Eliminate many simple differences between the two COFF back ends:
5358
5359 * config/obj-coffbfd.c: Removed all uses of DEFUN and DEFUN_VOID.
5360 Made minor stylistic changes, deleted some register declarations.
5361 (stack_top): Deleted.
5362 (symbol_to_chars): Use absolute_section and reg_section instead of
5363 the corresponding SEG_* symbols.
5364 (obj_coff_endef, tag_find_or_make, fixup_segment): Likewise.
5365 (stack typedef, stack_init, stack_delete, stack_push, stack_pop):
5366 Moved to just after pseudo-op table. All functions now static.
5367 (stack_delete): Removed declaration.
5368 (tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just
5369 after stack functions.
5370 * config/obj-coffbfd.h: Reordered some declarations and macros.
5371 (stack_init, stack_delete, stack_push, stack_pop): Don't declare.
5372 (stack typedef): Deleted.
5373 (SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test.
5374 (SYM_AUXENT): New macro.
5375 (SA_GET_*, SA_SET_*): Define in terms of SYM_AUXENT when feasible.
5376 (SF_GET_*, SF_SET_*): Define in terms of SF_GET when feasible.
5377 (SA_GET_SYM_TAGNDX, SA_GET_SYM_ENDNDX, SA_SET_SYM_TAGNDX,
5378 SA_SET_SYM_ENDNDX, object_headers typedef, data_section_header,
5379 text_section_header): Delete non-BFD_HEADERS versions, since we
5380 always define that symbol now.
5381
5382 * config/obj-coff.c (stack_top): Deleted.
5383 (obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size,
5384 obj_coff_scl, obj_coff_tag, obj_coff_type, obj_coff_val): Change
5385 argument name from "ignored" to "ignore".
5386 (obj_coff_val): Use frag_now_fix.
5387 (obj_pseudo_table): Removed IGNORE_DEBUG version, since it doesn't
5388 get used.
5389 (stack typedef, stack_init, stack_delete, stack_push, stack_pop):
5390 Moved to just after pseudo-op table. All functions now static.
5391 (tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just
5392 after stack functions.
5393 * config/obj-coff.h: Reordered some declarations and macros.
5394 Protected against multiple inclusions.
5395 (stack_init, stack_delete, stack_push, stack_pop): Don't declare.
5396 (stack typedef): Deleted.
5397 (SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test.
5398 (stdoutput): Deleted declaration.
5399 (TARGET_FORMAT) [TC_I386]: Don't define if already defined.
5400
1b96bdce
ILT
5401Mon May 2 17:09:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5402
5403 * subsegs.h (segment_info_type): Use fix_tail field even if
5404 BFD_ASSEMBLER.
5405 * subsegs.c (subseg_change): Initialize fix_tail field.
5406 (subseg_get): Likewise.
5407 * write.c (frags_chained): New static variable.
5408 (fix_new_internal): If frags_chained is set, use fix_root and
5409 fix_tail from seg_info (now_seg), rather than frchain_now.
5410 (chain_frchains_together_1): Set fix_tail field.
5411 (chain_frchains_together): Set frags_chained.
5412
17f0b355
KR
5413Thu Apr 28 01:39:15 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
5414
5415 * config/tc-mips.c (s_option): Only refer to g_switch_* variables
5416 if GPOPT is defined.
5417 (s_abicalls): Ditto.
5418 (md_apply_fix): Cast char* to unsigned char* to avoid pointer
5419 mismatch.
5420
fa1a86f3
SC
5421Wed Apr 27 11:06:32 1994 Steve Chamberlain (sac@cygnus.com)
5422
5423 * configure.in (i386-*-go32): Uses coff now.
69cb5925 5424 * gasp.c (main): Now takes -D on command line.
fa1a86f3
SC
5425 (show_usage): Describe new options.
5426
b46f83f2
KR
5427Tue Apr 26 17:10:30 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5428
5429 * listing.c (list_symbol_table): Print "NO DEFINED SYMBOLS" and
5430 "NO UNDEFINED SYMBOLS" if there aren't any, instead of displaying
5431 the header with an empty list.
5432
fb51366f
KR
5433 * config/obj-coffbfd.c (fill_section): Check COFF_NOLOAD_PROBLEM
5434 also before setting STYP_NOLOAD for .bss section.
5435
926ffe94
KR
5436 * config/tc-m68k.c (flag_reg_prefix_optional): New variable.
5437 Initialized to value of REGISTER_PREFIX_OPTIONAL, if defined, or
5438 zero.
5439 (m68k_reg_parse): If flag_reg_prefix_optional is set, permit
5440 register prefix to be absent.
5441 (m68k_ip_op): Accept `&' also for immediate constants.
5442 (insert_reg): Don't bother with (two!?) sanity checks of the
5443 symbol table when inserting each register.
5444 (m68k_parse_long_option): New function. Set
5445 flag_reg_prefix_optional if "register-prefix-optional" is passed.
5446 * config/tc-m68k.h (REGISTER_PREFIX): Always define if not already
5447 defined.
5448 (OPTIONAL_REGISTER_PREFIX): Don't define.
5449 (REGISTER_PREFIX_OPTIONAL): If not already defined, define as zero
5450 or one depending on M68KCOFF.
5451
5452 Some changes to help Apollo support, from troy@cbme.unsw.edu.au:
5453 * config/tc-m68k.c (DATA, ADDR, SP, FPREG, COPNUM, BAD, BAC):
5454 Define as macros instead of enumerators, since the Apollo compiler
5455 can't handle "enumVal1, enumVal2 = enumVal1" when defining an enum
5456 type.
5457 (make_pcrel_absolute) [NO_PCREL_RELOCS]: New function.
5458 (tc_coff_fix2rtype) [NO_PCREL_RELOCS]: Generate only R_RELBYTE,
5459 R_DIR16, and R_DIR32 relocs.
5460 * config/tc-m68k.h [TE_APOLLO] (COFF_MAGIC, COFF_AOUTHDR_MAGIC):
5461 Use Apollo versions.
5462 [TE_APOLLO] (OBJ_COFF_OMIT_OPTIONAL_HEADER): Undefine. That is,
5463 do include the optional header for Apollo target.
5464 (COFF_MAGIC): Don't define as MC68MAGIC if it's already defined.
5465
5466 * config/tc-m68k.h [TE_DELTA] (LEX_PCT): Define as 1, so that `%'
5467 can be used within a label name.
5468
5469 * config/tc-m68k.h (m68k_init_after_args): Declare.
5470 (tc_init_after_args): Define as m68k_init_after_args.
5471 * config/tc-m68k.c (m68k_init_after_args): New function,
5472 containing one-shot code from md_assemble. Added warning for
5473 combination of 68040 and 68851.
5474 (md_assemble): Startup-time code deleted.
5475
497c179a
ILT
5476Mon Apr 25 16:19:17 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5477
5478 * doc/Makefile.in (clean, distclean): Remove asconfig.texi.
5479
f38cd6ec
JL
5480Sun Apr 24 00:13:08 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5481
5482 * config/tc-hppa.c (pa_ip): 13 bit immediate constant (for break
5483 instruction) is unsigned.
5484
92867d8e
ILT
5485Fri Apr 22 17:58:22 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5486
5487 * config/obj-ecoff.c (ecoff_frob_file): Use bfd_ecoff_set_gp_value
5488 and bfd_ecoff_set_regmasks to set the GP value and the register
5489 masks, rather than using the now obsolete fake .reginfo section.
5490
e860dfd0
KR
5491Fri Apr 22 15:17:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5492
5493 * listing.c (list_symbol_table): Don't print register symbols as
5494 undefined.
5495
988238d3
KR
5496 * config/obj-coff.c (obj_symbol_new_hook): Don't need to strip
5497 underscores, since symbol_new will already have done it.
5498 * config/obj-coffbfd.c (obj_symbol_new_hook): Ditto.
5499
a926dd6a
KR
5500 * as.c (main): If tc_init_after_args is defined, invoke it after
5501 all arguments have been processed.
5502
5503 Some changes to help Apollo support, from troy@cbme.unsw.edu.au:
5504 * as.c (perform_an_assembly_pass) [TE_APOLLO]: Create .wtext
5505 section instead of .text. Call create_target_segments.
5506 * read.c (demand_copy_string): No longer static.
5507
6fdc26e6
ILT
5508Thu Apr 21 15:50:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5509
5510 * config/tc-mips.c (append_insn): Permit branches to be switched
5511 with the preceding instruction even if .set nobopt has been seen.
5512 .set nobopt actually controls whether to bring up an instruction
5513 from the branch target, which gas does not currently support.
5514
a6652b1c
KR
5515Wed Apr 20 18:46:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5516
71b4de6f
KR
5517 * config/obj-coff.h, config/obj-coff.c: Deleted all code used only
5518 when BFD_ASSEMBLER is not defined, and all conditionals relating
5519 to such code. No such targets remain.
5520
5521 Fixes for stabs-in-coff:
5522 * config/obj-coff.c: Include subsegs.h.
5523 (coff_frob_section): New function.
5524 (obj_coff_init_stab_section): New function.
5525 * config/obj-coff.h (obj_coff_init_stab_section,
5526 coff_frob_section): Declare.
5527 (obj_frob_section): New macro; uses coff_frob_section.
5528 (INIT_STAB_SECTION): New macro; uses obj_coff_init_stab_section.
5529
a6652b1c
KR
5530 * config/tc-sparc.c (md_section_align): Always round up to
5531 multiple of alignment power specified in bfd target vector.
d924d209
KR
5532
5533 * gasp.c: Include ctype.h.
5534
19990560
KR
5535Mon Apr 18 21:08:01 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5536
5537 * doc/Makefile.in, doc/as.texinfo: Renamed asdoc-config.texi to
5538 asconfig.texi.
5539
5540 * doc/Makefile.in (install-info-as, install-info-gasp): Get file
5541 names from source directory without pathname.
5542
5543 * config/obj-vms.c (VMS_write_object_file): While looking for
5544 register mask, skip empty fill frags caused by enabling listing
5545 output.
5546
5547 * config/ho-sysv.h: Include string.h.
5548
5549 * doc/internals.texi: New (well, recently added) file. Just added
5550 info on as_warn and friends.
5551
9de7c1fc
JL
5552Mon Apr 18 14:28:22 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5553
5554 * config/tc-hppa.c (pa_parse_space_stmt): Use the built-in
5555 defaults for defined, private, and spnum fields for the
5556 $TEXT$ and $PRIVATE$ spaces. Do not clobber spnum. Do
5557 not reset the segment if just updating a space.
5558 (pa_spaces_begin): Set BFD section flags for all built-in
5559 subspaces.
5560
e904716c
ILT
5561Fri Apr 15 10:51:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5562
37032d95
ILT
5563 * ecoff.c (first_proc_ptr): New static variable.
5564 (add_procedure): Set first_proc_ptr if it hasn't been set.
5565 (ecoff_build_lineno): If the first procedure does not start at
5566 address zero, insert a dummy line to compensate.
5567
e904716c
ILT
5568 * Makefile.in (bootstrap, bootstrap2, bootstrap3): Make gasp.new
5569 as well as as.new.
5570
d6f98c55
KR
5571Thu Apr 14 15:12:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5572
5573 * expr.c (operand): Try to parse "0f" and "0b" sequences as
5574 floating point and binary numbers respectively; if it doesn't
5575 work, treat them as local labels.
5576
c92d9ee9
KR
5577 * Makefile.in: Make $(OBJS) depend on $(ALL_OBJ_DEPS).
5578 * configure.in: Set ALL_OBJ_DEPS in output Makefile.
5579
5580 Based on suggestions from <BAILEY@hmivax.humgen.upenn.edu>
5581 (Charles Bailey):
5582 * vmsconf.sh: In generated file, get ".obj" suffix right, build
5583 source files from other directories into objects in the current
5584 directory, and specify PSECT attributes explicitly to linker.
5585 Also added missing label.
5586 * Makefile.in (stamp-mk.com): Reference new variable
5587 VMS_OTHER_OBJS for list of non-local object files, instead of
5588 listing them here.
5589 (VMS_OTHER_OBJS): New variable, added more libiberty files.
5590 * make-gas.com: Regenerated.
5591
5592 * config/ho-vms.h (unlink): Define as delete.
5593
5594 * config-gas.com: Fix quoting on TARGET_CANONICAL definition.
5595 Delete files before creating them.
5596
1a69212c
ILT
5597Thu Apr 14 13:34:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5598
b3cd8555
ILT
5599 * Makefile.in (de-stage1, de-stage2, de-stage3): Use rm -f.
5600
1a69212c
ILT
5601 * config/tc-mips.h (DIFF_EXPR_OK): Define.
5602 * config/tc-mips.c (macro_build): Permit BFD_RELOC_PCREL_LO16 for
5603 certain cases of 'i', 'j' and 'o'. Change 'u' to take an
5604 argument, the reloc type.
5605 (load_register): Pass reloc type to macro_build for 'u'.
5606 (macro): Likewise. For M_LA_AB permit a difference expression
5607 when generating embedded PIC code between an arbitrary symbol and
5608 a symbol in the .text section.
5609 (mips_force_relocation): Force BFD_RELOC_PCREL_HI16_S and
5610 BFD_RELOC_PCREL_LO16 to be emitted.
5611 (md_apply_fix): Check that most relocs are not PC relative.
5612 Handle BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16.
5613 (tc_gen_reloc): Change #error to as_fatal. Handle
5614 BFD_RELOC_PCREL_LO16 and BFD_RELOC_PCREL_HI16_S.
5615
cc886e3d
SS
5616Tue Apr 12 18:25:13 1994 Stan Shebs (shebs@andros.cygnus.com)
5617
5618 * subsegs.c (subsegs_begin): Call memset with args in the correct
5619 order.
5620 (subseg_get): Clear newly allocated seginfo, set its pointer slots
5621 to NULL instead of 0.
5622
05210990
JL
5623Mon Apr 11 09:00:57 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5624
caed9e82
JL
5625 * config/tc-hppa.c (pa_procend): Handle case where label was
5626 defined after the .proc directive.
5627
05210990
JL
5628 * config/tc-hppa.c (pa_procend): Give an error if we encounter a
5629 procend for a procedure without a name.
5630
1c803e52
ILT
5631Thu Apr 7 14:28:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5632
5633 * config/tc-mips.c (macro): Pass NULL for expression argument to
5634 macro_build for nori case.
5635 (SWITCH_TABLE): Define.
5636 (mips_force_relocation): Force a relocation for a switch table
5637 entry.
5638 (md_apply_fix): Write switch table entry value into file.
5639 (tc_gen_reloc): Use BFD_RELOC_GPREL32 for a switch table entry,
5640 and set the addend to the difference between the reloc address and
5641 the subtrahend.
5642
0b503989
JL
5643Thu Apr 7 10:38:18 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5644
5645 * config/tc-hppa.h (elf_tc_symbol): Delete. No longer used.
5646 (elf_tc_make_sections): Likewise.
5647 (hppa_tc_make_sections, hppa_tc_symbol): Delete extern decls.
5648
5649 * config/tc-hppa.c (hppa_tc_make_sections): Delete function.
5650 (hppa_tc_symbol): Likewise.
5651
5652 * config/obj-elf.c (elf_frob_file): Delete elf_tc_symbol and
5653 elf_tc_make_sections stuff. It was there to support PA braindamage
5654 which has been fixed, and in the case of elf_tc_make_sections is
5655 redundant with elf_tc_final_processing.
5656
f39a73b1
JL
5657Wed Apr 6 20:48:30 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5658
5659 * configure.in (hppa*-*-*elf*): Don't require "-hp-" for the
5660 manufacturer.
5661
f3645945
ILT
5662Tue Apr 5 15:48:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5663
5664 * config/tc-mips.c (mips_ip): For case 'o', when generating
5665 embedded PIC code, accept the difference between two local symbols
5666 as being constant.
5667 (mips_force_relocation): Only force a reloc to be generated for a
5668 PC relative fixup.
5669 (md_apply_fix): For BFD_RELOC_32 and BFD_RELOC_LO16, put the fixup
5670 value into the file if the fixup will not generate a reloc.
5671
03fcf1f8
KR
5672Tue Apr 5 11:14:14 1994 Ken Raeburn (raeburn@rtl.cygnus.com)
5673
5674 * config/tc-sparc.c (s_reserve): If section passed isn't bss,
5675 don't spew remainder of input file in error message.
5676 (tc_gen_reloc): If bfd_reloc_type_lookup returns null, print error
5677 message with reloc type and try to process remainder of file.
5678
5679 * doc/Makefile.in (install-info-as, install-info-gasp): New
5680 targets, now explicitly checking $(srcdir) for info files.
5681 (install-info): Depend on both of them; do nothing more.
5682
79381848
JL
5683Mon Apr 4 17:06:04 1994 Jeffrey A. Law (law@cygnus.com)
5684
5685 * config/tc-hppa.c (tc_gen_reloc): Fix thinko in ELF version.
5686
1e147242
ILT
5687Mon Apr 4 12:39:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5688
1937a665
ILT
5689 * config/tc-ppc.c (ppc_insert_operand): Check PPC_OPERAND_SIGNED
5690 flag rather than signedp field. Only permit extended range if
5691 PPC_OPERAND_SIGNOPT flag is set and assembling in 32 bit mode.
5692 Based on patch from David Edelsohn (edelsohn@npac.syr.edu).
5693
1e147242
ILT
5694 * config/tc-ppc.c (ppc_size): New static variable.
5695 (ppc_arch): Check for PPC_OPCODE_PPC before PPC_OPCODE_POWER.
5696 (md_begin): If an instruction has a size specific flag set, only
5697 add it if we are assembling that size.
5698
7ab2e983
ILT
5699Thu Mar 31 16:51:16 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5700
5701 * config/tc-sparc.c (tc_gen_reloc): Add a gruesome hack to get
5702 cross section PC relative relocs right for COFF and ELF.
5703
75d20ac8
KR
5704Mon Mar 28 14:38:23 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5705
5706 * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Always define.
5707 (OBJ_PROCESS_STAB): Don't define.
5708
57afabd0
ILT
5709Mon Mar 28 12:40:25 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5710
5711 * config/obj-aout.c (obj_aout_frob_symbols): Don't let BFD clobber
5712 the type of symbol set symbols which happen to be in the absolute
5713 or undefined section.
5714
882bdc69
ILT
5715Mon Mar 28 12:35:00 1994 David Edelsohn (edelsohn@npac.syr.edu)
5716
5717 * config/tc-ppc.c (md_parse_option): Add -mpwrx (POWER/2 aka
5718 RIOS2), -mpwr (POWER aka RIOS1), -mppc (PowerPC aka MPC603/604),
5719 and -many (all architectures).
5720
de3ffc7a
JL
5721Sun Mar 27 14:04:19 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5722
69cb5925 5723 * config/tc-hppa.c (tc_gen_reloc): Set addend for relocation
de3ffc7a
JL
5724 involving a function symbol which is not a plabel to zero.
5725 (md_apply_fix): Never pass a function symbol to field_adjust.
5726
5b63f465
ILT
5727Fri Mar 25 17:35:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5728
645f842c
ILT
5729 * config/obj-aout.c (obj_aout_frob_symbol): If N_EXT is set for an
5730 N_INDR symbol, set BSF_EXPORT and clear BSF_LOCAL.
5731
5b63f465
ILT
5732 * config/tc-mips.c (append_insn): If EMBEDDED_PIC, don't swap a
5733 branch with an instruction that uses $at, in case the branch is
5734 later expanded.
5735 (macro): If EMBEDDED_PIC, case M_JAL_A may use $at.
5736 (md_pcrel_from): If not OBJ_AOUT, return 4 for an undefined symbol
5737 to make it pcrel_offset.
5738 (tc_gen_reloc): If not OBJ_AOUT, set the reloc addend to
5739 reloc->address; another gruesome hack to get gas reloc handling to
5740 do the right thing.
5741
11d7c064
KR
5742Thu Mar 24 21:29:29 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5743
5744 * config/tc-alpha.c (alpha_ip): Only set GP prolog size if using
5745 PV register.
5746 (T12): New macro.
5747 (emit_insn): New function.
5748 (md_assemble): Call it.
5749 (alpha_force_relocation): Handle BFD_RELOC_26, for call_pal
5750 instructions.
5751 (lituse_pending): New variable. Set by anything that generates a
5752 LITERAL reloc, cleared by anything that generates a LITUSE reloc,
5753 tested by code that might want to emit a LITUSE reloc.
5754 (emit_unaligned_io): New function. Currently calls md_assemble,
5755 but it should eventually be converted to generate the insn itself
5756 and call emit_insn directly.
5757 (emit_load_unal, emit_store_unal, emit_byte_manip_r,
5758 emit_extract_r, emit_insert_r, emit_mask_r, emit_sign_extend,
5759 emit_bis_r): Likewise.
5760 (alpha_ip, case 'I'): Handle with BFD_RELOC_23.
5761 (alpha_ip, label get_macro): Don't emit the final instruction if
5762 the opcode is zero.
5763 (alpha_ip, case 'B', subcase 'd'): New case, for subword and
5764 unaligned memory access macros.
5765 (md_apply_fix): Handle BFD_RELOC_26. Generate an error message if
5766 the value can't be resolved.
5767
5768Wed Mar 23 16:06:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5769
5770 * config/tc-mips.c (md_parse_option): For -membedded-pic, force
5771 the -G value to 0x7fffffff. For SVR4 PIC options, don't call
5772 bfd_set_gp_size here, it's done in md_begin. Don't permit -G with
5773 -membedded-pic.
5774 (mips_force_relocation): New function.
5775 (md_apply_fix): Set fixP->fx_done appropriately.
5776 (s_change_sec): For EMBEDDED_PIC, change .data and .rdata to
5777 .sdata.
5778 * config/tc-mips.h (TC_FORCE_RELOCATION): Define.
5779 (mips_force_relocation): Declare.
5780 (TC_HANDLE_FX_DONE): Define.
5781
e1b5066f
ILT
5782Tue Mar 22 13:58:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5783
d9aba805
ILT
5784 * config/tc-mips.c (enum mips_pic_level): New enum.
5785 (mips_pic): Change from int to enum mips_pic_level. Change all
5786 uses (0 becomes NO_PIC, 2 becomes SVR4_PIC).
5787 (load_address): Handle EMBEDDED_PIC.
5788 (macro): Handle EMBEDDED_PIC in all PIC cases.
5789 (md_parse_option): Accept -membedded-pic to use EMBEDDED_PIC. If
5790 OBJ_ELF, accept -KPIC and -call_shared to use SVR4_PIC and accept
5791 -non_shared to use NO_PIC (this is how the Irix 5 assembler
5792 works). Do not permit -G with SVR4_PIC.
5793 (s_abicalls): Warn if -G was used, and force -G 0.
5794 (tc_gen_reloc): Set reloc->addend to 0 for a PC relative reloc for
5795 anything but a.out, not just for ELF. For ECOFF, don't generate a
5796 BFD_RELOC_16_PCREL_S2 reloc unless using EMBEDDED_PIC.
5797
e1b5066f
ILT
5798 * config/obj-ecoff.h (obj_sec_sym_ok_for_reloc): Define to be 1.
5799
5800Sun Mar 20 16:31:55 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5801
5802 * config/tc-hppa.c (create_new_space): Use ints, not chars as
5803 parameters to avoid losing when compiling with HP CC.
5804 (create_new_subspace, update_subspace, fix_new_hppa): Likewise.
5805
1871f91a
KR
5806Sun Mar 20 14:43:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5807
c37f6138
KR
5808 * Makefile.in (config-stamp): If `defs' is defined, emit a
5809 preprocessor directive to create a macro named by this value into
5810 config.new; don't explicitly go for BFD_ASSEMBLER.
5811 * configure.in: Define `defs', not `BFDDEF'. Set it to
5812 MANY_SEGMENTS for any obj-coffbfd target.
5813 * config/obj-coffbfd.h (BFD_HEADERS, BFD): Define.
5814 * config/i386coff.mt (TDEFINES): Don't define BFD, MANY_SEGMENTS,
5815 or BFD_HEADERS.
5816 (LOCAL_LOADLIBES): Deleted.
5817 * config/m68kcoff.mt (TDEFINES): Don't define those macros.
5818 * config/m88kcoff.mt (TDEFINES): Ditto.
5819 * config/ebmon29k.mt: Deleted.
5820 * config/h8300hds.mt: Deleted.
5821 * config/ic960coff.mt: Deleted.
5822 * config/sparc.mt: Deleted.
5823 * config/h8300.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
5824 * config/h8500.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
5825 * config/sh.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
5826 * config/z8k.mt (LOCAL_LOADLIBES): Deleted.
5827 (TDEFINES): Don't define the coffbfd macros.
5828
5829 * Makefile.in: Insert makefile fragments before OBJS definition.
5830 (OBJS): Add $(TE_OBJS).
5831
3680de74
KR
5832 * config/obj-coff.c (obj_pseudo_table): Supply "section"
5833 unconditionally.
5834
1871f91a
KR
5835 * write.c (set_symtab): Define only if BFD_ASSEMBLER.
5836
c20c7506
JL
5837Sun Mar 20 12:06:05 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5838
5839 * Makefile.in (STAGESTUFF): Add gasp.new.
5840
634233a3
KR
5841Fri Mar 18 20:09:16 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5842
1cf7548e
KR
5843 * write.c (symbol_table_frozen): New variable, to be set after
5844 bfd_set_symtab is called.
5845 (dump_section_relocs): Note whether a symbol is a section symbol
5846 or not.
5847 (adjust_reloc_syms): For now, always supply an absolute symbol for
5848 fixups without symbols but not yet `done'. Use section_symbol to
5849 get the symbol, instead of going directly for abs_symbol.
5850 (write_relocs) [DEBUG4]: Abort if any symbol referred to by a
5851 reloc is not a section symbol and is not in the symbol table.
5852 (set_symtab): New function, broken out from write_object_file.
5853 Counts symbol table instead of relying on an earlier count.
5854 (write_object_file): Call set_symtab, but do it after potentially
5855 invoking the *_frob_file macros. Don't bother counting symbols.
5856 Call symbol_remove, instead of expanding it in place. Moved the
5857 conditionalized `object_file_size' declaration down to
5858 conditionalized block where it's used. When using the absolute
5859 symbol for a fixup without a symbol, set sy_used_in_reloc.
5860 (write_object_file) [BFD_ASSEMBLER]: Call section_symbol to get
5861 the correct symbol for the absolute section.
5862
ec3c65e1
KR
5863 * subsegs.c (section_symbol): Use symbol_new instead of
5864 symbol_make, since we may want it to go into the symbol table.
5865 Make the new symbol have internal linkage. If
5866 obj_sec_sym_ok_for_reloc says it's okay, use the BFD section
5867 symbol with the newly created GAS symbol.
5868 (obj_sec_sym_ok_for_reloc): Default to always returning 0.
5869 * config/obj-aout.h (obj_sec_sym_ok_for_reloc) [BFD_ASSEMBLER]:
5870 New macro.
5871 * config/obj-elf.h (obj_sec_sym_ok_for_reloc): New macro.
5872
5873 * config/tc-sparc.c: Include subsegs.h.
5874 (in_signed_range): New function.
5875 (sparc_ip): Use it.
5876 (sparc_ip, case 'i'): Use BFD_RELOC_SPARC13, not _BASE13.
5877 (sparc_ip, label "immediate"): Reject constants for pcrel
5878 instructions only if the relocation type indicates a "call"
5879 instruction and the offset is within range of a "jmpl %g0". If
5880 it's not in range, use the absolute section symbol plus an offset.
5881 (md_apply_fix): Use in_signed_range. Combined _SPARC13 and
5882 _BASE13 cases.
5883 (tc_gen_reloc): Permit BFD_RELOC_SPARC13.
5884
1be3cf74
KR
5885 * config/ic960coff.mt (TDEFINES): Fixed typo (MANY_SECTIONS, not
5886 MANY_SEGMENTS).
5887
634233a3
KR
5888 * configure.in: Eliminated all targets using obj-coff but not
5889 defining BFD_ASSEMBLER; I think all such targets that are
5890 supported will be matched by real CPU-OS combinations earlier in
5891 the case statement.
5892 (targets *-*-coff*, *-sysv*, *-*-sco*, *-*-sysv32): Deleted. Made
5893 some comments about the dpx2 configuration, but left it disabled,
5894 since it couldn't be reached before.
5895 (target a29k-amd-ebmonold): Deleted.
5896
49ccc555
JL
5897Thu Mar 17 13:36:09 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5898
5899 * config/tc-hppa.c (pa_import): Correctly handle importing of an
5900 already defined symbol.
5901
23dc1ae3
ILT
5902Wed Mar 16 17:11:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5903
614a3211
ILT
5904 * config/tc-mips.c (mips_ip): Only accept overly large values for
5905 the 'j' operand if there are no further alternatives for this
5906 instruction.
5907
d6e6bc1c
ILT
5908 * config/obj-coffbfd.c (adjust_stab_section): Initialize
5909 stabstrseg to SEG_UNKNOWN, not -1. After loop, check whether it
5910 is not SEG_UNKNOWN rather than checking whether it is >= 0.
5911
23dc1ae3
ILT
5912 * config/tc-mips.c (mips_align): Take new argument, label, and use
5913 it instead of global insn_label.
5914 (s_align, s_cons, s_float_cons, s_gpword): Save insn_label before
5915 call to mips_emit_delay and pass it to mips_align.
5916
5917Wed Mar 16 11:54:12 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5918
69cb5925 5919 * config/tc-hppa.c (pa_equ): Handle both .reg and .equ correctly.
c38c91da 5920
f2ada910
JL
5921 * config/tc-hppa.c (pa_callinfo): Accept "millicode" as an
5922 argument to a .callinfo directive. Don't loop forever on errors.
5923
69cb5925
KR
5924 * config/tc-hppa.c (pa_equ): Use pa_parse_number so that we can
5925 use pre-defined registers as arguments.
23dc1ae3 5926
954979ca
KR
5927Mon Mar 14 14:29:45 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5928
dbc529c4
KR
5929 * write.c (write_object_file): Check both S_IS_LOCAL and
5930 S_IS_EXTERNAL when deciding whether to discard a symbol.
5931
5932 * config-gas.com: Scan Makefile.in, not version.c, for current
5933 version number. Delete all versions of temp files when finished
5934 with them. Create config.h.
5935
5936 * config/obj-vms.c (VMS_Initialized_Data_Size): Cache symbol
5937 values to reduce number of lookups with S_GET_VALUE. Skip debug
5938 symbols to avoid "a really nasty bug". (From Holger Teutsch,
5939 holger@botbso.rhein-main.de.)
5940 (VMS_write_object_file): For "__vt.*" symbols, set S_GET_OTHER
5941 field. (Also from Holger Teutsch.) Watch for a would-be register
5942 mask that spans frags.
5943
5944 * config/obj-coffbfd.c (obj_coff_line): Set symbol lnno field with
5945 this_base, not line_base. (Patch from Andreas Arens,
5946 ari@obelix.av.rwth-aachen.de.)
5947
5948 * config/obj-aout.c (obj_crawl_symbol_chain): Retain symbols that
5949 look local if they're exported or undefined. Used to be done for
5950 i960 only.
5951
5952 * read.c (s_lcomm, s_comm): Print symbol name being redefined.
5953 Get it from the looked-up symbol, instead of using the string from
5954 the input stream, which is no longer null-terminated.
5955 (LEX_PCT): New macro, defaults to 0.
5956 (lex_type): Use it for `%'.
5957
5958 * config/tc-vax.c (md_parse_option): Handle `-h#' option for VMS.
5959 (vip_op): Now static, and returns void. Callers changed. Added
5960 forward decl.
5961 (vip): Ditto. Call as_fatal directly if a program bug is
5962 detected.
5963 (op_hash): Let default initialization suffice.
5964
954979ca
KR
5965 * Makefile.in (literal.o): Provide dependencies.
5966
5967 * configure.in: Set new makefile variable OPCODES_LIB.
5968 * Makefile.in (LIBS): Use it.
5969
5970 * Makefile.in (make-gas.com, stamp-mk.com): New targets.
5971 * vmsconf.sh: New file.
5972 * make-gas.com: Regenerated from new script.
5973
5974 * configure.in (sparc*-*-lynxos*): Handle any version number
5975 suffix after "lynxos". Set emulation to lynx.
5976
5977Mon Mar 14 11:30:49 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
5978
5979 * config/obj-coff.c (obj_coff_section): Delete declaration.
5980
62ea7974
ILT
5981Fri Mar 11 22:25:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5982
5983 * config/tc-ppc.c (md_pcrel_from): Return 0 for undefined ELF
5984 symbols.
5985 (ppc_is_toc_sym): Change .toc to .got.
5986 (md_apply_fix): Change handling of ELF relocs.
5987 (tc_gen_reloc): Likewise.
5988
63ca2e81
KR
5989Fri Mar 11 17:42:20 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5990
5991 * config/obj-vms.c (Close_VMS_Object_File): Add comment pointing
5992 out some code that doesn't belong in this file.
5993
5994 * config/obj-vms.h: Include aout/stab_gnu.h.
5995 (N_GSYM, ..., N_LENG): Deleted.
5996 (NO_RELOC): Undefine before defining as part of enum reloc_type.
5997
5998 * config/tc-alpha.c: Add comment questioning need for all the
5999 characters in FLT_CHARS.
6000
6001 * as.c (main) [OBJ_VMS]: Don't call output_file_close.
6002
6003 * config/obj-ecoff.c (ecoff_frob_file): Set strict order for
6004 sections with recognized names, before computing VMA values.
6005
be22008b
ILT
6006Fri Mar 11 17:56:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6007
6008 * config/tc-mips.c (mips_ip): Accept numbers between 0x8000 and
6009 0xffff for 'j' to be compatible with MIPS assembler. These
6010 numbers are actually treated as negative.
6011
2c6db5a1
DE
6012Thu Mar 10 13:36:29 1994 Doug Evans (dje@canuck.cygnus.com)
6013
6014 * config/tc-sparc.h (LOCAL_LABEL): Local labels are .Lfoo.
6015
9e12fbbc
KR
6016Tue Mar 8 21:17:12 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6017
6018 * config/obj-coff.c: Minor formatting/stylistic changes, plus:
6019 (obj_coff_section): Declare.
6020 (obj_pseudo_table): Make it available only if MANY_SECTIONS.
6021 (obj_symbol_to_chars) [CROSS_COMPILE]: Some attemps to make this
6022 work. It still doesn't. It now fails to compile, instead of
6023 silently compiling to do nothing.
6024 * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define only if
6025 MANY_SECTIONS.
6026 (OBJ_PROCESS_STAB) [! MANY_SECTIONS]: New macro, just emits
6027 warning.
6028
6029 Handle Alpha load-immediate-FP pseudo-instructions:
6030 * config/alpha-opcode.h (ldif, ldig, ldis, ldit): New patterns.
6031 * config/tc-alpha.c (lit8_sec, lit4_sec, lit8_sym, lit4_sym): New
6032 variables.
6033 (create_literal_section): New function.
6034 (create_lita_section): Now a macro.
6035 (get_lit8_offset, get_lit4_offset): New functions.
6036 (maybe_set_gp): New function.
6037 (select_gp_value): Call it.
6038 (load_expression): Preserve addend if symbol is a section symbol.
6039 (alpha_ip): Handle new operand type `F' for floating-point
6040 constants; store them in .lit{4,8} sections.
6041 (alpha_ip, case 'G'): Emit LITUSE relocations for symbol exprs.
6042
6043 * config/tc-i386.c (smallest_imm_type): Never return Imm1.
6044
2bac8c54
SC
6045Tue Mar 8 14:18:15 1994 Steve Chamberlain (sac@jonny.cygnus.com)
6046
6047 * config/obj-coffbfd.c (w_strings): Only copy strings out if
6048 their symbols are going to be written.
6049
d16938f5
ILT
6050Tue Mar 8 11:49:27 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6051
6052 * messages.c (as_perror): Declare arguments const.
6053 * as.h (as_perror): Change declaration.
6054
8ea7f4e8
ILT
6055Mon Mar 7 16:08:25 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6056
6057 * config/tc-mips.c (load_address): When calling frag_grow, allow
6058 for the (up to) two nops which may be inserted by append_insn if
6059 mips_optimize is 0.
6060 (macro): Likewise.
6061
fa47b47e
DE
6062Thu Mar 3 11:37:55 1994 Doug Evans (dje@canuck.cygnus.com)
6063
6064 * config/atof-ieee.c (make_invalid_floating_point_number):
6065 Add cast to avoid warning from gcc.
6066
34b16850
JL
6067Wed Mar 2 10:31:01 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6068
69cb5925 6069 * config/tc-hppa.c: Add a few casts to make HP C compiler happy.
fb338f1d 6070
69cb5925 6071 * config/obj-som.c (obj_som_version, obj_som_copyright): Be
fb338f1d 6072 prepared
69cb5925 6073 to handle an error from bfd_som_attach_aux_hdr.
fb338f1d 6074
34b16850
JL
6075 * config/tc-hppa.h: Wrap ELF specific decls inside an ifdef.
6076
994fde6d
KR
6077Mon Feb 28 15:03:26 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6078
6079 * config/tc-alpha.c (md_atof): Omit warning about FP values.
6080 (line_comment_chars): Add ! to list.
6081 (md_apply_fix): Do process 32- and 64-bit relocations.
6082
6083 * config/obj-coffbfd.c (obj_coff_lcomm): Put "#if 0" around the
6084 unused parts (most of the function).
6085 (obj_coff_init_stab_section): Cast alloca result.
6086
6087 * configure.in (i960-*-coff, i960-*-vxworks5.*): Use coffbfd, and
6088 gas_target ic960coff.
6089 * config/ic960coff.mt: New file.
6090 * config/obj-coffbfd.h [TC_I960]: Include coff/i960.h.
6091 (TARGET_FORMAT) [TC_I960]: Use coff-Intel-little.
6092 * config/te-ic960.h (CROSS_COMPILE): Don't undef this. We'll
6093 always build little-endian object files.
6094 * config/tc-i960.c (md_reloc_size): Don't define at all if BFD or
6095 BFD_ASSEMBLER is defined.
6096 (mem_fmt): Since COFF doesn't handle callx relocations yet, treat
6097 them like normal 32-bit relocations.
6098 (md_apply_fix): For callx relocations, store zero.
6099 (tc_bout_fix_to_chars): Store symbol index for all callx
6100 relocations, regardless of link-relax setting.
6101 (tc_coff_fix2rtype, tc_coff_sizemachdep): New functions.
6102 (i960_handle_align) [! OBJ_BOUT]: If link-relax option is
6103 selected, print an error message and clear it.
6104 * config/tc-i960.h (BFD_ARCH, COFF_FLAGS, COFF_MAGIC,
6105 TC_COUNT_RELOC, TC_COFF_FIX2RTYPE, TC_COFF_SIZEMACHDEP,
6106 tc_fix_adjustable): New macros.
6107 (tc_coff_fix2rtype, tc_coff_sizemachdep): Declare.
6108
e03095c9
JL
6109Fri Feb 25 20:56:57 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6110
6111 * config/tc-hppa.c (hppa_tc_symbol): Call PA ELF BFD version.
6112 (hppa_tc_make_sections): Likewise.
6113 (pa_build_symextn_section): Delete unused function.
6114 (hppa_tc_make_symextn_section): Likewise.
6115 (pa_export): Delete call to pa_build_symextn_section.
6116
6117 * config/tc-hppa.h (hppa_tc_symbol): Add extern decl.
6118 (elf_hppa_final_processing): Delete extern decl.
6119 (hppa_tc_symbol): Delete extern decl.
6120
3919ffeb
ILT
6121Fri Feb 25 13:15:31 1994 Ian Lance Taylor (ian@cygnus.com)
6122
6123 * config/obj-coffbfd.c (fill_section): Correct test for whether to
6124 fill a section (from Minh Tran-Le <TRANLE@intellicorp.com>).
6125
f95de5d9
KR
6126Thu Feb 24 11:30:26 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6127
3919ffeb
ILT
6128 * configure.in: Don't require version number for i386-*-mach.
6129
f95de5d9
KR
6130 * read.c (potable): Added ".this_GCC_requires_the_GNU_assembler",
6131 which is ignored by gas, but will cause other assemblers to choke.
6132 Intended for use by gcc ports that require gas instead of native
6133 assemblers.
6134
cb6af928
JL
6135Thu Feb 24 07:10:31 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6136
6137 * config/ho-hppaosf.h: Fix braino in test for ANSI-C.
6138
08c5812c
JL
6139Wed Feb 23 16:51:43 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6140
6141 * write.c (write_contents): Give the user a reasonable error
6142 message rather than "assertion failed" if bfd_set_section_contents
6143 fails.
6144
c9c45af1
KR
6145Tue Feb 22 10:07:32 1994 Ken Raeburn (raeburn@rtl.cygnus.com)
6146
6147 * config/ho-mach3.h: New file.
6148
9eb5f4b8
ILT
6149Mon Feb 21 11:41:18 1994 Ian Lance Taylor (ian@cygnus.com)
6150
2e5fdb1d
ILT
6151 * ecoff.c (ecoff_build_debug): Don't set hdr->magic here. It is
6152 now set in bfd/ecofflink.c:ecoff_write_symhdr.
6153
9d90491e
ILT
6154 * config/obj-coffbfd.c (write_object_file): use bfd_get_error (),
6155 not bfd_error.
6156 * config/obj-elf.c (elf_frob_file): Likewise.
6157
6158 * read.c (s_lcomm): Use an alignment power of 3 for 8 byte .lcomm
6159 variables.
6160
c8d02404
ILT
6161 * config/ho-hpux.h (BROKEN_ASSERT): Define if not __GNUC__.
6162
9eb5f4b8
ILT
6163 * read.c (read_a_source_file): Use correct arguments to memcpy
6164 (broken 19 Jul 1993). From kjd@pescadero.stanford.edu (Kenneth
6165 Duda).
6166
4d88d6dc
ILT
6167Sun Feb 20 18:01:54 1994 Ian Lance Taylor (ian@lisa.cygnus.com)
6168
6169 * config/obj-coff.h (obj_coff_section): Declare.
6170 * config/obj-coff.c (obj_pseudo_table): For "section", use
6171 obj_coff_section.
6172 (obj_coff_section): Rewrite.
6173
741f4d66
KR
6174Fri Feb 18 14:16:32 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6175
9e0cbfbb
KR
6176 * configure.in (i386-*-mach3*): New target; uses BFD.
6177 * config/te-mach.h: New file.
6178 * config/obj-aout.c (obj_aout_frob_file): New function.
6179 * config/obj-aout.h (obj_aout_frob_file): Declare it.
6180 (frob_file): New macro.
6181 * config/tc-i386.c (md_apply_fix_1) [TE_Mach]: Don't adjust
6182 pcrel32 relocations.
6183 * config/tc-i386.h (TARGET_FORMAT) [TE_Mach]: Use a.out-mach3.
6184
741f4d66
KR
6185 * write.c (write_object_file): Removed register declarations.
6186
5e65fbc8
ILT
6187Thu Feb 17 16:25:18 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6188
254f8450 6189 Some support for PowerPC ELF.
5e65fbc8
ILT
6190 * configure.in: If cpu is powerpc*, use ppc.
6191 (ppc-*-sysv4*): Use object format elf.
6192 * config/tc-ppc.h: Only declare a number of things if OBJ_COFF is
6193 defined.
6194 (TARGET_ARCH): Make it call ppc_arch.
6195 (ppc_arch): Declare.
6196 (TARGET_FORMAT): Set based on OBJ_COFF or OBJ_ELF.
6197 (NO_STRING_ESCAPES): Define.
6198 (LOCAL_LABEL, FAKE_LABEL_NAME): Define for OBJ_ELF.
6199 * config/tc-ppc.c: Only define a number of functions of OBJ_COFF
6200 is defined.
6201 (md_pseudo_table): Most pseudo-ops are OBJ_COFF specific. Added
6202 OBJ_COFF specific "bi" and "ei".
6203 (md_parse_option): Fix handling of -u. Make -m601 set
6204 PPC_OPCODE_601. If OBJ_ELF, accept -V and -Q.
6205 (ppc_set_cpu): New function.
6206 (ppc_arch): New function.
6207 (md_begin): Call ppc_set_cpu.
6208 (ppc_insert_operand): For a signed operand accept an unsigned
6209 value, for IBM compatibility.
6210 (ppc_byte): Don't call stringer for strings; instead, treat two
6211 double quotes as a single double quote.
6212 (ppc_comm): Set sy_tc.output for a .lcomm symbol.
6213 (ppc_biei): New function.
6214 (ppc_tc): If not OBJ_COFF, ignore first argument.
6215 (ppc_fix_adjustable): Call as_bad_where, not as_bad.
6216 (ppc_is_toc_sym): New function.
6217 (md_apply_fix): Use ppc_is_toc_sym. Handle BFD_RELOC_16 and
6218 BFD_RELOC_8.
6219
f61b81b7
DM
6220Thu Feb 17 09:29:37 1994 David J. Mackenzie (djm@thepub.cygnus.com)
6221
6222 * messages.c (as_perror) [BFD_ASSEMBLER]: Use bfd_get_error and
69cb5925 6223 bfd_set_error and new error names.
f61b81b7 6224
c25be7f4
KR
6225Tue Feb 15 20:23:20 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6226
6227 * configure.in: Support i960-vxworks versions > 5.0 as coff.
6228 Default is still bout if no version is specified.
6229
04bde70d
KR
6230 * atof-generic.c (atof_generic): Use switch and strcasecmp instead
6231 of large number of compares when looking for inf/nan values.
6232
b1237b9d
ILT
6233Fri Feb 11 13:13:27 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6234
6235 * config/tc-mips.c (macro): Do unaligned loads and stores
6236 correctly when big endian, and give errors on overflow rather than
6237 generating incorrect code.
6238
605e1d90
ILT
6239Thu Feb 10 11:24:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6240
6241 * as.c: Include libiberty.h.
6242
6243 * read.c (do_align): Don't define label just_record_alignment
6244 unless it might be used.
6245
6246 * as.c (main): If md_parse_long_option is defined, call it with a
6247 long option.
6248 * config/tc-mips.h (md_parse_long_option): Define.
6249 * config/tc-mips.c (mips_trap): New static variable.
6250 (md_begin): Report an error if mips_trap is set at ISA level 1.
6251 (macro): If mips_trap, use trap instructions instead of break
6252 instructions for overflow and divide by zero detection.
6253 (mips_parse_long_option): New function. Support --trap,
6254 --no-break, --break and --no-trap.
6255 * doc/as.texinfo: Document new options.
6256
6257 * read.c (potable): Add "zero".
6258 * config/tc-i386.c (md_pseudo_table): Remove "zero".
6259 * config/tc-m88k.c (md_pseudo_table): Likewise.
6260
6440d65c
KR
6261Thu Feb 10 01:24:27 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6262
6263 * config/tc-sparc.c (sparc_ip): Reject integer values for
6264 pc-relative operand fields. This forces "call 0" to become "jmpl
6265 %g0,%o7" with no relocations needed.
6266
ddb393cf
ILT
6267Wed Feb 9 13:08:32 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6268
d87c080e
ILT
6269 * as.h (xmalloc, xrealloc): Declare using PTR rather than char *.
6270 * xmalloc.c (xmalloc, xrealloc): Use PTR rather than char *.
6271
ddb393cf
ILT
6272 * app.c (do_scrub_next_char): If NO_STRING_ESCAPES is defined,
6273 don't treat backslash specially inside strings.
6274 * read.c (next_char_of_string): Likewise.
6275
66c774bb
SS
6276Wed Feb 9 09:42:45 1994 Stan Shebs (shebs@andros.cygnus.com)
6277
6278 * config/obj-coffbfd.c (obj_coff_init_stab_section): Use memset
6279 instead of memcpy to zero the initial stab symbol, duh.
6280 * config/obj-elf.c (obj_elf_init_stab_section): Ditto.
6281 * config/obj-som.c (obj_som_init_stab_section): Ditto.
6282
356315fe
ILT
6283Tue Feb 8 17:25:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6284
6285 * write.c (fixup_segment): Use as_bad_where, not as_bad.
6286
6287 * subsegs.c (subseg_set_rest): Call memset with the arguments in
6288 the right order. Explicitly clear fix_root and fix_tail fields.
6289
df44a852
KR
6290Tue Feb 8 16:00:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6291
cfaf70e3
KR
6292 * config/obj-coff.c (coff_frob_symbol): For abs_symbol, set *punt
6293 and do nothing else.
6294
6295 * symbols.c (symbol_begin): Initialize value of abs_symbol
6296 properly.
6297
6298 * write.c (adjust_reloc_syms): Use abs_symbol instead of calling
6299 section_symbol.
6300
cafb569b
KR
6301 * ecoff.c (ecoff_build_debug): Fix "/*" in comment to silence
6302 complaint from "gcc -Wall".
6303
7496639a
KR
6304 * configure.in (alpha-*-netware*): New target, like alpha-*-osf*.
6305
8a74b870
KR
6306 * config/tc-alpha.c (GP_ADJUSTMENT): Move definition to start of
6307 file.
6308 (tc_gen_reloc): Remove uninitialized variable `code', and code
6309 that tried to use it (incorrectly). For LITERAL reloc, set addend
6310 to negative of GP value.
6311 (load_symbol_address): Don't adjust return value by GP_ADJUSTMENT.
6312
df44a852
KR
6313 * write.c (write_relocs): Print some sensible error message if
6314 bfd_perform_relocation returns bfd_reloc_overflow.
6315
6316Mon Feb 7 15:49:24 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6317
6318 * configure.in (hppa*-*elf*): New configuration for PA ELF.
6319 (hppa*-*-osf*): Default object format is SOM.
6320
c3591adb
KR
6321Mon Feb 7 16:07:35 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6322
2d33b3aa
KR
6323 * config/tc-alpha.c (md_atof): Warn that floating-point values
6324 might not assemble properly.
6325
c3591adb
KR
6326 * configure.in (target alpha-*-osf*): Don't set "dev=yes" any
6327 more.
6328
6329 * config/tc-alpha.c (load_expression): Parenthesize operations in
6330 range checking, to avoid precedence questions.
fc6b54fd 6331
c3591adb
KR
6332 * config/tc-alpha.c (addr32): New static variable.
6333 (md_parse_option): Set it for "-32addr".
6334 (load_symbol_address): If addr32 is set, use ldl instead of ldq.
6335
6336 * atof-generic.c (atof_generic): Calculate maximum_useful_digits
6337 and more_than_enough_bits_for_digits in integer arithmetic, to
6338 eliminate the only sources of dependence on floating point
6339 support, which doesn't work yet on the Alpha.
6340
6341Mon Feb 7 03:56:05 1994 Ken Raeburn (raeburn@cambridge.cygnus.com)
fc6b54fd
KR
6342
6343 * ecoff.c (ecoff_build_debug) [TC_ALPHA]: Specify version stamp as
6344 0x30b for Alpha for now, until ".verstamp" is handled.
6345
6346 * literal.c (add_to_literal_pool): Use seginfo->frchainP, which
6347 actually refers to the literal pool section, rather than
6348 frchain_now, which refers to whatever section the assembler was
6349 in.
6350
6351 * write.c (fixup_segment): Only do range checking if size of fixup
6352 is smaller than word size. Otherwise, we always wind up with
6353 zeros.
6354
5facbfd4
KR
6355 * config/tc-alpha.c (md_section_align): Change second argument and
6356 return type to valueT, to agree with tc.h.
6357 (alpha_do_align): Local static array nop_pattern is now unsigned
6358 char, to avoid overflow warnings.
6359 * config/tc-alpha.h (md_section_align): Delete declaration.
6360
6361 * config/obj-ecoff.c (ecoff_frob_file): Ensure that ecoff_data for
6362 output bfd is non-null before indirecting through it.
6363
6364 * config/tc-alpha.c (alpha_frob_ecoff_data): Renamed from
6365 alpha_frob_file.
6366 * config/tc-alpha.h (tc_frob_file): Macro deleted.
6367 * config/obj-ecoff.c (ecoff_frob_file) [TC_ALPHA]: Call
6368 alpha_frob_ecoff_data, then fill in optional-header info with gp
6369 value and register masks.
6370
dc536cc0
JL
6371Sun Feb 6 16:13:47 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6372
f8693e71
JL
6373 * configure.in (hiux): Fixes from m-kasahr@sramhc.sra.co.JP.
6374
dc536cc0
JL
6375 * config/obj-som.c (obj_som_init_stab_section): Same change
6376 as coffbfd and elf below. Zero the initial stab symbol after
6377 allocating it.
6378
41b5ef0f
SS
6379Sat Feb 5 12:30:32 1994 Stan Shebs (shebs@andros.cygnus.com)
6380
6381 * config/obj-coffbfd.c (obj_coff_init_stab_section): Zero the
6382 initial stab symbol after allocating it.
6383 * config/obj-elf.c (obj_elf_init_stab_section): Ditto.
6384
fa4beb7e
JL
6385Sat Feb 5 11:53:31 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6386
6387 * config/tc-hppa.c (pa_ip): addb[tf] should only accept
6388 non-negated condition completers. Add support for addb pseudo-op
6389 which accepts both negated and non-negated completers.
6390
1c11ab0e
ILT
6391Sat Feb 5 00:15:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6392
6393 * configure.in (rs6000*): Use cpu_type ppc.
6394 (ppc-*-aix*): New target; use coff and force bfd_gas.
6395 * config/tc-ppc.h, config/tc-ppc.c: New files for PowerPC/POWER
6396 (RS/6000) support. At the moment, only XCOFF is supported.
6397
6398 * config/obj-coff.c (SA_SET_SYM_ENDNDX): Made non-static.
6399 (S_SET_DATA_TYPE): Likewise.
6400 (coff_last_function): Renamed from local static last_functionP in
6401 coff_frob_symbol and made externally visible.
6402 (coff_frob_symbol): New local static set_end; use it to try to
6403 avoid calling SA_SET_SYM_ENDNDX on a symbol that will be punted.
6404 * config/obj-coff.h (S_SET_DATA_TYPE): Declare.
6405 (SA_SET_SYM_ENDNDX): Declare.
6406 (coff_last_function): Declare.
6407
6408 * expr.c (operand): If DOLLAR_DOT is defined, accept `$' as
6409 equivalent to `.' to mean the current location.
6410
6411 * read.c (LEX_BR): If not defined, define as 0.
6412 (lex_type): Use LEX_BR as the type of `{',`}',`[',`]'.
6413
6414 * symbols.c (symbol_new): If tc_canonicalize_symbol_name is
6415 defined, call it with preserved_copy_of_name. If
6416 tc_symbol_new_hook is defined, call it on the new symbol.
6417 (symbol_find_base): If tc_canonicalize_symbol_name is defined,
6418 call it on a copy of the name argument.
6419
6420 * write.c (write_object_file): Simplified usage of obj_frob_symbol
6421 and tc_frob_symbol. Always call both if the symbol is going to be
6422 output.
6423
6424 * write.c (relax_segment): Use %ld rather than %d when printing
6425 fragP->fr_var, and cast it to long.
6426
6427 Changed relocs to be based on subsegments (when BFD_ASSEMBLER).
6428 * subsegs.h (struct frchain): If BFD_ASSEMBLER, added new fields
6429 fix_root and fix_tail.
6430 (segment_info_type): If BFD_ASSEMBLER, don't define fix_tail
6431 field.
6432 * write.c (fix_new_internal): If BFD_ASSEMBLER, set fix_rootP and
6433 fix_tailP based on frchain_now, not seg_info (now_seg).
6434 (chain_frchains_together_1): Chain the subsegment relocs together.
6435 * subsegs.c (subseg_change): Don't clear fix_tail field.
6436 (subseg_get): Likewise.
6437 * literal.c (add_to_literal_pool): Look through the relocs via
6438 frchain_now, not seginfo.
6439
f85ad9d5
ILT
6440Thu Feb 3 23:07:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6441
6442 * config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Changed
6443 ecoff_undefined to ecoff_extern_size.
6444 * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): Likewise.
6445 * config/tc-mips.c (s_extern): Set ecoff_extern_size to the
6446 external symbol size, rathern than setting the symbol value.
6447 (md_estimate_size_before_relax): Check both ecoff_extern_size and
6448 symbol value to see if GP referencing can be used.
6449 * ecoff.c (ecoff_symbol_new_hook): Clear ecoff_extern_size, not
6450 ecoff_undefined.
6451 (ecoff_frob_symbol): Don't check ecoff_undefined.
6452 (ecoff_build_symbols): Get size of an undefined symbol from
6453 sym->ecoff_extern_size, not S_GET_VALUE (sym).
6454
b4bd2c92
JL
6455Wed Feb 2 13:55:08 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6456
6457 * Makefile.in: Avoid bug in losing hpux sed.
6458
1051c97f
ILT
6459Wed Feb 2 11:40:11 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6460
6461 * config/tc-mips.c (file_mips_isa): New static variable.
6462 (md_begin): Set it.
6463 (s_mipsset): Add support for .set mipN to set the ISA level.
6464
6465 * gasp.c (kinfo): Fully bracket initializer.
6466
f2cdeec4
KR
6467Tue Feb 1 19:28:12 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6468
6469 * gasp.c (malloc): Don't declare, since host.h or system header
6470 files may declare it differently.
6471
6472 * config/atof-ieee.c (int_to_gen): Now static.
6473
6474 * config/ho-i386aix.h: Include sys/types.h and stdlib.h, not
6475 ho-sysv.h. Based loosely on a patch from Minh Tran-Le.
6476
e2847e64
SC
6477Tue Feb 1 10:50:17 1994 Steve Chamberlain (sac@jonny.cygnus.com)
6478
6479 * gasp.c: Include host.h.
6480
9cbf9e57
ILT
6481Tue Feb 1 12:13:01 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6482
8bbad6fd
ILT
6483 * config/tc-mips.c (mips_ip): Make an unsupported instruction a
6484 warning, not an error.
6485
9cbf9e57
ILT
6486 * config/obj-coff.c (dot_text_symbol, dot_data_symbol,
6487 dot_bss_symbol): Don't define if BFD_ASSEMBLER.
6488 (obj_symbol_to_chars): bfd_coff_swap_aux_out now takes more
6489 arguments.
6490 (coff_line_base): Renamed from line_base. Changed all uses.
6491 (coff_add_linesym): Renamed from add_line_sym. Made non-static.
6492 Changed all uses.
6493 * config/obj-coff.h: If TC_PPC, include coff/rs6000.h.
6494 (S_SET_STORAGE_CLASS, S_GET_STORAGE_CLASS): Declare if
6495 BFD_ASSEMBLER.
6496 (coff_line_base): Declare.
6497 (coff_add_linesym): Declare if BFD_ASSEMBLER.
6498 * config/obj-coffbfd.c (symbol_to_chars): bfd_coff_swap_aux_out
6499 now takes more arguments.
6500
2abb453d
SS
6501Mon Jan 31 17:55:14 1994 Stan Shebs (shebs@andros.cygnus.com)
6502
6503 * as.c (statistics_flag): Renamed from quiet_flag.
6504 (main): Get statistics with --statistics instead of -noquiet.
6505
a5a4b5ac
SC
6506Mon Jan 31 07:19:30 1994 Steve Chamberlain (sac@jonny.cygnus.com)
6507
6508 * Makefile.in: Support for Gnu ASsembler Preprocessor.
6509 * gasp.c: New file.
6510 * read.c (s_lcomm): Align lcomm data.
69cb5925 6511 * config/tc-z8k.c (tc_reloc_mangle): Don't allow subtraction
a5a4b5ac
SC
6512 from different sections.
6513
7909261f
KR
6514Sun Jan 30 14:58:26 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6515
6516 * write.c (write_object_file): If tc_frob_file is defined, call it
6517 just before calling obj_frob_file.
6518 * config/tc-alpha.c (alpha_gp_value): Renamed from gp_value
6519 (references changed), and made non-static.
6520 (getExpression): Return void.
6521 (select_gp_value): Abort if gp_value is non-zero. Delete call to
6522 non-existent bfd_set_gp_value.
6523 (alpha_validate_fix): Function deleted.
6524 (alpha_frob_symbol): Function deleted.
6525 (alpha_local_label): Function deleted.
6526 (alpha_frob_file): Renamed from alpha_end.
6527 * config/tc-alpha.h (alpha_frob_symbol, alpha_validate_fix,
6528 alpha_local_label, alpha_end): Declarations deleted.
6529 (alpha_gp_value, alpha_frob_file): Declare.
6530 (tc_frob_symbol, TC_VALIDATE_FIX, md_end): Macros deleted.
6531 (LOCAL_LABEL): Move code here from tc-alpha.c:alpha_local_label.
6532 (md_convert_frag): Simplified slightly.
6533 (tc_frob_file): New macro.
6534
6535 * read.c (do_align): New function, most of guts of s_align_*
6536 functions. Look for md_do_align macro, give it a chance to bypass
6537 all but recording of section alignment.
6538 (s_align_bytes, s_align_ptwo): Call do_align.
6539 (s_lcomm) [TC_ALPHA]: Align object to largest power of two that
6540 divides object size.
6541
6542 * frags.c (frag_align_pattern): New function.
6543 (frag_align): Rewrite for clarity.
6544
6545 * config/tc-vax.c (md_assemble): Handle O_constant expression.
6546 (vip_begin): Returns pointer to const char. Cast hash_insert arg
6547 to PTR to avoid compiler complaints about const.
6548 (md_begin): Local variable errtxt must point to const.
6549
6550 * configure.in: Handle host vax-*-ultrix* like vax-*-bsd*. Don't
6551 bother with *-*-ultrix or *-*-sysv*, except *-*-sysv, since only
6552 the last has an existing host support file. Do handle vax-bsd and
6553 vax-ultrix targets.
6554
1f029792
ILT
6555Fri Jan 28 11:26:40 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6556
6557 * config/obj-coff.c (obj_coff_section_header_append): Do not
6558 declare if BFD_ASSEMBLER.
6559 (stack_pop): Correct test for stack underflow.
6560 (obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size,
6561 obj_coff_scl, obj_coff_tag, obj_coff_type, obj_coff_val): Declare
6562 type of ignored argument to avoid gcc warning.
6563 (align): Removed unused function.
6564
6221fe20
KR
6565Thu Jan 27 18:14:19 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6566
81f6013a
KR
6567 * config/tc-alpha.c, config/tc-alpha.h, config/alpha-opcode.h: New
6568 files, based on port of gas-1.38 contributed by CMU, using a.out
6569 variant. Updated for gas-2.x and ECOFF. Floating-point constants
6570 are still broken, bootstrap testing incomplete.
6571
6572 * literal.c: Comment changes.
6573
6574 * listing.c (listing_source_file): Check for null listing_tail
6575 before indirecting through it.
6576
6577 * expr.h (struct expressionS): Added struct tag.
6578
6579 * as.h: If __GNUC__ and inline are both undefined, define inline
6580 away.
6581
6582 * write.c (cvt_frag_to_fill): Don't assume that fr_var for
6583 rs_align or rs_org frags will be 1.
6584 (relax_segment): For rs_align, if fr_var is not 1, complain if
6585 required padding is not a multiple of the size of the pad pattern.
6586 (fixup_segment): Leave gp-relative relocations alone. For pcrel
6587 relocations referring to the same segment, clear fx_pcrel when
6588 clearing fx_addsy.
6589 * as.h: Adjust comments on rs_align.
6590
6221fe20
KR
6591 * atof-generic.c: Some reformatting.
6592 (atof_generic): Be careful when mixing signed/unsigned values of
6593 different sizes.
6594
81f6013a
KR
6595 * write.c, config/obj-{aout,bout,coff*}.c, config/tc-sparc.c:
6596 Query the fx_done field instead of fx_addsy to see if the fixup
6597 still needs to be applied. Set fx_done and clear fx_addsy both,
6598 for now. If TC_HANDLES_FX_DONE isn't defined, assume md_apply_fix
6599 will only clear fx_addsy, and set fx_done accordingly after
6600 returning.
6601 * config/tc-sparc.h (TC_HANDLES_FX_DONE): Define.
6602 * config/tc-sparc.c (md_apply_fix): Set fx_done for non-pcrel fix
6603 with no fx_addsy.
6604
6605 * symbols.c (dot_text_symbol, dot_data_symbol, dot_bss_symbol):
6606 Deleted.
6607 (symbol_begin): Moved to end of file, so function inlining can
6608 work better.
6609 (fb_label_count, fb_label_max): Default C static initializers are
6610 sufficient.
6611 * symbols.h (dot_text_symbol, dot_data_symbol, dot_bss_symbol):
6612 Declarations deleted.
6613 * config/obj-coff.c (dot_text_symbol, dot_data_symbol,
6614 dot_bss_symbol): Defined here, static.
6615
6616 * config/obj-aout.c [BFD_ASSEMBLER]: Undef NO_RELOC before
6617 including aout/aout64.h.
6618
6619 * write.c (write_object_file): If EMIT_SECTION_SYMBOLS is false,
6620 don't write out a section symbol even if it's used in a
6621 relocation; assume relocations will handle section numbers
6622 somehow. Rename "punt_it" label to "punt_it_if_unused" to reflect
6623 it's true use.
6624 (EMIT_SECTION_SYMBOLS): Default to 1.
6625 (adjust_reloc_syms): Don't create a new symbol for an absolute
6626 reference; just use the absolute section symbol.
6627 (write_relocs): Make printout of reloc values dependent on flag
6628 DEBUG3, not DEBUG2.
6629 * config/obj-aout.h (EMIT_SECTION_SYMBOLS): Define as 0.
6630 * config/obj-ecoff.h (EMIT_SECTION_SYMBOLS): Ditto.
6631
a57180ad
ILT
6632Thu Jan 27 16:43:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6633
ec7a69ea
ILT
6634 * read.c (lex_type): No longer make '{' a valid character for
6635 symbol names.
6636
fe920573
ILT
6637 * as.c (main): Print long values using %ld.
6638
a57180ad
ILT
6639 * messages.c (as_warn_internal): New static function.
6640 (as_warn, 3 versions): Use as_warn_internal.
6641 (as_warn_where, 3 versions): New function.
6642 * as.h (as_warn_where): Declare.
6643
ca7bd557
SS
6644Tue Jan 25 18:30:34 1994 Stan Shebs (shebs@andros.cygnus.com)
6645
6646 * as.c (quiet_flag): New flag.
6647 (main): If -noquiet given, display execution time and memory used.
6648
9dcf8057
JL
6649Tue Jan 25 15:53:11 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6650
6651 * doc/{all.texi,as.texinfo}: Add documentation for HPPA port.
6652
f71babce
ILT
6653Mon Jan 24 19:18:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6654
6655 * ecoff.c (ecoff_frob_symbol): New function. Put undefined
6656 symbols of known size in the undefined section. Put small common
6657 symbols in a .scommon section.
6658 * ecoff.h (ecoff_frob_symbol): Declare.
6659 * config/obj-ecoff.h (obj_frob_symbol): Define.
6660 * config/obj-elf.c (obj_elf_write_symbol_p, obj_elf_write_symbol,
6661 obj_elf_frob_symbol): Removed unused functions.
6662 * config/obj-elf.h (obj_frob_symbol, obj_write_symbol): Removed
6663 unused macros.
6664 (obj_elf_frob_symbol, obj_elf_write_symbol): Removed declarations
6665 of unused functions.
6666 (obj_frob_symbol): Define if ECOFF_DEBUGGING.
6667
6668 * tc-mips.c (g_switch_seen): New static variable.
6669 (md_parse_option): Set g_switch_seen for -G option.
6670 (s_option): If creating PIC code, force the GP size to be 0. Warn
6671 if -G switch used with a non-zero value.
6672
6673 * symbols.c (S_IS_COMMON): Use bfd_is_com_section rather than
6674 comparing against bfd_com_section.
6675
2ef7731d
KR
6676Mon Jan 24 14:12:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6677
6678 * read.c (s_lcomm): Treat Alpha like MIPS in handling of .sbss
6679 section.
6680
7691379e
KR
6681Thu Jan 20 13:17:58 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6682
6683 * expr.c (operand): For floating point operand with unusual fp
6684 char from FLT_CHARS, preserve the character. Patch from Lisa
6685 Repka.
6686
eb8fd0e9
ILT
6687Wed Jan 19 23:15:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6688
6689 * config/tc-mips.c (md_pseudo_table): Add all data allocation
6690 pseudo-ops: .hword, .int, .long, .octa, .quad, .short, .single.
6691
d9420fc1
SC
6692Tue Jan 18 15:51:59 1994 Steve Chamberlain (sac@jonny.cygnus.com)
6693
6694 * config/obj-coffbfd.c (obj_coff_endef): For C_EFCN, C_BLOCK and
6695 C_FCN assume .val has been set to .
6696
2f156c92
JL
6697Tue Jan 18 16:19:58 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6698
6699 * config/tc-hppa.c: Disable multiple $CODE$ subspace code. It
6700 confuses GDB for some unknown reason.
6701 * cofnig/obj-som.c: Likewise.
6702
19302e44
KR
6703Tue Jan 18 19:05:32 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6704
6705 * literal.c (add_to_literal_pool): Handle duplicates of values
6706 already written to literal pool.
6707
4bda835f
ILT
6708Tue Jan 18 17:23:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6709
6710 * config/obj-aout.c (obj_aout_frob_symbol): Try to get symbols
6711 with explicitly marked stabs through BFD: if a symbol marked
6712 N_UNDF | N_EXT is in the absolute section, move it to the
6713 undefined section; move a symbol marked N_INDR into
13655af6
ILT
6714 bfd_ind_section and set the BSF_INDIRECT flag; set the
6715 BSF_WARNING flag for a symbol makred N_WARNING.
4bda835f 6716
17ed84ed
ILT
6717Mon Jan 17 15:40:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6718
6719 * ecoff.h (ecoff_set_gp_prolog_size): Declare.
6720 * ecoff.c (ecoff_set_gp_prolog_size): Return type is void.
6721
d0286a21
JL
6722Mon Jan 17 00:18:55 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6723
51517966
JL
6724 * config/tc-hppa.c (pa_ip): Explicitly check for comma before 'u'
6725 and 'f' template operand.
6726
d0286a21
JL
6727 * config/tc-hppa.c (pa_ip): Handle 'N', 'O', 'o', '0', '1', 'u',
6728 and '2' in copr and sfu instruction templates.
6729
e7501ac7
JL
6730Sun Jan 16 16:44:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6731
6732 * as.h (subseg_force_new): Add prototype.
6733
d2550c72
DE
6734Sat Jan 15 09:20:55 1994 Doug Evans (dje@canuck.cygnus.com)
6735
d307fed1
DE
6736 * app.c (do_scrub_next_char): Allow lines like " foolab :".
6737
d2550c72
DE
6738 * read.c (emit_expr): Fix computation of mask.
6739 * config/obj-elf.c (obj_elf_section): Fix loop termination test.
6740
d211303d
KR
6741Thu Jan 13 16:15:15 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6742
64270963
KR
6743 * ecoff.c (ecoff_set_gp_prolog_size): New function.
6744 (current_file_idx): New static variable.
6745 (add_file): Use and increment current_file_idx instead of indx
6746 parameter.
6747
ff4325cb
KR
6748 * struc-symbol.h (struct symbol): Make all bitfields unsigned.
6749
d211303d
KR
6750 * config/tc-i960.c (i960_validate_fix): Added argument
6751 add_symbolPP. Indirect through it to get "add_symbolP".
6752 * config/tc-i960.h (i960_validate_fix): Supply prototype.
6753 (TC_VALIDATE_FIX): Pass address of add_symbolP.
6754
6755 * configure.in (i386-*-netbsd*): New target, using te-netbsd.h.
6756 (i386-*-netbsd0.8): New target, like 386bsd.
6757
6758 * configure.in: Set BFDDEF in Makefile to "define" or "undef".
6759 * Makefile.in (config.h): Protect against multiple inclusions.
6760 Define or undef BFD_ASSEMBLER as specified by $(BFDDEF).
6761 (ALL_CFLAGS): Omit $(BFDDEF).
6762 * as.h: Include config.h.
6763 (struct symbol): Added forward declaration.
6764 (add_to_literal_pool): Fix declaration.
64270963 6765 * as.c: Don't include config.h.
d211303d
KR
6766
6767 * literal.c (add_to_literal_pool): Take symbol and addend as
6768 arguments, instead of expression, for now. Fix calculation of
6769 offset to return.
6770
6771 * subsegs.h (segment_info_type) [NEED_LITERAL_POOL]: Add field
6772 literal_pool_size.
6773
500828a0
JL
6774Thu Jan 13 12:14:21 1994 Jeffrey A. Law (law@snake.cs.utah.edu
6775
6776 * subsegs.c (subseg_get): Accept new argument "force_new". If
6777 set then a new segment is always created. All callers changed.
6778 (subseg_force_new): New function. Similar to subseg_new, but
6779 always force a new segment to be created.
6780
6781 * config/obj-som.c (som_frob_file): Call adjust_code_sections
6782 for each section.
6783 (adjust_code_sections): New function. Adjusts the VMA for all the
6784 $CODE$ subspaces.
6785
6786 * config/tc-hppa.c (md_assemble): Also handle creating a fixup
6787 for the unwind descriptors if a function's label follows the
6788 .PROC and .ENTRY directives.
6789 (pa_entry): Don't set BSF_FUNCTION for the label symbol here; it
6790 is done elsewhere. Don't create a fixup for the unwind
6791 descriptors if the function's label has not been defined yet.
6792 (pa_proc): For SOM, place each procedure within a new $CODE$
6793 subspace. Adjust the segment and frag for the associated
6794 function label if it exists.
6795
6796Wed Jan 12 22:05:33 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6797
6798 * config/tc-hppa.c (hppa_fix_struct): Add new "segment" field.
6799 (hppa_fix_new): Initialize segment field.
6800 (md_apply_fix): Do nothing for pc-relative fixup which involves
6801 crossing a segment boundary.
6802 (pa_procend): Undefine the current label after handling .PROC
6803 and .PROCEND directives.
6804 (dummy_symbol): Make type "symbolS *". Change references as
6805 appropriate.
6806
bbf7e43d
ILT
6807Wed Jan 12 13:29:31 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6808
6809 * read.c (read_a_source_file): Cast array argument to unsigned
6810 char.
6811 * write.c (adjust_reloc_syms): Remove unused variable symseginfo.
6812 (write_object_file): Don't define punt_it if it won't be used.
6813 (fixup_segment): Don't define skip if it won't be used.
6814
6815 * config/tc-mips.h (TARGET_FORMAT): Define as mips_target_format.
6816 (mips_target_format): Declare.
6817 * config/tc-mips.c (mips_target_format): Define with appropriate
6818 default definition.
6819 (md_parse_option): If -EL or -EB is used, change byte_order and
6820 mips_target_format as appropriate.
6821
a1c91916
JL
6822Tue Jan 11 21:52:36 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6823
6824 * app.c (do_scrub_next_char): Another attempt to fix bugs
6825 dealing with labels without colons (for HPPA and MRI).
6826
44ce2f32
DE
6827Tue Jan 11 17:01:06 1994 Doug Evans (dje@canuck.cygnus.com)
6828
fd4b7c25
KR
6829 * config/tc-sparc.c (sparc_ip): Truncate args to %hi/%lo to 32 bits.
6830
44ce2f32
DE
6831 * expr.c (integer_constant): Fix computation of too_many_digits.
6832 Variable digit_2 renamed to start. Fix check for whether number
6833 will fit in 32 bits.
6834 * read.c (emit_expr): Use valueT instead of long.
6835
af255ca0
ILT
6836Tue Jan 11 13:01:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6837
f34e27a1
ILT
6838 * config/obj-elf.c: If TC_MIPS, include elf/mips.h.
6839 (special_sections): Define.
6840 (obj_elf_special_section): Get default types and attributes from
6841 list of special sections.
6842 * config/tc-mips.c (ELF_TC_SPECIAL_SECTIONS): Define.
6843
4e76ae53
ILT
6844 * config/obj-ecoff.c (ecoff_frob_file): Force .sdata and .sbss
6845 sections to be close together.
6846
8197b589
ILT
6847 * config/tc-mips.c (macro): Corrected $at warnings in a couple of
6848 spots.
6849
af255ca0
ILT
6850 * listing.c (listing_prev_line): New function.
6851 * listing.c: Include subsegs.h.
6852 (listing_prev_line): New function.
6853 (calc_hex): Reset byte_in_frag to zero for each new frag.
6854 * config/tc-mips.c (append_insn): Call listing_prev_line after
6855 emitting nop instructions.
6856 * Makefile.in (listing.o): Depends upon subsegs.h.
6857
4047ff1d
JL
6858Mon Jan 10 09:52:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6859
6860 * config/tc-hppa.c (pa_ip): Put check for missing label on .PROC
6861 here. Handle case where label may be defined after the .PROC.
6862 (pa_proc): It is not an error if the procedure's label isn't
6863 defined before the .PROC directive.
6864
6f1c6a67
KR
6865Sun Jan 9 04:43:30 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
6866
6867 * config/te-netbsd.h: New file.
6868 * config/tc-i386.h (TARGET_FORMAT) [TE_NetBSD]: Use bfd target
6869 a.out-netbsd-386 for this configuration.
6870
fe4e3290
ILT
6871Fri Jan 7 17:38:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6872
6873 * ecoff.c (ecoff_stab): Don't clobber the ECOFF symbol information
af255ca0 6874 with the associated stabs information.
fe4e3290
ILT
6875 (ecoff_build_symbols): Never set the type of stabs symbols to
6876 st_Global. Don't update the symbol index or ifd if the gas symbol
6877 is not the same as the ECOFF symbol (which is now the case for
6878 stabs symbols).
6879
917fae09
SS
6880Fri Jan 7 11:14:07 1994 Stan Shebs (shebs@andros.cygnus.com)
6881
6882 * config/tc-mips.c (macro): Add a LOSING_COMPILER ifdef that
6883 splits the function.
6884 (macro2): New function, if LOSING_COMPILER defined.
6885
03a372ed
SC
6886Fri Jan 7 09:38:25 1994 Steve Chamberlain (sac@cygnus.com)
6887
6888 * config/obj-coffbfd.c (fill_section): Don't ever fill past the
6889 end of a section. (write_object_file): Temporary fix - setup
6890 stdoutput.
6891
fd0e2cf2
KR
6892Thu Jan 6 18:05:21 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6893
6894 * config/tc-sparc.c (tc_gen_reloc): Fix handling of addends in
6895 non-pcrel_offset relocations.
6896
13fe1379
ILT
6897Thu Jan 6 01:06:40 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6898
6899 * config/tc-mips.c (mips_ip): Warn about using $1 as well as $at
6900 without .set noat.
6901
311ff8d6
KR
6902Wed Jan 5 14:22:22 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6903
2d29d89d 6904 * literal.c: New file.
d4aad2b4
KR
6905 * Makefile.in (REAL_SOURCES, OBJS): List it.
6906
6907 * as.h (DEBUG): Don't define.
6908 (struct expressionS, struct fix): Declare in case they're used in
6909 prototypes.
6910 (add_to_literal_pool) [BFD_ASSEMBLER]: Declare.
2d29d89d 6911
311ff8d6
KR
6912 * config/tc-mips.h (TARGET_FORMAT) [OBJ_AOUT]: Fix for new names
6913 in bfd.
6914
6915 * subsegs.c (subseg_get): New function. Creates segment if
6916 needed, returns pointer, but doesn't change current segment.
6917 (subseg_new): Use it.
6918
5a051773
SS
6919Tue Jan 4 15:12:43 1994 Stan Shebs (shebs@andros.cygnus.com)
6920
6921 * Makefile.in (INCLUDES): Add $(srcdir)/.. to places to search.
6922 * config/obj-ecoff.c: Include files as "bfd/" instead of "../bfd/".
6923 * app.c, flonum.h, hex-value.c (const): Change #if to be more
6924 portable.
6925
fce98d63
RS
6926Tue Jan 4 22:11:34 1994 Rob Savoye (rob@darkstar.cygnus.com)
6927
69cb5925
KR
6928 * config/ho-vsta.h, configure.in, .Sanitize: Add support for VSTa
6929 micro-kernel.
fce98d63 6930
5a051773
SS
6931Thu Dec 30 15:27:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6932
6933 * write.c (write_relocs): bfd_perform_relocation now takes an
6934 additional argument, to return an error string (which we ignore).
6935
9314b3a1
KR
6936Wed Dec 29 14:37:26 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
6937
6938 * write.h (struct fix): Field tc_fix_data should be type PTR, not
6939 void*, for compatibility with non-ANSI compilers. Added
6940 single-bit field "fx_done".
6941
45db9caf
TG
6942Sun Dec 26 14:31:47 1993 Torbjorn Granlund (tege@adder.cygnus.com)
6943
6944 * tc-hppa.c (pre_defined_registers): Convert to lower case.
6945 Delete spurious register names "%r4L", etc.
6946 (selector_table): Sort and convert to lower case.
6947 (cons_fix_new_hppa): `reloc_type' => `rel_type'.
6948 (pa_ip): Always use strcmp for non-text and strcasecmp for text.
6949 (reg_name_search): Rewrite to call strcasecmp only once per
6950 iteration.
6951 (pa_chk_field_selector): Rewrite to use binary search.
6952 (pa_parse_neg_add_cmpltr): Use strcasecmp for completer comparisons.
6953 (pa_parse_space_stmt): $TEXT$ and $PRIVATE$ are symbols; use case
6954 sensitive comparisons.
6955 (pa_parse_space_stmt): Canonicalize strncasecmp arg to lower case.
6956 (pa_space): "$text$" => "$TEXT$"; "$private$" => "$PRIVATE$". Use
6957 case sensitive comparison for all symbolic names.
6958 (pa_subspace): Canonicalize strncasecmp arg to lower case.
6959 (pa_subspace_start): Use case sensitive comparison for symbolic names.
6960
8b13fa4e
KR
6961Mon Dec 20 10:37:48 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
6962
0a75cb6c
KR
6963 * write.c (adjust_reloc_syms) [RELOC_REQUIRES_SYMBOL]: If no
6964 symbol is present (i.e., relocation against absolute), create a
6965 phony local symbol, and use it in the reloc.
6966 (fixup_segment): When adjusting a reloc with an absolute symbol,
6967 have TC_FORCE_RELOCATION control clearing add_symbolP too.
6968 * config/tc-sparc.h (RELOC_REQUIRES_SYMBOL): Define, for OBJ_COFF.
6969
6970 * symbols.c (S_IS_EXTERNAL, S_IS_LOCAL): Don't use both BSF_EXPORT
6971 and BSF_GLOBAL, since they're the same.
6972
d3e3010b
KR
6973 * as.c (main): Only invoke md_end if it's defined as a macro.
6974 * tc.h (md_end): Don't declare it.
6975 * config/tc-*.[ch] (md_end): Deleted, in cases where it doesn't do
6976 anything.
6977 * config/tc-vax.c (vip_end): Deleted null function.
6978 * config/tc-mips.c (md_mips_end): Renamed from md_end.
6979 * config/tc-mips.h (md_mips_end): Declare.
6980 (md_end): New macro, calls md_mips_end.
6981
6982 * write.c (write_object_file): Don't close output file.
6983 * as.c (main): Close output file (if needed) after calling
6984 listing_print, which should be after calling write_object_file,
6985 which sets the frag addresses.
6986
6987 * config/obj-coff.c (obj_coff_dim, obj_coff_endef, obj_coff_line,
6988 obj_coff_scl, obj_coff_size, obj_coff_tag, obj_coff_type,
6989 obj_coff_val): Add unused int argument to satisfy prototypes; goes
6990 with Ian's 10 Sep changes.
6991 (S_GET_DATA_TYPE, S_SET_DATA_TYPE, S_GET_STORAGE_CLASS,
6992 S_SET_STORAGE_CLASS): Now function instead of macros.
6993 (obj_emit_lineno) [BFD_ASSEMBLER]: Deleted.
6994 (tag_insert): Local var ERROR_STRING is const. Use "const" not
6995 "CONST" for argument NAME. Fixed prototype.
6996 (coff_frob_symbol): Removed explicit "#if 1" directive. If
6997 S_IS_EXTERNAL, set storage class to C_EXT.
6998 (s_get_name): Use "const" not "CONST".
6999 * config/obj-coff.h (S_GET_DATA_TYPE, S_SET_DATA_TYPE,
7000 S_GET_STORAGE_CLASS, S_SET_STORAGE_CLASS): Deleted.
7001 (obj_emit_lineno): Declare only for non-BFD_ASSEMBLER. For
7002 BFD_ASSEMBLER, define as macro that aborts.
7003 (obj_extra_stuff, tc_headers_hook): Declare only for
7004 non-BFD_ASSEMBLER.
7005 (coff_frob_symbol): Fix prototype.
8b13fa4e
KR
7006
7007Sun Dec 19 00:37:20 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7008
7009 * config/tc-sparc.c (tc_gen_reloc): Test of pcrel_offset had sense
7010 reversed.
7011
5ea18b5d
JL
7012Thu Dec 16 21:13:11 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7013
7014 * config/tc-hppa.c (md_begin): Initialize "dummy_label".
7015 (tc_gen_reloc, SOM version): For relocations which have no symbol,
7016 set sym_ptr_ptr to dummy_label. Avoids lossage in generic BFD code.
7017
a8a72d74
KR
7018Thu Dec 16 16:07:56 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
7019
7020 * read.c (lex_type): No longer make '[' a valid character for
7021 symbol names.
7022
50f75add
KR
7023 * config/tc-vax.c (tc_aout_fix_to_chars): Local variable
7024 NBYTES_R_LENGTH now const.
7025
7026 * config/obj-*.c, config/tc-*.c: Omit superfluous "return"
7027 statements at ends of functions. Don't check for null return from
7028 hash_new, since it won't return at all if there's no memory
7029 available. Also, check for null return from hash_insert, rather
7030 than zero-length string, as success indicator.
7031
7032 * subsegs.c (section_symbol): New function.
7033 * subsegs.h (section_symbol): Declare.
7034 * write.c (adjust_reloc_syms): Use it.
7035
cf4aca57
KR
7036Wed Dec 15 15:39:53 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
7037
7387c355
KR
7038 * Makefile.in (RUNTEST): New variable.
7039 (CHECKFLAGS): Pass it down.
7040
cf4aca57
KR
7041 * ecoff.c (ecoff_directive_frame): Permit extra trailing operands;
7042 unused for now, but supplied by Alpha OSF1 compiler.
7043
7044 * as.h: Protect against multiple inclusions.
7045 (int_to_gen): Don't declare.
7046
7047 * config/atof-vax.c (atof_vax): NULL is not a valid character
7048 constant.
7049
551d2fd4
JL
7050Tue Dec 14 21:38:25 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7051
26da0351
JL
7052 * configure.in (hppa*-*-osf*): Do not consider this a developmental
7053 configuration.
7054
551d2fd4
JL
7055 * config/tc-hppa.c (md_apply_fix): Handle cases where no
7056 relocation will be emitted for 32bit formats.
7057
9d5a9b20
JL
7058Mon Dec 13 23:33:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7059
7060 * config/tc-hppa.c (md_apply_fix): Do not call hppa_field_adjust
7061 for any of the 'T' field selectors.
7062
2b5936ff
SC
7063Sat Dec 11 11:23:12 1993 Steve Chamberlain (sac@thepub.cygnus.com)
7064
7065 * config/tc-h8500.c (build_bytes): Get reloc type right for a
7066 %page operation. (md_assemble): Don't modify input_line_pointer.
7067 (mdcoff_sizemachdep): New function.
7068 * config/tc-h8500.h (TC_COFF_SIZEMACHDEP): New macro.
7069 * config/tc-z8k.c (get_operand): Delete bogus check.
7070
a1328e79
KR
7071Wed Dec 8 16:31:51 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
7072
7073 * write.c (number_to_chars_*): Delete bogus range check.
7074
7075 * output-file.c (TARGET_ARCH): No default.
7076
ef7ce769
SC
7077Tue Dec 7 16:02:53 1993 Steve Chamberlain (sac@jonny.cygnus.com)
7078
7079 * config/tc-sh.c (md_convert_frag): Truncate disps before calling
7080 md_number_to_chars. (md_assemble): Don't modify
7081 input_line_pointer.
7082
67707031
DE
7083Mon Dec 6 11:49:03 1993 Doug Evans (dje@canuck.cygnus.com)
7084
7085 * config/tc-h8300.c (md_assemble): Don't update input_line_pointer.
7086
dd2f509f
JL
7087Mon Dec 6 11:20:02 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7088
7089 * config/obj-som.[ch] (obj_read_begin_hook): Remove last change.
7090 Breaks with the HP compilers.
7091
7092 * config/tc-hppa.c (struct call_info): Remove fields which were
7093 set but never used. Remove all code which sets those fields.
7094 (struct subspace_dictionary_chain): Likewise.
7095 (struct space_dictionary_chain): Likewise.
7096 (pa_desc): Delete useless function. Delete all references.
7097 (hppa_tc_make_sections): No need to count the number of symbols for
69cb5925 7098 the symbol extension section.
dd2f509f 7099
7b624bf2
JL
7100Sun Dec 5 17:05:29 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7101
eb91665b
JL
7102 * config/obj-som.c (obj_som_version): Pass version string to
7103 SOM BFD backend.
7104 (obj_som_copyright): New function. Much like obj_som_version.
7105
7106 * config/tc-hppa.c (obj_copyright): Define as appropriate for
69cb5925 7107 SOM and ELF.
eb91665b
JL
7108 (pa_copyright): Just a stub now.
7109
42ecb409
JL
7110 * config/obj-som.c (obj_read_begin_hook): Delete unused function.
7111 * config/obj-som.h (obj_read_begin_hook): Provide dummy definition.
7112 (TARGET_SYMBOL_FIELDS): Delete. SOM isn't making use of them.
7113
4165dcc2
JL
7114 * config/tc-hppa.c (tc_gen_reloc, SOM version): Handle relocation
7115 expansion due to rounding mode selectors. Handle R_[RDSN]_MODE
7116 relocations for selecting the current rounding mode.
7117
7b624bf2
JL
7118 * config/tc-hppa.c (evaluate_absolute): Support e_rrsel and
7119 e_rlsel field selectors.
7120
7121Fri Dec 3 18:33:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7122
7123 * config/obj-elf.h: If ECOFF_DEBUGGING, undef
7124 SEPARATE_STAB_SECTIONS and INIT_STAB_SECTION, and define
7125 OBJ_PROCESS_STAB to call ecoff_stab.
7126 * config/obj-elf.c: Don't compile obj_elf_init_stab_section if
7127 INIT_STAB_SECTION is not defined.
7128
753dcbbd
JL
7129Fri Dec 3 10:56:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7130
7131 * config/tc-hppa.c (md_apply_fix): Delete old wrapper function.
7132 (md_apply_fix_1): Rename to md_apply_fix. Fix argument decls.
7133 Fix comments in various places. Always return a value.
7134 Avoid dereferencing a NULL fx_addsy.
7135 (hppa_force_relocation): Avoid dereferencing a NULL fx_addsy.
7136
585635c7
JL
7137 Fri Dec 3 09:47:30 1993 Pete Hoogenboom (hoogen@cs.utah.edu)
7138
7139 * tc-hppa.c: (tc_gen_reloc): Addend for a plabel relocation should
7140 be either 0 or 2 (no static link or static link required). Always
7141 assume no static link.
7142
bfbfba45
KR
7143Thu Dec 2 11:52:21 1993 Ken Raeburn (raeburn@cygnus.com)
7144
7145 * config/tc-sparc.c (tc_gen_reloc): Make adjustment to addend be
7146 dependent on howto fields, not on format flavour.
7147
7148 * struc-symbol.h (struct symbol): New fields sy_obj and sy_tc,
7149 defined as types OBJ_SYMFIELD_TYPE and TC_SYMFIELD_TYPE, if those
7150 macros are defined.
7151 * config/obj-coff.h (TC_SYMFIELD_TYPE, OBJ_SYMFIELD_TYPE): Define.
7152 (TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): Don't define.
7153 (sy_tc, sy_obj): Define so that the fields look like they used to,
7154 until all references get changed.
7155
7156 * write.c (fixup_segment): Lots of variables no longer register.
7157 Reordered some code for easier reading.
7158 * config/obj-coff.c (obj_coff_dim): dim_index no longer register.
7159 Deleted superfluous return statement.
7160 (obj_coff_line, obj_coff_size, obj_coff_scl, obj_coff_type,
7161 obj_coff_val, tag_init, tag_insert): Deleted superfluous return
7162 statement.
7163 (align, obj_coff_section): Deleted debugging printfs.
7164 * config/tc-i386.c (md_assemble): Discard some register decls.
7165 Use assignment rather than memcpy to copy template.
7166 (op_hash, reg_hash, prefix_hash): Default C initialization of
7167 statics is sufficient.
7168 * config/tc-sparc.c (print_insn): Array Reloc is now const, and
7169 points to const.
7170
7171 * config/obj-coff.h (TARGET_FORMAT): Only use coff-sparc-lynx if
7172 TE_LYNX; use coff-sparc otherwise.
7173 [USE_NATIVE_HEADERS]: Delete this code; it isn't used.
7174
7175 * write.c (fixup_segment): Call TC_VALIDATE_FIX, if defined,
7176 before processing a fixup. Call TC_ADJUST_RELOC_COUNT just before
7177 returning. Remove some i960-coff-specific code.
7178 (TC_ADJUST_RELOC_COUNT): Default to doing nothing.
7179 * config/tc-i960.h (TC_ADJUST_RELOC_COUNT) [OBJ_COFF]: Define.
7180 (i960_validate_fix): Declare.
7181 (TC_VALIDATE_FIX): Define.
7182 * config/tc-i960.c (i960_validate_fix): New function.
7183
7184 * write.c (number_to_chars_littleendian): New function. Write out
7185 bytes in little endian order, doing size and range checking.
7186 (number_to_chars_bigendian): New function, similar.
7187 * write.h: Declare them.
7188 * config/tc-*.c (md_number_to_chars): Use them.
7189 * config/tc-vax.c (md_apply_fix): Ditto.
7190 * config/tc-i386.c (md_apply_fix): Ditto.
7191
7192 * config/obj-coff.c: Rearranged code for handling line number
7193 data.
7194 (line_fsym): Renamed from function_lineoff in BFD_ASSEMBLER case,
7195 since the usage is different from non-BFD_ASSEMBLER case.
7196 (in_function, clear_function, set_function): New macros, to
7197 combine some of the functionality implemented in differnet ways in
7198 BFD_ASSEMBLER and non-... code. Used in other functions that used
7199 to check function_lineoff &c.
7200 (obj_emit_lineno): Split into two copies, one for BFD_ASSEMBLER,
7201 one for not. Non-BFD_ASSEMBLER version now has temporary variable
7202 to contain char* pointer pointed to by char** argument. Always
7203 follow CROSS_COMPILE code; easier to read that way.
7204 (obj_coff_ln): Don't call add_lineno or c_line_new if appline is
7205 set.
7206 (obj_coff_endef) [BFD_ASSEMBLER]: Don't do anything special for
7207 ".bf", it's been done elsewhere.
7208 (coff_frob_symbol): If ilne number data is pending, call
7209 add_linesym to flush it.
7210 (coff_frob_file): Don't do that here.
7211 * config/obj-coff.h (coff_frob_file): Declare.
7212 (obj_frob_file): Define, to call it.
7213
7214 * config/tc-sparc.h (md_create_short_jump, md_create_long_jump,
7215 md_estimate_size_before_relax: Define them as macros calling
7216 as_fatal.
7217 * config/tc-sparc.c: Don't define them as functions.
7218
7219 * configure.in: Handle target alpha-*-osf*. (No cpu files yet.)
7220
0a8ae18f
JL
7221Wed Dec 1 23:37:14 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7222
7223 * Makefile (clean): Depend on clean-here.
7224
9a048e48
KR
7225Wed Dec 1 11:35:21 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
7226
7227 * config/ho-go32.h: Include fopen-bin.h.
7228 * as.h: If FOPEN_WB isn't defined, include fopen-same.h.
7229 * output-file.c (output_file_create): Use FOPEN_WB instead of "w".
7230 * input-file.c (input_file_open): Use FOPEN_RT instead of "r".
7231 * listing.c (file_info): Use FOPEN_RB instead of "rb".
7232 * read.c (s_include): Use FOPEN_RT instead of "r".
7233
7234 * stabs.c: Include obstack.h.
7235
7236 * tc.h (md_create_long_jump): Don't declare if it's already
7237 defined as a macro.
7238 (md_create_short_jump, md_estimate_size_before_relax): Ditto.
7239
7240 * messages.c (as_perror) [BFD_ASSEMBLER]: Use bfd_errmsg instead
7241 of strerror. Clear bfd_error.
7242
7243 * config/te-lynx.h (LOCAL_LABELS_FB): Define, if not already
7244 defined.
7245
44c0de53
JL
7246Wed Dec 1 10:41:56 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7247
7248 * config/tc-hppa.c (hppa_elf_mark_end_of_function): New function.
7249 (pa_process_exit, pa_procend): Call it for ELF objects.
7250
777ad64d
ILT
7251Wed Dec 1 12:10:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7252
7253 * config/tc-mips.c (macro): Subtract 8 from offset in non PIC l.d
4032d3f0
ILT
7254 case. See comment. From wilson@cygnus.com: for M_L_DAB, set
7255 coproc before doing goto ld.
777ad64d 7256
335d35c8
JL
7257Tue Nov 30 13:40:30 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7258
7259 * write.c (TC_FORCE_RELOCATION): Provide a default definition.
69cb5925 7260 (fixup_segment): Allow the target machine to specify that a
335d35c8
JL
7261 relocation must be generated for a particular fixup. Remove
7262 #ifndef TC_HPPA hack.
7263
7264 * config/tc-hppa.h (TC_FORCE_RELOCATION): Define.
7265
7266 * config/tc-hppa.c (md_apply_fix_1): Never change fx_addsy to
7267 be NULL. Only fixup_segment is supposed to do that.
7268 (hppa_force_relocation): New function.
7269
018f2bba
ILT
7270Tue Nov 30 11:21:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7271
c751ad19
ILT
7272 * Makefile.in (stabs.o): Added dependencies.
7273
018f2bba
ILT
7274 * config/obj-ecoff.c (ecoff_frob_file): Don't call bfd_set_symtab.
7275
81413fa2
JL
7276Sun Nov 28 12:11:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7277
278cd007
JL
7278 * app.c (do_scrub_next_char): Output a TAB before any
7279 .app* directive.
7280
81413fa2
JL
7281 * config/tc-hppa.c (fix_new_hppa): Make sure a sub_symbol
7282 exists before trying to peek at its name.
7283 (pa_space): Do not call pa_align_subseg. See hppa/unsorted/align3.s
7284 for testcase.
7285 (pa_align_subseg): Delete unused/unwanted function.
7286
385ce433
JL
7287Sat Nov 27 22:49:07 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7288
7289 * read.c (read_a_source_file): Fix test for when to stick a colon
7290 on the end of a label. Make code conditional on either MRI or
7291 LABELS_WITHOUT_COLONS.
7292
7293 * app.c (do_scrub_next_char): If a line begins with whitespace, leave
7294 the single whitespace character alone. Eat all others.
7295
7296 * config/tc-hppa.h (LABELS_WITHOUT_COLONS): Define.
7297
31a385d1
JL
7298Wed Nov 24 01:22:54 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7299
7300 * config/tc-hppa.c (pa_procend): Do not call process_exit.
7301 (exit_processing_complete): Delete unwanted variable and all
7302 references.
7303
c5953036
ILT
7304Wed Nov 24 02:31:38 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7305
7306 * ecoff.c (ecoff_setup_ext): Renamed from ecoff_build_ext.
7307 Changed to not actually build the external symbol information, as
7308 that is now done by the ECOFF back end.
7309 (ecoff_build_debug): Changed accordingly.
7310 * ecoff.h (obj_ecoff_set_ext): Declare. obj-format.c function
7311 called by ecoff_setup_ext.
7312 * config/obj-ecoff.c (ecoff_frob_file): If debug_info count is 0,
7313 set corresponding pointer to NULL. Don't set raw_size and
7314 raw_syments.
7315 (obj_ecoff_set_sym_index): Removed.
7316 (obj_ecoff_set_ext): New function.
7317 * config/obj-ecoff.h (obj_set_sym_index): Don't define.
7318 (obj_ecoff_set_sym_index): Don't declare.
7319 * config/obj-elf.c (obj_ecoff_set_ext, elf_get_extr,
7320 elf_set_index): New functions used for ECOFF_DEBUGGING.
7321 (elf_frob_file): Reworked ECOFF debug generation to use
7322 new functions in bfd/ecofflink.c.
7323
7324Sun Nov 21 23:54:52 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7325
7326 * config/tc-hppa.c (pa_def_subspaces): Only create the unwind
7327 subspace for ELF. In the SOM world, the linker is responsible
7328 for creating the unwind subspaces.
7329
e0209756
ILT
7330Fri Nov 19 16:25:09 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7331
7332 * config/obj-coffbfd.c: Use PARAMS rather than EXFUN.
7333 (yank_symbols): Don't call S_SET_EXTERNAL if the storage class is
7334 already set. Fixes .def var; .val external_var; .scl 3; .endef.
7335 (adjust_stab_section): Make static. Declare return type. Remove
7336 unused variables.
7337
7338 * config/tc-i386.h: Declare tc_coff_fix2rtype and
7339 tc_coff_sizemachdep.
7340
0669e047
KR
7341Fri Nov 19 04:33:59 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7342
7343 * write.c (write_object_file): Disable obj_check_file_symbols
7344 hook; only back end using it wasn't using it correctly.
7345 (write_object_file): Always call obj_frob_symbol and
7346 tc_frob_symbol; always retain symbol if it's used by a relocation,
7347 regardless of what these routines indicate.
7348 * config/obj-coff.c (coff_frob_symbol): Renamed from
7349 coff_check_file_symbols.
7350 * config/obj-coff.h (obj_check_file_symbols): Deleted.
7351 (coff_frob_symbol): Declare.
7352 (obj_frob_symbol): Call it.
7353
7354 * config/obj-coff.c (obj_crawl_symbol_chain, obj_emit_strings,
7355 obj_pre_write_hook): Don't define for BFD_ASSEMBLER.
7356 (c_section_header): Ditto. Delete superfluous return at end of
7357 function.
7358
7359 * config/obj-coff.h [TC_SPARC]: Include coff/sparc.h, and specify
7360 coff-sparc-lynx.
7361 (SA_GET_SYM_TAGNDX): Use BFD_HEADERS version for BFD_ASSEMBLER
7362 too.
7363 (c_section_header): Rewrite prototype so that it contains no
7364 preprocessing directives. Don't declare it at all if
7365 BFD_ASSEMBLER.
7366
7367 * configure.in (sparc*-*-lynxos): New target, using coff and
7368 BFD_ASSEMBLER.
7369
7370 * stabs.c: New file.
7371 * Makefile.in (REAL_SOURCES, OBJS): List it.
7372 * read.c (STAB_SECTION_NAME, STAB_STRING_SECTION_NAME,
7373 get_stab_string_offset, s_stab_generic, s_stab, s_xstab, s_desc):
7374 Moved to new file.
7375
7376 * config/tc-sparc.c (tc_gen_reloc): Handle coff files like elf
7377 files.
7378
29cc5816
ILT
7379Wed Nov 17 17:23:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7380
7381 * configure.in (mips-*-irix5*): New target. Use elf and mips-big.
7382 * config/obj-elf.c: If ECOFF_DEBUGGING, include ecoff.h.
7383 (obj_pseudo_table): If ECOFF_DEBUGGING, define ECOFF
7384 pseudo-ops.
7385 (obj_read_begin_hook): If ECOFF_DEBUGGING, call
7386 ecoff_read_begin_hook.
7387 (obj_symbol_new_hook): If ECOFF_DEBUGGING, call
7388 ecoff_symbol_new_hook.
7389 (obj_elf_init_stab_section): Cast alloca result.
7390 (elf_frob_file): If ECOFF_DEBUGGING, finish up ECOFF debugging
7391 information and write it out into .mdebug section.
7392 * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): New macro.
7393 (TARGET_SYMBOL_FIELDS): Use ELF_TARGET_SYMBOL_FIELDS.
7394 (ECOFF_DEBUGGING): Define if TC_MIPS.
7395 (TARGET_SYMBOL_FIELDS): If ECOFF_DEBUGGING, override to add
7396 fields required by ECOFF.
7397 * config/tc-mips.c: Check ECOFF_DEBUGGING rather than
7398 OBJ_ECOFF in many cases.
7399 (mips_any_noreorder): New variable.
7400 (mips_cprestore_offset): Initialize to -1.
7401 (mips_frame_reg): New variable.
7402 (RELAX_ENCODE, RELAX_OLD, RELAX_NEW, RELAX_RELOC1,
7403 RELAX_RELOC2, RELAX_RELOC3, RELAX_WARN): New macros.
7404 (md_pseudo_table): Handle "gpword" and "cpadd".
7405 (md_begin): Initialize ok to false. If OBJ_ELF, set alignment
7406 of text, data and bss sections to 4. Set alignment of
7407 .reginfo section to 2. If ECOFF_DEBUGGING, create .mdebug
7408 section.
7409 (ALIGN_ERR, ALIGN_ERR2): Removed unused and useless alignment
7410 check.
7411 (append_insn, macro_build, macro_build_lui): Take place
7412 argument. Changed all callers.
7413 (append_insn): If appending a nop, don't emit one.
7414 (macro_build): Changed assertion for 'i', 'j', 'o' case.
7415 (gp_reference): Removed.
7416 (load_address): New function.
7417 (macro): If mips_noreorder is used, set mips_any_noreorder.
7418 Extensive changes to handle GP and PIC symbols differently.
7419 Build both possible code choices using a variant frag, and
7420 make a final decision at the end of assembly when all
7421 information is known. Added PIC support for all symbol
7422 references.
7423 (mips_ip): Don't permit anything but a number after $ for a
7424 coprocessor register. Don't use .lit4 or .lit8 sections when
7425 generating PIC code. If OBJ_ELF, set alignment of .lit4 or
7426 .lit8 section to 4.
7427 (md_apply_fix): Accept and ignore GOT16 and GPREL32 relocs.
7428 (s_change_sec): Set alignment of ELF .rodata or .sdata section
7429 to 4.
7430 (s_mipsset): If .set noreorder, set mips_any_noreorder.
7431 (s_cpload): Ignore .cpload if not generating PIC code. Warn
7432 if .cpload is not in noreorder section.
7433 (s_cprestore): Ignore .cprestore if not generating PIC code.
7434 (s_gpword, s_cpadd): New functions.
7435 (tc_get_register): Added frame argument; if true, set
7436 mips_frame_reg to return value. Changed all callers.
7437 (md_estimate_size_before_relax): Don't error out, but instead
7438 determine how much a frag should grow.
7439 (tc_gen_reloc): Return multiple relocs if appropriate, as
7440 determined by md_estimate_size_before_relax.
7441 (md_convert_frag): New function.
7442 (mips_elf_final_processing): Set ELF header flags based on
7443 mips_any_noreorder and mips_pic.
7444 * config/tc-mips.h (RELOC_EXPANSION_POSSIBLE): Define.
7445 (MAX_RELOC_EXPANSION): Define to be 3.
7446 (md_relax_frag): Define to be 0.
7447 (md_convert_frag): Don't define.
7448 (tc_get_register): Changed declaration.
7449
7450 * ecoff.h, ecoff.c: New files pulled out of config/obj-ecoff.c to
7451 support generating ECOFF debugging information for MIPS ELF
7452 targets. Compiled only if ECOFF_DEBUGGING is defined. Changed
7453 handling of external symbols: it now always generates exactly
7454 those external symbols that are defined in the global symbol list.
7455 * Makefile.in (REAL_SOURCES): Added ecoff.c.
7456 (REAL_HEADERS): Added ecoff.h.
7457 (OBJS): Added ecoff.o.
7458 (ecoff.o): New target.
7459 * config/obj-ecoff.c: Almost entirely moved into ecoff.c.
7460 Remaining code mostly just calls ecoff.c code.
7461 * config/obj-ecoff.h: Define ECOFF_DEBUGGING.
7462 (TARGET_SYMBOL_FIELDS): Make ecoff_symbol a pointer to a
7463 struct localsym.
7464 (obj_read_begin_hook, obj_symbol_new_hook): Define to call
7465 functions in ecoff.c.
7466 (ecoff_stab): Don't declare (now declared in ecoff.h).
7467 (obj_set_sym_index): Define.
7468 (obj_ecoff_set_sym_index): Declare.
7469
7470 * frags.h (frag_grow): Declare.
7471 * frags.c (frag_grow): Made non-static.
7472
7473 * write.c (is_dnrange): Do not define if md_relax_frag is defined.
7474 (relax_segment): If md_relax_frag is defined, use it to handle a
7475 frag of type rs_machine_dependent rather than looking through
7476 md_relax_table.
7477
7478 * read.c (read_a_source_file): If we find a bad pseudo-op,
7479 do a continue to go on to the next line rather than a break.
7480 Removed duplicate bad pseudo-op code which was never executed.
7481
7482 * read.c (s_lcomm): Do not require a comma after the name.
7483
7484 * subsegs.h (segment_info_type): Changed hadone field to bitfield.
7485 Added bss bitfield.
7486 * as.c (perform_an_assembly_pass): Set bss flag for bss_section.
7487 * read.c (s_lcomm): Set bss flag for .sbss section if used.
7488 * write.c (relax_and_size_seg): Don't set SEC_HAS_CONTENTS for a
7489 bss section. Set SEC_RELOC if there are any relocations, even for
7490 a zero size section.
7491
7492 * write.c (write_relocs): In RELOC_EXPANSION_POSSIBLE case, base
7493 data offset on reloc[0]->address rather than reloc[j]->address, so
7494 that multiple relocs can affect different memory locations.
7495
7496 * write.c (chain_frchains_together, relax_and_size_seg,
7497 adjust_reloc_syms, write_relocs): Make third argument PTR, not
7498 char *, to match definition of bfd_map_over_sections.
7499
7500 * app.c (do_scrub_next_char): Don't interpret a comment character
7501 as starting a CPP line directive unless it is a '#' and is the
7502 very first characters on the line (i.e., do not permit leading
7503 whitespace).
7504
7505 * messages.c (identify): Make file argument non-const, to match
7506 callers.
7507
c5e9ccd0
JL
7508Tue Nov 16 20:38:21 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7509
7510 * config/tc-hppa.c (pa_ip): Fix thinko in 21bit range check.
7511
7512Sat Nov 13 18:22:48 1993 Steve Chamberlain (sac@jonny.cygnus.com)
7513
7514 * config/tc-sh.c (md_apply_fix): Cope with IMM16 type too.
7515 * config/tc-z8k.c (build_bytes, md_apply_fix): Understand nDISP7
7516 relocs.
7517
4a1b59ef
JL
7518Fri Nov 12 16:51:47 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7519
3e330968 7520 * config/tc-hppa.[ch]: Fix assorted trivial indention problems.
4a1b59ef
JL
7521 * config/obj-som.c (obj_som_version): Add missing ';'.
7522 (som_frob_file): Delete whitespace at EOL.
7523
f3b6e1f2
KR
7524Fri Nov 12 15:26:21 1993 Ken Raeburn (raeburn@cygnus.com)
7525
7526 * Makefile.in (VERSION): Updated following 2.2 release.
7527
c5e9ccd0 7528Fri Nov 12 14:52:17 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
f2eed884
JL
7529
7530 * config/tc-hppa.c (hppa_fix_struct): Use a real type for the
7531 field selector, rather than an int. All uses of field selectors
7532 fixed.
7533 (tc_gen_reloc): For SOM PLABELs, always set addend to zero for now.
7534 (md_apply_fix_1): Do not call hppa_field_adjust for any PLABEL
7535 field.
7536
7537 Thu Nov 11 15:49:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
a721c80b
JL
7538
7539 * config/tc-hppa.c (pa_type_args): For .import statements,
69cb5925 7540 silently ignore attempt to change the symbol type for a function
f2eed884 7541 from ST_ENTRY to ST_CODE on .import.
a721c80b 7542
ca16b5e5
ILT
7543Wed Nov 10 16:19:13 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7544
7545 * write.h (fixS): Rename fx_callj field to fx_tcbit.
7546 * write.c, config/obj-coff.c, config/obj-coffbfd.c,
7547 config/tc-i960.c: Corresponding changes.
7548
48153d49
JL
7549Tue Nov 9 00:49:01 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7550
7420b02b
JL
7551 * Makefile.in (distclean): Delete config-stamp and config.h
7552
f41f3d72
JL
7553 * config/tc-hppa.c (evaluate_absolute): Avoid relying on
7554 ANSI-C features.
7555
48153d49
JL
7556 * config/tc-hppa.c (pa_type_args): Renamed from pa_export_args.
7557 Accept new argument "is_export". All callers changed. When
7558 processing a .export directive for a function, do not allow
7559 the user to set the type to "CODE", instead warn and set the
7560 type to "ENTRY".
7561
9226253a
ILT
7562Mon Nov 8 12:05:07 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7563
7564 * config/tc-mips.c (mips_ip, printInsn): Handle 'k' (from Ted
7565 Lemon <mellon@pepper.ncd.com>).
7566 (mips_ip): Permit odd numbered floating point registers if -mips3.
48153d49 7567 (macro): Use BFD_RELOC_MIPS_LITERAL relocation for M_LI_SS.
9226253a 7568
53087850
DE
7569Mon Nov 8 07:45:01 1993 Doug Evans (dje@canuck.cygnus.com)
7570
7571 * configure.in: Remove h8300h, we have multilib now.
7572
5f8a3788
DHW
7573Mon Nov 8 06:09:18 1993 D. V. Henkel-Wallace (gumby@cirdan.cygnus.com)
7574
7575 * configure.in: Support generic netware as being ELF format.
7576 Recognise unixware if the user supplies it.
7577
163aac84
JL
7578Sun Nov 7 01:02:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7579
513f0471
JL
7580 * First cut at cleaning up PA instruction parsing.
7581 * config/tc-hppa.c (pa_get_absolute_expression): Accept pointer to
7582 insn structure as an argument, and a pointer to a string. All
7583 callers changed. Always read any field selector here. Call
7584 evaluate absolute to get a return value.
7585 (evaluate_absolute): Addept pointer to insn structure as its
7586 argument. All callers changed.
7587 (INSERT_FIELD_AND_CONTINUE): New macro for inserting a bitfield
7588 into an instruction and continuing the main pa_ip loop.
7589 (CHECK_FIELD): New macro for simple range checking of fields.
7590 (pa_ip): Delete unused variables. Use INSERT_FIELD_AND_CONTINUE
7591 and CHECK_FIELD. All immediate fields now pass through
7592 pa_get_absolute_expression which will also handle field selectors.
7593 Delete dead code. Simplify.
7594 (md_apply_fix_1): Use CHECK_FIELD to verify any fixes that are
7595 applied are in range. Use bfd_put_32 rather than inserting each
7596 byte of the fixed instrution into the buffer ourselves.
7597
3e411021 7598 * write.c (fixup_segment): Delete {SEG,GLOBAL}_DIFF_ALLOWED code,
69cb5925 7599 it was PA specific and is no longer needed (it's now handled
3e411021
JL
7600 within the PA backend).
7601 * config/tc-hppa.h (SEG_DIFF_ALLOWED): Delete definition.
7602 * config/tc-hppa.c (fix_new_hppa): If the subtract symbol for
7603 a fixup is $global$ change it to NULL as $global$ is really only
7604 needed long enough to determine the base type of relocation to use.
7605
240cbc57
JL
7606 * config/tc-hppa.c (create_new_subspace): Initialize subspace_defined.
7607
163aac84
JL
7608 * config/tc-hppa.c (pa-ip, case 'z'): Make field selectors work
7609 for 'z' operands (target of ble branch).
7610
1cc248d2
JL
7611Sat Nov 6 22:41:57 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7612
18c4f112
JL
7613 * config/tc-hppa.c: (update_subspace): Fix type and name of last
7614 parameter. All callers fixed.
7615 (md_begin, pa_chk_field_selector, pa_entry): Lint.
7616
1cc248d2
JL
7617 * config/tc-hppa.c (cons_fix_new_hppa): Reset field selector
7618 to default state after it's been used.
7619
88eb7ea6
JL
7620Fri Nov 5 12:08:21 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7621
7622 * config/obj-som.c (obj_som_init_stab_section): Change
7623 space/subspace sort keys for the stab sections so as to avoid
7624 bugs in the hp linker and pxdb.
7625
0f894895
JL
7626Thu Nov 4 17:00:05 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7627
7628 * write.c (chain_frchains_together): Update pointer to last
7629 frag for a segment in the seginfo structure.
7630
de074576
JW
7631Thu Nov 04 09:09:35 1993 Jeffrey Wheat (cassidy@cygnus.com)
7632
7633 * Makefile.in: Changed RUNTESTFLAGS to RUNTEST_FLAGS
7634
7635Wed Nov 3 12:16:27 1993 Ken Raeburn (raeburn@rover.cygnus.com)
7636
7637 * write.c (fixup_segment): Handle conversion of subtraction to
7638 pc-relative addressing even if pc-relative flag is already set.
7639
7640 * config/tc-m68k.c (m68k_ip_op): Use strchr, not index. Don't
7641 declare either.
7642
7643 * doc/Makefile.in (distclean): Delete intermediate files from dvi
7644 build, but not the dvi or info files.
7645 * Makefile.in (clean-here): New target; cleans up current
7646 directory only.
7647 (distclean): Use it instead of clean.
7648
7649 * read.c (s_xstab): Don't use alloca.
7650
7651 * messages.c (identify): New routine; print message identifying
7652 following messages as coming from assembler.
7653 (as_show_where, as_bad_internal, as_bad_where): Call it.
7654 (as_fatal): Don't need to identify program any more.
7655
efe8ef02
ILT
7656Tue Nov 2 18:04:11 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7657
fd4b7c25
KR
7658 * config/tc-sparc.c (sparc_ip): Add default case to reloc switch.
7659
efe8ef02
ILT
7660 * read.c (s_lcomm): Put small objects in .sbss for MIPS ELF as
7661 well as MIPS ECOFF.
7662 (get_stab_string_offset): Remove unused variable aligned.
7663
aa14e863
JL
7664Tue Nov 2 15:07:07 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7665
d6e524f3
JL
7666 * tc-hppa.c: Add %dp and %rp as synonyms for %r27 and %r2 in the
7667 predefined register table.
7668 (pa_parse_number): Handle %rp in common register shortcut code.
7669 Consistently set return value to -1 for an error. Clean up error
7670 messages and only print them when "print_errors" is true. Handle
7671 empty string case like the HP assembler -- assume a value of
7672 zero.
69cb5925 7673
20cee6d8
JL
7674 * config/ho-hpux.h: Do not include ho-sysv.h. Instead include
7675 standard hpux include files to pick up various function decls.
7676
aa14e863
JL
7677 * config/ho-hppaosf.h: Delete _IO* macros. They are defined in
7678 stdio.h. Delete bogus declaration of free. Get path to
7679 alloca-conf.h right.
7680
25270a1c
KR
7681Tue Nov 2 13:57:30 1993 Ken Raeburn (raeburn@rover.cygnus.com)
7682
7683 * expr.c (operand): Fix checks for characters following "0b" or
7684 "0f".
7685
f197d7eb
JL
7686Mon Nov 1 21:37:04 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7687
ff852e11
JL
7688 * config/obj-som.h (obj_attach_unwind_info): Define as a hook
7689 so GAS can attach unwind descriptor information to a BFD symbol.
7690 * config/tc-hppa.c (fix_new_hppa): If necessary attach unwind
7691 descriptor information to the BFD symbol.
7692 (md_apply_fix): R_HPPA_ENTRY and R_HPPA_EXIT can never be "applied",
7693 they are simply markers. Make R_HPPA_UNWIND_* handling OBJ_ELF
7694 dependent.
7695 (pa_build_unwind_subspace): Whole function is OBJ_ELF dependent.
7696 (pa_entry): Build a R_HPPA_ENTRY relocation when configured for SOM.
7697 (pa_exit): Likewise, but built a R_HPPA_EXIT relocation. Do not
7698 build "end-of-function" symbols for SOM, they are not needed.
7699
a50e9b55
JL
7700 * config/tc-hppa.c (process_exit): Create temporary symbols with
7701 correct prefixes so they can be eliminated later.
7702
49fc68a1 7703 * config/tc-hppa.c (call_info struct): Delete unused "frame" field.
69cb5925 7704 (pa_callinfo): Insert framesize into the unwind information as
49fc68a1
JL
7705 soon as it's available.
7706 (pa_build_unwind_subspace): Do not insert framesize into the unwind
7707 information here.
7708
c43d56f7
JL
7709 * Add support for marker type relocations. These mark areas
7710 of interest to the linker. ENTRY/EXIT relocations for SOM are
7711 an example of marker relocations.
7712 * write.c (write_relocs): Instead of assuming size of a relocation
7713 is 4 bytes, pick up the size from relocation itself.
69cb5925 7714 (fixup_segment): Do not complain that a value is too small for
c43d56f7
JL
7715 marker relocations.
7716
009dc5e1
JL
7717 * struc-symbol.h: Add new "sy_used" field to the symbol structure.
7718 * expr.c (operand): Set sy_used for any symbol used as an operand.
7719 (expr): Likewise for any symbol used in an expression.
7720 * config/tc-hppa.h (tc_frob_symbol): Define. Punt imported
7721 symbols which are never used and absolute symbols which local scope.
7722
f197d7eb
JL
7723 * config/obj-som.h (obj_frob_file): Define.
7724 * config/obj-som.c (obj_som_init_stab_section): Set alignment
7725 of stab sections. Make space for the special stab entry.
69cb5925 7726 (adjust_stab_sections): Adjust the special entry in the
f197d7eb
JL
7727 stabs section.
7728 (som_frob_file): New function. Simply calls adjust_stab_sections
7729 for each section.
7730
bca9cf0b
ILT
7731Mon Nov 1 17:54:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7732
7733 * config/tc-mips.c (PIC_CALL_REG, SP, FP): Define.
7734 (mips_pic, mips_cprestore_offset): New static variables.
7735 (md_pseudo_table): Handle .abicalls, .cpload, and .cprestore.
7736 Ignore .bgnb and .endb.
7737 (gp_reference): _gp_disp is never addressed off GP.
7738 (macro_build): Ignore macros while searching for insn. For cases
7739 i, j, and o, accept the reloc type as an argument rather than
7740 assuming BFD_RELOC_LO16. Don't try to convert BFD_RELOC_LO16 to
7741 BFD_RELOC_MIPS_GPREL. Added new case a.
7742 (set_at, load_register, macro): Changed calls to macro_build to
7743 pass new argument for i, j and o cases.
7744 (macro): Handle M_JAL_1, M_JAL_2 and M_JAL_A. These require
7745 special handling when generating SVR4 PIC code.
7746 (mips_ip, tc_get_register, s_frame): Use macros FP, SP, GP and AT
7747 rather than hard coded constants.
7748 (md_apply_fix): Handle BFD_RELOC_MIPS_LITERAL and
7749 BFD_RELOC_MIPS_CALL16.
7750 (s_option): Set mips_pic based on .option picN.
7751 (s_abicalls): New function; set mips_pic to 2.
7752 (s_cpload): New function; handle .cpload.
7753 (s_cprestore): New function; handle .cprestore.
7754
7755 * config/obj-ecoff.c (obj_pseudo_table): Add entries for .bgnb,
7756 .endb and .verstamp, setting them to s_ignore.
7757
d191a03c
JL
7758Sun Oct 31 00:36:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7759
47f45d66
JL
7760 * config/tc-hppa.c (subspace_dictionary_chain): Add new ssd_defined
7761 field. Define SUBSPACE_DEFINED accessor macro.
7762 (pa_subspace): Allow user to override subspace attributes for
7763 built-in subspaces. Set ssd_defined at the end of fcn -- that
7764 way the attributes can only be changed once. Pass newly allocated
7765 name to is_defined_subspace, not a pointer to the input line.
7766 Fix typo in space/subspace rework.
7767 (is_defined_subspace): Delete unused 2nd arg. All callers changed.
7768
7769 * config/tc-hppa.c (pa_import): If currently in the text segment
7770 and a symbol is imported without type information, set BSF_FUNCTION
7771 for the symbol.
20b39b6f
JL
7772 * write.c (relax_and_size_seg): Correct test to determine if
7773 the section's size was rounded up.
7774
e75acd68
JL
7775 * config/obj-som.h (obj_set_symbol_type): Define a hook so GAS
7776 can properly set all the SOM symbol types.
69cb5925 7777 * config/tc-hppa.c (pa_symbol_type): New enum to represent the
e75acd68
JL
7778 symbol types which can be set from an IMPORT/EXPORT statement.
7779 (pa_export_args): Set the pa_symbol_type type based on arguments.
7780 If defined, call obj_set_symbol_type to pass this information on
7781 to the BFD backend.
7782
69cb5925 7783 * read.c (get_stab_string_offset): Set SEC_DEBUGGING for any
d191a03c
JL
7784 stab section we make.
7785 (s_stab_generic): Likewise.
7786
12696e9c
JL
7787Sat Oct 30 14:26:20 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7788
65a7f8a6
JL
7789 * Allow backends to override the value of the fake label.
7790 * write.h (LOCAL_LABEL): Delete DOT_LABEL_PREFIX code. Instead
7791 assume backends will define LOCAL_LABEL if anything other than
7792 'L' is used to denote a local label.
7793 (FAKE_LABEL_NAME): New macro. Defines the default name used for
7794 the "fake" label.
7795 * expr.c (make_expr_symbol): Delete DOT_LABEL_PREFIX code
7796 and instead simply use the string defined by FAKE_LABEL_NAME.
7797 (operand): Likewise.
7798 * read.c (s_stab_generic): Likewise.
7799 * config/tc-hppa.h (FAKE_LABEL_NAME): Define as L$0\001 so it's
7800 known to be a local label.
7801 * config/tc-i386.h (DOT_LABEL_PREFIX): Delete.
7802 (LOCAL_LABEL, FAKE_LABEL_NAME): Define.
7803 * config/tc-m68k.h (DOT_LABEL_PREFIX): Delete.
7804 (LOCAL_LABEL, FAKE_LABEL_NAME): Define.
7805 * config/te-sco386.h (DOT_LABEL_PREFIX): Delete.
7806 (LOCAL_LABEL, FAKE_LABEL_NAME): Define.
7807
6bc14195
JL
7808 Rework space/subspace handling in PA code to fully support
7809 SOM spaces/subspaces.
7810 * config/tc-hppa.c (USE_ALIASES): New object-format dependent define
7811 to control the use of space/subspace name aliases.
7812 (update_subspace): Accept space chain entry for containing space
7813 as a new parameter. All callers changed.
7814 (pa_get_label): Use current_space rather than pa_segment_to_space.
7815 (pa_define_label): Likewise.
7816 (pa_undefine_label): Likewise.
7817 (md_begin): Change into the (possibly modified) text_section.
7818 (pa_parse_space_stmt): Create a new segment/space if create_flag
7819 is true, and the space name is not one of the two predefined spaces.
69cb5925
KR
7820 (pa_subspace): Use current_space rather than a lookup via
7821 pa_segment_to_space. Reset BFD section flags as required by
6bc14195
JL
7822 the .subspace directive. Likewise for the section alignment.
7823 Pass the current space to update_subspace and create_new_subspace.
7824 (pa_spaces_begin): Only use space/subspace aliases if USE_ALIASES
7825 is true. When not using aliases, create a BFD section for each
7826 subspace encountered. When not using aliases replace the default
7827 text, data, and bss segments with new ones.
69cb5925 7828 (create_new_subspace): When not using aliases each subspace has a
6bc14195 7829 section/segment and subsegments are not needed, so set the subsegment
69cb5925 7830 to zero.
6bc14195 7831
548ea75b 7832 * config/tc-hppa.c (pa_parse_space_stmt): If needed, call
69cb5925 7833 obj_set_section_attributes to pass space attributes to the
548ea75b
JL
7834 BFD backend.
7835 (create_new_space): Likewise.
69cb5925 7836 (create_new_subspace): Likewise for subspace attributes using
548ea75b
JL
7837 obj_set_subsection_attributes.
7838 (update_subspace): Likewise for subspace attributes using
7839 obj_set_subsection_attributes.
7840
0f3b419c
JL
7841 * config/tc-hppa.c (pa_parse_space_stmt): Get segment and sort key
7842 for $TEXT$ and $PRIVATE$ from the default space structure.
7843
9a182533
JL
7844 * config/tc-hppa.c (pa_export_args): Always set BSF_FUNCTION
7845 as appropriate for the given type.
7846
62f0841b
JL
7847 * config/tc-hppa.c (tc_gen_reloc): Preliminary stab at handling
7848 SOM relocations.
7849
d56f45f5
JL
7850 * config/tc-hppa.c (pa_comm): Delete incorrect check for symbol
7851 redefinition.
7852
3c87583d
JL
7853 * config/obj-som.[ch]: New files for SOM support. Note SOM
7854 support is not yet complete in GAS or BFD.
7855
69cb5925 7856 * config/ho-hppabsd.h: Delete IO* macros, they are defined in
12696e9c
JL
7857 stdio.h. Delete declaration of free. Include stdlib.h, unistd.h,
7858 and string.h.
7859
37ed805e
JL
7860Fri Oct 29 13:26:12 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7861
12696e9c
JL
7862 * Allow backends to override the section names used for embedded
7863 stabs support. Needed for SOM.
7864 * read.c (STAB_SECTION_NAME): Default the name of the stab section
69cb5925 7865 to ".stab".
12696e9c
JL
7866 (STAB_STRING_SECTION_NAME): Likewise for the stab strings section.
7867 (get_stab_string_offset): Is now passed the full name for the
7868 stab string section rather than a name prefix. All references
7869 changed.
7870 (s_stab_generic): New argument for the stab string section name.
7871 all references changed.
7872 (s_xstab): Append "str" to the stab section name to get the
7873 stab string section name.
7874 * config/obj-coffbfd.c (obj_coff_init_stab_section): Append "str"
7875 to stab section name to get the stab string section name. Pass
7876 the full name of the stab string section to get_stab_string_offset.
7877 * config/obj-elf.c (obj_elf_init_stab_section): Likewise.
69cb5925 7878
53c0b9e7
JL
7879 * config/tc-hppa.c (md_begin): Disable "-R" option to fold
7880 textand data segments. Warn user "-R" is unsupported on the
7881 PA.
37ed805e 7882
48ac0c90
JL
7883Thu Oct 28 12:36:13 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7884
d33ace2e
JL
7885 * config/tc-hppa.c (md_pseudo_table): Default alignment is 8 for
7886 .align and .ALIGN directives.
7887
48ac0c90
JL
7888 * config/tc-hppa.c (pa_space): Do not report an error for a .space
7889 directive which does not define a "well-known" space and does
7890 not include a space number as an argument.
69cb5925 7891
48ac0c90
JL
7892 * config/tc-hppa.c (pa_def_subspaces): Correct initialization of the
7893 "defined", "loadable", "code_only" and "space_index" fields.
7894 (pa_def_spaces): Correct initialization of the "spnum", "defined",
7895 and "private" fields.
7896
7897 * write.h (struct fix): Add new tc_fix_data field for the various
7898 backends to attach machine dependent fixup information to.
7899 * write.c (fix_new_internal): Initialize new tc_fix_data field.
7900 * config/tc-hppa.c (hppa_fix_struct): Delete unnecessary fix_fixP and
7901 fx_next fields.
7902 (hppa_find_hppa_fix): Delete unnecessary function. Fix all
69cb5925 7903 callers to get HPPA fixup information from the tc_fix_data field
48ac0c90
JL
7904 in the GAS fixup.
7905 (hppa_fix_root): Delete unnecessary variable.
7906 (fix_new_hppa): Attach HPPA fixup data to the GAS fixup.
7907
7908 * config/tc-hppa.c (pa_set_start_symbol); Delete unwanted
7909 function. Fix all callers.
7910 (subspace_dictionary_chain): Delete unused ssd_start_sym field.
7911
7912 * config/tc-hppa.c (hppa_fix_adjustable): New function to determine
7913 if a particular fixup is adjustable.
7914 * config/tc-hppa.h (tc_fix_adjustable): Call hppa_fix_adjustable to
7915 perform the real work.
7916
7917 * config/tc-hppa.h (RELOC_EXPANSION_POSSIBLE): Move definition out
7918 of OBJ_XXX conditionals.
7919 (MAX_RELOC_EXPANSION): Likewise.
7920
7921 * config/tc-hppa.c (log2): Renamed from is_power_of_2. Fix all
7922 callers. Now returns log2 (N) for positive N which are an exact
7923 power of two or -1 for an error.
7924
69cb5925 7925 * config/tc-hppa.c (pa_callinfo): Range check values provided for
48ac0c90
JL
7926 ENTRY_GR, ENTRY_FR and ENTRY_SR. Properly adjust vaues before
7927 inserting them into the unwind table.
7928
7929 * config/tc-hppa.c (NEEDS_FIXUP): Delete definition and all references.
7930 (hppa_gen_reloc_type): New object format dependent macro.
7931 (pa_ip): Delete tons of code which was either OBJ_SOM or OBJ_ELF
7932 conditional. The code can (and will) be shared between SOM & ELF
7933 formats in the near future.
7934 (cons_fix_new_hppa, md_apply_fix_1): Likewise.
7935 (pa_build_unwind_subspace, process_exit, pa_exit): Likewise.
7936 (tc_gen_reloc): Use hppa_gen_reloc rather than an object format
7937 specific call.
7938
7939 * config/tc-hppa.c (pa_comm): Set the segment for a common symbol
7940 to bfd_und_section.
7941
7942 * config/obj-elf.h (obj_elf_version): Add extern prototype.
7943
7944 * configure.in (hppa-*-bsd*): New configuration.
7945 BFD is always used for GAS generating SOM objects.
7946
7947 * write.c (adjust_reloc_syms): Set sy_used_in_reloc if an
7948 adjustment is rejected by the target machine.
7949
7950 * config/tc-hppa.c (pa_big_cons): Delete function and its
7951 declaration. All callers changed to use pa_cons.
7952
7953 * write.c (fixup_segment): Fix indention and open/close brace
7954 problem.
7955
7956 From Pete Hoogenboom:
7957 * config/tc-hppa.c (md_atof): Return a NULL on success rather than
7958 an empty string.
7959
3515a504
JL
7960 * config/tc-hppa.c (pa_parse_space_stmt): Advance
7961 input_line_poitner when an invalid argument is encountered.
7962
6121fb06
ILT
7963Thu Oct 28 13:09:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7964
7965 * config/tc-a29k.c (md_begin): When opcodes are mashed together in
7966 the table, require that the one without bit 0x1000000 set come
7967 first. Require further that it be case 'b' or 'P'. The a29k
7968 opcode table already meets these constraints.
7969 (machine_ip): When handling case 'i' or 'A', make sure that the
7970 appropriate opcode really exists by looking at the next entry in
7971 the opcode table.
7972
56c96faa
ILT
7973Wed Oct 27 11:48:56 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7974
729f4bba
ILT
7975 * config/tc-m68k.c (m68k_ip): Adjust offsets for PC relative
7976 fixups. Add 6 for long 7.3 case, 2 for short 7.2 case.
7977
007ff46b
ILT
7978 * config/obj-ecoff.c (obj_ecoff_ent): Ignore an optional number
7979 after a .ent directive.
7980
d1ee509b
ILT
7981 * config/tc-mips.c (mips_ip): Handle '>' case (shift amount
7982 between 32 and 63 for double shift instruction). Do & 0x1f rather
7983 than % 32.
7984 (printInsn): Handle '>'.
56c96faa 7985
fa20b8bf
ILT
7986Tue Oct 26 16:58:36 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7987
5694ad93
ILT
7988 * config/tc-ns32k.c (tc_aout_fix_to_chars): Output the symbol
7989 number in the right place. Untested. Probably does not work for
7990 cross assembly. From cagney@cs.adelaide.edu.au (Andrew Cagney).
7991
f3751617
ILT
7992 * config/tc-m68k.c (md_apply_fix_2): Error if a short branch uses
7993 an illegal offset of 0 or -1.
7994
fa20b8bf
ILT
7995 * config/obj-elf.c (obj_elf_init_stab_section): Align .stab
7996 section to a longword boundary.
7997
4da7942d
KR
7998Tue Oct 26 10:24:31 1993 Ken Raeburn (raeburn@cygnus.com)
7999
8000 * Makefile.in (CHECKFLAGS): Pass down RUNTESTFLAGS.
8001
8002 From Jeff Law:
8003 * config/tc-hppa.c (tc_gen_reloc): ELF32_HPPA_R_ADDEND ->
8004 HPPA_R_ADDEND.
8005
fd4b7c25
KR
8006Mon Oct 25 14:06:17 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8007
8008 * config/tc-sparc.c (sparc_ip): Fix up membar argument handling.
8009
24934035
SC
8010Mon Oct 25 11:17:58 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
8011
8e5afd4f
SC
8012 * config/tc-sh.c (build_Mbytes): Write the relocs to the correct
8013 address. (md_assemble): Make error handling a bit more graceful.
8014 (md_apply_fix): Don't warn on non aligned displacement.
fd4b7c25 8015
24934035
SC
8016 * config/tc-z8k.c (get_specific, built_bytes): Understand all the
8017 aspects of lda.
8018
84678d16
KR
8019Mon Oct 25 10:20:31 1993 Ken Raeburn (raeburn@rover.cygnus.com)
8020
8021 * doc/Makefile.in (install-info): Use "$<*" so VPATH will find
8022 as.info* even if they're in $(srcdir) (e.g., for FSF
8023 distributions).
8024
8025 * write.c (write_relocs): For relocs that are pc_relative and
8026 pcrel_offset and not partial_inplace, adjust reloc->addend to
8027 compensate for a bfd_perform_relocation bug.
8028
8029 * config/tc-sparc.h: Removed remaining non-BFD_ASSEMBLER code.
8030 * config/tc-sparc.c: Ditto.
8031 (tc_gen_reloc): Include fx_offset for pcrel fixups.
8032
52aa70b5
JW
8033Sun Oct 24 16:49:00 1993 Jim Wilson (wilson@x1.cygnus.com)
8034
8035 * tc-mips.c (md_pseudo_table): Add dword pseudo op.
8036
ab0751c8
DZ
8037Fri Oct 22 20:40:56 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
8038
8039 * messages.c: replaced all variables called Format with 'format',
8040 for consistency throughout
8041
8042 * configure.in: handle mips*- instead of mips, mips*el for little
8043 endian configurations
8044
8efed14f
ILT
8045Fri Oct 22 14:45:49 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8046
8047 * input-scrub.c (physical_input_file, logical_input_file,
8048 physical_input_line, logical_input_line): Made static.
8049 (as_where): Return current file name and line number, don't print
8050 them out.
8051 * messages.c (as_show_where): New static function. Other
8052 functions use it instead of as_where.
8053 (as_bad_internal): New static function.
8054 (as_bad): Use as_bad_internal.
8055 (as_bad_where): New function, like as_bad but taking a file name
8056 and line number.
8057 * as.h (as_bad_where): Declare.
8058 (as_where): Change prototype for new arguments.
8059 * write.h (fixS): Added fields fx_file and fx_line.
8060 * write.c (fix_new_internal): Save file and line number in fix.
8061 (fixup_segment): Use as_bad_where, not as_bad.
8062 * input-file.c (f_in, file_name): Made static.
8063 * cond.c (struct file_line): Just use file and line fields.
8064 (s_else): Use as_where and as_bad_where, not get_file_line and
8065 set_file_line.
8066 (get_file_line, set_file_line): Removed.
8067 * listing.c (listing_newline): Use as_where.
8068 * config/obj-coffbfd.c (obj_coff_init_stab_section): Use as_where.
8069 * config/obj-ecoff.c (add_file): Use as_where.
8070 * config/obj-elf.c (obj_elf_init_stab_section): Use as_where.
8071 * config/tc-m68k.c (md_apply_fix_2): Use as_bad_where.
8072 * config/tc-mips.c (tc_gen_reloc): Use as_bad_where, not assert.
8073
efa0c22e
KR
8074Thu Oct 21 12:52:01 1993 Ken Raeburn (raeburn@cygnus.com)
8075
8076 * config/tc-m68k.h: Don't define REGISTER_PREFIX or
8077 OPTIONAL_REGISTER_PREFIX if either is already defined.
8078
8079 * config/tc-m68k.c (m68k_ip): Delete some code in "#if 0".
8080
8081 * configure.in: Set bfd_gas for all sparc targets. Added facility
8082 for keeping or rejecting configurations still under development;
8083 default is to assume production environment, and reject configs
8084 still being worked on. Mark Elf configurations (except sparc and
8085 i386) as developmental. Deleted cases matching some generic names
8086 in favor of more specific names. (E.g., when we get Alpha
8087 support, we'll still only support VMS for Vax.)
8088
8089 * config/tc-sparc.h (md_end): New macro.
8090 * config/tc-sparc.c (md_end): Function deleted.
8091 (BFD_RELOC_*): Delete macros that used to help keep the non-bfd
8092 version compiling. All sparc targets will use bfd now.
8093 * tc.h (md_end): Don't declare if it's defined as a macro.
8094
8095 Changes from Jeff Law and Peter Hoogenboom:
8096
8097 * read.c (next_char_of_string): Limit octal character constants to
8098 three digits.
8099
8100 * config/tc-hppa.h: Major cleanup. Use GNU-style comments. Warn
8101 against placing additional object-file dependent code here. Warn
8102 against contaminating all of GAS with the internals of tc-hppa.c
8103 through inclusion of tc-hppa.h. Delete all forward declarations
8104 for functions only used within tc-hppa.c, likewise for structures,
8105 variables, and #defines. Try to group OBJ_ELF and OBJ_SOM
8106 conditional code in a few small places.
8107
8108 * config/tc-hppa.c: Major cleanup. Use GNU-style comments. Group
8109 structures, global variables, forward declarations together.
8110 Reduce (or in some cases eliminate) OBJ_ELF and OBJ_SOM
8111 conditional code -- try to group conditional code together
8112 into a few places. Make all functions and variables which
8113 are only used within tc-hppa.c static. PARAMize all functions.
8114 Add comments to functions. Delete unused functions, variables,
8115 #defines, etc. Delete unused members within structures. Delete
8116 ldil;ble hacks -- it is believed they were installed to work
8117 around old gas bugs. Avoid using mixed case for local
8118 functions, variables, and structures. Fix formatting problems
8119 not found by GNU-indent. Add FIXME notices for things which
8120 should be worked on the near future. Delete lots of old
69cb5925 8121 useless (1.36 PA-SOM) code.
efa0c22e
KR
8122
8123 * config/tc-hppa.c: (fix_new_hppa): Initialize the fx_r_type
8124 field of the fixS structure. Needed to build unwind
8125 descriptors correctly.
8126
8127 * write.c: (fixup_segment): Allow expressions such as
8128 sym1-sym2+const as long as sym2 is $global$.
8129
8130 * write.c (adjust_reloc_syms): Provide a hook so that a target
8131 cpu configuration can reject certain relocation reductions.
8132 * tc-hppa.h (tc_fix_adjustable): New macro. Only accept relocations
8133 which do not involve function symbols.
8134
8135 * config/tc-hppa.h: Reindent with GNU-indent. Delete references
8136 to OBJ_OSFROSE. Fix typos (OBJ_SOME -> OBJ_SOM). Delete unused
8137 STAB_FIXUP macro.
8138 * config/tc-hppa.c: Likewise.
8139
8140 * config/tc-hppa.c (md_apply_fix_1): Use elf_symbol_type, instead
8141 of elf32_symbol_type.
8142 (pa_export_args): Likewise.
8143 (elf_hppa_final_processing): Likewise.
8144 (pa_desc): Do not call obj_elf_desc. (Is pa_desc even needed
8145 anymore?)
8146 (hppa_tc_make_sections): Do not declare elf_get_symtab_map any
8147 ore.
8148
8149 * config/tc-hppa.c: (md_section_align): Align all sections to
8150 a multiple of the section alignment rather than always a
8151 multiple of 8.
8152
8153 * config/tc-hppa.c (hppa_tc_symbol): If the argument relocation
8154 bits are zero (eg they specify no relocations), then do not even
8155 bother adding their entries to thesymextn section.
8156
7766838e
ILT
8157Thu Oct 21 15:44:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8158
8159 * config/tc-sparc.c (md_parse_option): Accept and ignore -sparc
8160 option, which is used by the SunOS make default .s.o rule.
8161
fd4b7c25
KR
8162Wed Oct 20 12:26:33 1993 Ken Raeburn (raeburn@rover.cygnus.com)
8163
8164 * config/tc-sparc.c (sparc_ip, label "immediate"): Convert relocs
8165 operating on upper 32 bits of immediate constants to lower-half
8166 relocs with adjusted constants.
8167
dff60b7d
ILT
8168Tue Oct 19 18:13:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8169
8170 * config/tc-m68k.h (AOUT_MACHTYPE): Define to be external variable
8171 m68k_aout_machtype.
8172 * config/tc-m68k.c (omagic): Remove obsolete and unused variable.
8173 (m68k_aout_machtype): New variable, if OBJ_AOUT.
8174 (md_assemble): Initialize m68k_aout_machtype based on
8175 current_architecture, if OBJ_AOUT.
8176 (md_parse_option): Remove obsolete reference to omagic.
8177
c17cd709
ILT
8178Thu Oct 14 16:51:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8179
dd3f1f76
ILT
8180 * config/tc-mips.c (md_pseudo_table): Ignore .livereg pseudo-op.
8181 (s_option): Ignore .option O* and .option pic*.
8182 (s_ent): Skip whitespace between symbol and optional digit.
dff60b7d 8183 (my_getSmallExpression): Handle ($xx) correctly: assume 0($xx).
dd3f1f76 8184
54508138
ILT
8185 * app.c (do_scrub_next_char): Always accept 'x' and 'X' as escape
8186 characters in state 6.
8187 * read.c (next_char_of_string): Accept \Xh* and \xh* where h* are
8188 hexidecimal digits.
8189
c17cd709
ILT
8190 * config/tc-i386.c (md_apply_fix_1): Make cross segment calls work
8191 for ELF by hacking around bizarre bfd_perform_relocation behaviour
8192 that I don't dare change.
8193
ad660eb1
ILT
8194Thu Oct 14 11:33:25 1993 Michael Meissner (meissner@osf.org)
8195
8196 * config/tc-i386.c: (md_begin): Do not zero static arrays. Don't
8197 call strchr for each character to see if it is a special char,
8198 instead add a second loop over special_chars. Set alignment
8199 of text, data and bss sections to 4.
8200 (pi, te, pt, pe, ps): Add declarations so that DEBUG386 can be
8201 used again.
8202 (reloc): Don't return 8 and 16 bit non-PC relative relocations on
8203 ELF, since the ELF object format does not have these type of
8204 relocations. Change the abort into as as_bad and return
8205 BFD_RELOC_NONE to silence compiler warnings.
8206 (md_assemble): Keep track of the instruction size. Allow white
8207 space between the $ and the constant for compatibility with older
8208 gases and other assemblers.
8209 (i386_operand): Skip spaces between $ and expression.
8210 (tc_gen_reloc): Don't allow anything but 32 bit relocations on
8211 ELF. Convert abort into an as_bad and assert into as_fatal.
8212
132239bf
KR
8213Wed Oct 13 16:50:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8214
8215 * config/obj-coffbfd.c (fixup_segment) [DIFF_EXPR_OK]: If
8216 sub_symbolP is in the current segment, convert to a PC-relative
8217 fixup and discard the symbol.
8218
b7cbb59f
ILT
8219Wed Oct 13 14:00:02 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8220
463b1851
ILT
8221 * config/obj-ecoff.c (ecoff_build_symbols): Handle st_End symbol
8222 for st_StaticProc just like st_Proc.
8223
b7cbb59f
ILT
8224 * write.c (relax_and_size_all_segments): Moved #endif for OBJ_BOUT
8225 so that OBJ_BOUT doesn't forget to adjust all the fragments in the
8226 .bss section.
8227
f2a663d3
ILT
8228Tue Oct 12 17:26:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8229
8230 * config/tc-mips.c: If OBJ_ELF, include elf/mips.h.
8231 (mips_regmask_frag): New static variable, if OBJ_ELF.
8232 (md_begin): If OBJ_ELF, create .reginfo section and set
8233 mips_regmask_frag to a frag.
8234 (mips_elf_final_processing): New function, if OBJ_ELF. Set
8235 mips_regmask_frag to register mask information.
8236 * config/tc-mips.h (elf_tc_final_processing): New macro, defined
8237 if OBJ_ELF.
8238
99024047
KR
8239Tue Oct 12 03:33:26 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8240
2145a183
KR
8241 * messages.c (as_fatal): Use myname when printing messages.
8242
99024047
KR
8243 * config/tc-i960.c (md_begin): Use null pointer, not empty string,
8244 as initial "return" value in case hashing isn't needed.
8245
8246 * config/tc-a29k.c (md_atof): Return null, not empty string, on
8247 success.
8248 * config/tc-h8300.c (md_atof), config/tc-h8500.c (md_atof),
8249 config/tc-hppa.c (md_atof), config/tc-i860.c (md_atof),
8250 config/tc-i960.c (md_atof), config/tc-m88k.c (md_atof),
8251 config/tc-ns32k.c (md_atof), config/tc-sh.c (md_atof): Ditto.
8252
8253Mon Oct 11 16:46:31 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
2dd45209
SC
8254
8255 fix for pr 3571
8256 * config/tc-h8300.c (get_specific): Special action if 8 bit
8257 address seen. (check_operand): Don't complain if truncating top
8258 bits of an 8 bit address. (build_bytes): Allow an immediate and
8259 an absolute in the same insn.
8260
f37449aa
ILT
8261Mon Oct 11 17:18:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8262
8263 * write.c (write_contents): Don't crash if seginfo is NULL.
8264
8265 * config/obj-ecoff.c (ecoff_frob_file): Write out register masks
8266 by modifying .reginfo section, not by directly modifying BFD
8267 backend data.
8268
fec552ce
DZ
8269Mon Oct 11 14:11:32 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
8270
8271 * config/ho-sunos.h: remove extern time declaration
8272
8d3be803
KR
8273Mon Oct 11 16:14:43 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8274
8275 * messages.c (as_fatal): Do mention that it's the assembler that
8276 got the fatal error.
8277
88225433
ILT
8278Fri Oct 8 14:09:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8279
1aa6938e
ILT
8280 * config/tc-mips.c (mips_gprmask, mips_cprmask): New variables to
8281 hold register masks.
8282 (md_begin): Initialize them to zero.
8283 (append_insn): Update mips_gprmask and mips_cprmask. Also add
8284 register variables pinfo and prev_pinfo.
8285 * config/tc-mips.h (mips_gprmask, mips_cprmask): Declare.
8286 * config/obj-ecoff.c (ecoff_frob_file): If TC_MIPS, set gprmask
8287 and cprmask from mips_gprmask and mips_cprmask.
8288
88225433
ILT
8289 * config/tc-mips.h: Define TARGET_FORMAT if OBJ_ELF.
8290 * config/tc-mips.c (GPOPT): Define if OBJ_ECOFF or OBJ_ELF.
8291 (various): Change all references to GP references to apply if
8292 GPOPT, not if OBJ_ECOFF.
8293 (s_change_sec): Rearrange somewhat. If OBJ_ELF, use .rodata
8294 instead of .rdata. If OBJ_ELF, set section flags for .rodata and
8295 .sdata sections.
8296 (s_frame, s_loc, s_mask): Comment out entire functions, rather
8297 than just body. They're not used anyhow.
8298 * configure.in: Set cpu_type to mips for mips*. Accept
8299 mips-*-elfl* and mips-*-elf*.
8300
17a0da33
ILT
8301Thu Oct 7 18:36:29 1993 Michael Meissner (meissner@osf.org)
8302
8303 * config/obj-elf.c (obj_elf_common): Allow the alignment field to
8304 not be specified.
8305
80aab579
ILT
8306Wed Oct 6 13:01:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8307
abdad6bc
ILT
8308 * config/tc-mips.c (cons_fix_new_mips): New function. Turn
8309 BFD_RELOC_64 into BFD_RELOC_32.
8310 * config/tc-mips.h (TC_CONS_FIX_NEW): Define.
8311 (cons_fix_new_mips): Declare.
8312
80aab579
ILT
8313 Changes to let cons handle bignums like general expressions.
8314 * expr.h (expressionS): New field X_unsigned.
8315 * expr.c (operand): Initialize X_unsigned to 1. Set it to 0 for
8316 unary minus case.
8317 (expr) Fix typo resultP to right if missing operand. Set
8318 X_unsigned to 1 when building new expression.
8319 * read.c (potable): Make "octa" and "quad" call cons, not
8320 big_cons.
8321 (cons): Handle bignums. If given an O_constant (small integer) to
8322 fill a big space, turn it into a bignum.
8323 (parse_bitfield_cons): Set X_unsigned field.
8324 (bignum_low, bignum_limit, bignum_high, grow_bignum, big_cons):
8325 Removed.
8326 * read.h (big_cons): Remove prototype.
8327 * symbols.c (resolve_symbol_value): Don't give a warning if a
8328 symbol in expr_section can not be resolved.
8329 (S_SET_VALUE): Clear X_unsigned.
8330 * write.c (write_object_file): If resolve_symbol_value failed on a
8331 symbol we are writing out, give a warning.
8332 * config/tc-h8500.c (parse_reglist): Set X_unsigned.
8333 * config/tc-hppa.c (md_pseudo_table): Change "octa" and "quad" to
8334 call pa_cons, not pa_big_cons.
8335 (pa_big_cons): Remove.
8336 * config/tc-hppa.h (pa_big_cons): Remove declaration.
8337 * config/tc-i960.c (md_pseudo_table): Change "quad" to call cons,
8338 not big_cons.
8339
8340Tue Oct 5 10:53:36 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
8341
8342 * doc/as.texinfo (Copying): new node, to handle the recent changes
8343 in the texinfo/gpl.texinfo file
8344
4f5666c5
ILT
8345Mon Oct 4 17:10:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8346
8347 * read.c (big_cons): Handle "0" correctly.
8348
8349 * config/tc-mips.c (md_begin): Set target_big_endian correctly.
8350
8208ab5a
KR
8351Mon Oct 4 15:37:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8352
8353 * config/tc-m68k.c (m68k_ip): Mode 7.3 operand using PC should
8354 have pc-relative fixup.
8355 (md_parse_option): Move "-k" case down near "-pic" case.
8356
31909d40
KR
8357 * configure.in: Alphabetize list of cpu type alternatives. Enable
8358 OS values of "linux*elf*" and "linux*coff*" to select those
8359 formats, with linux emulation. Don't bother checking for upper-
8360 or mixed-case versions of "ose".
8361
8208ab5a
KR
8362Thu Sep 30 11:05:35 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
8363
8364 * config/z8k.c (md_pseudo_table): add "unseg".
8365
6cc87fbb
RP
8366Wed Sep 29 16:15:11 1993 K. Richard Pixley (rich@sendai.cygnus.com)
8367
8368 * config/m88k-opcode.h (m88k_opcodes): correct a few mistakes
8369 found while extending the dissassembler.
8370
8f3956b3
SS
8371Tue Sep 28 12:02:04 1993 Stan Shebs (shebs@rtl.cygnus.com)
8372
8373 * configure.in: Split i386 LynxOS out from other coff targets,
8374 add a specific Lynx emulation.
8375 Add m68k LynxOS target.
8376 * config/tc-i386.c: Define specific Lynx target format.
8377 * config/tc-m68k.c: Define specific Lynx target format.
8378 * config/te-lynx.h: New file.
8379
8380 * config/obj-coffbfd.h: Don't set TARGET_FORMAT to be
8381 "coff-{i386,m68k}" if TARGET_FORMAT already defined.
8382 (INIT_STAB_SECTION): Define.
8383 * config/obj-coffbfd.c: Include <time.h>.
8384 (write_object_file): Look for .stab sections and call
8385 adjust_stab_section.
8386 (adjust_stab_section): New function, fills in the first symbol
8387 of a stab section with number of symbols and string table size.
8388 (obj_coff_init_stab_section): New function, creates the initial
8389 symbol for a stab section.
8390
43029a8f
KR
8391Mon Sep 27 15:21:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8392
8393 * config/atof-vax.c (md_atof): Return null on success instead of
8394 empty string.
8395 * config/atof-tahoe.c (md_atof): Ditto.
8396 * read.c (float_cons): Expect a null pointer for success, not an
8397 empty string.
8398
8399 * hash.c (hash_insert, hash_jam, hash_grow): Return null pointer
8400 on success, instead of empty string. All callers changed.
8401
8402 * config/tc-vax.c: Use PARAMS in declarations.
8403 (vip_op): Use NULL instead of empty string for success in error
8404 and warning fields.
8405
b7318ac4
KR
8406Sun Sep 26 23:45:29 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8407
b9790da8
KR
8408 * expr.c (expr) [DIFF_EXPR_OK]: Permit subtraction of two symbols
8409 in different defined segments.
8410
b7318ac4 8411 * write.c (relax_segment): Localize "aim" variable. If
132239bf 8412 DIFF_EXPR_OK, don't impose checks on symbol segment types.
b7318ac4
KR
8413 (fixup_segment) [DIFF_EXPR_OK]: If sub_symbolP is in the current
8414 segment, convert to a PC-relative fixup and discard the symbol.
8415
8416 * config/tc-m68k.c (flag_want_pic): New variable, mostly ignored.
8417 (md_parse_option) [TE_SUN3]: Set it for "-k".
8418 (m68k_ip): Generate proper fixup for mode 7.3.
8419 * config/tc-m68k.h (DIFF_EXPR_OK): Define.
8420
c996b199
KR
8421Sat Sep 25 05:08:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8422
8423 * config/tc-m68k.c (struct m68k_incant, getone, gettwo): Moved
8424 earlier in the file.
8425 (insop, add_exp): Now defined as functions, for readability.
8426 (insop): Now takes two arguments; callers changed.
8427
6d6b97b7
RP
8428Fri Sep 24 12:37:59 1993 K. Richard Pixley (rich@sendai.cygnus.com)
8429
58f3e8a9
RP
8430 * config/tc-m88k.c (get_o6): new function.
8431 (get_bf, get_cmp, get_cnd, get_cr, get_fcr, get_imm16, get_reg,
8432 get_vec9, getval, get_pcr, calcop, match_name): make static and
8433 prototype.
8434 (s_file): remove extraneous forward decl.
8435 (md_begin): add const to retval decl.
8436 (calcop): cope with instructions without arguments. Handle 'o'
8437 type argument, the o6 field of the prot insn.
8438 (md_estimate_size_before_relax): return a dummy value.
8439
6d6b97b7
RP
8440 * config/m88k-opcode.h (m88k_opcodes): comment change; o6 field is
8441 in bits 10 through 7. flt.[dxs]s requires an r register in the
8442 second argument. New instruction lda.x. New instruction muls
8443 (alias for mul).
8444
8445Fri Sep 24 13:43:30 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8446
8447 * Makefile.in (distclean): Recurse like clean.
8448 * doc/Makefile.in (distclean): New target.
8449
8450 * config/tc-mips.c (md_begin): Set BFD architecture and machine
8451 based on MIPS ISA level.
8452
8453Thu Sep 23 17:58:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8454
8455 * as.c (main): "exhausted", not "exhuasted".
8456
8457 * struc-symbol.h (struct symbol): Add sy_used_in_reloc field.
8458 * write.c (adjust_reloc_syms): Set sy_used_in_reloc.
8459 (write_object_file): Never strip symbols with sy_used_in_reloc
8460 set.
8461
8462 * config/obj-elf.c (obj_elf_section): Rewrote to handle both
8463 Solaris and SVR4 style .section pseudo-ops.
8464 (obj_elf_ident): Set SEC_READONLY for .comment section.
8465 * config/tc-sparc.c (md_apply_fix): If this is ELF, and we're
8466 generating a reloc, don't apply a fix.
8467
6110df28
KR
8468Thu Sep 23 13:16:58 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8469
8470 * config/obj-coffbfd.c (relax_align): Now static.
8471
9bd0d649
ILT
8472Mon Sep 20 19:23:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8473
8474 * read.c (get_stab_string_offset): Make non-static. Make
8475 arguments const. Don't align strings to 4 byte boundaries.
8476 * read.h: Declare get_stab_string_offset.
8477 * config/obj-elf.c (obj_elf_section): Set SEC_ALLOC as well as
8478 SEC_LOAD for progbits section.
8479 (obj_elf_init_stab_section): New function.
8480 (adjust_stab_sections): Add casts to avoid warnings.
8481 * config/obj-elf.h (INIT_STAB_SECTION): Call
8482 obj_elf_init_stab_section.
8483 (OBJ_PROCESS_STAB): Removed definition.
8484
80903ca6
ILT
8485Fri Sep 17 18:12:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8486
8487 * config/obj-elf.h (S_GET_SIZE): Define.
8488 (obj_frob_forward_symbol): Define.
8489 * config/tc-i386.c (line_comment_chars): Initialize in all cases.
8490
13998021
ILT
8491Thu Sep 16 14:23:08 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8492
9bd0d649 8493 * tc.h: Declare tc_gen_reloc differently depending upon
13998021
ILT
8494 RELOC_EXPANSION_POSSIBLE.
8495 * config/obj-elf.c (obj_elf_section): Only set flags when first
8496 creating the section.
8497
8498Wed Sep 15 12:15:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8499
8500 * config/tc-mips.c (append_insn): Don't swap a trap instruction
8501 with a branch.
8502
4f0bccc7
ILT
8503Tue Sep 14 13:31:04 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8504
90397ff8
ILT
8505 * config/obj-elf.c (obj_elf_data, obj_elf_text): New functions;
8506 set previous_section and previous_subsection and then call s_data
8507 and s_text, respectively.
8508 (obj_pseudo_table): Add data and text.
8509 (obj_elf_section): Add SEC_LOAD to default initialization of
8510 flags. Treat .rodata1 like .rodata. Set SEC_LOAD as well as
8511 SEC_ALLOC for "alloc" string. Don't bother trying to find the
8512 section; just use subseg_new.
8513
4f0bccc7
ILT
8514 * read.c (change_to_section): Removed. This is now done by
8515 subseg_new.
8516 (get_stab_string_offset): Rearranged somewhat. Create the section
8517 using subseg_new. Store the string index in seg_info, rather than
8518 in a static variable. Force the first string to be empty. Use
8519 frag_more rather than FRAG_APPEND_1_CHAR.
8520 (s_stab_generic): Rewrote.
8521 * subsegs.h (segment_info_type): Added stabu union.
8522 * subsegs.c (subseg_new): Initialize stab_string_size to 0.
8523 * config/obj-aout.c: Don't include aout/stab_gnu.h.
8524 (obj_aout_stab, obj_aout_desc): Removed.
8525 (obj_pseudo_table): Removed desc and stabX entries.
8526 * config/obj-bout.c: Same changes as config/obj-aout.c.
8527 * config/obj-bout.h (S_SET_TYPE): Define.
8528 (tc_bout_fix_to_chars): Declare.
8529 * config/obj-coff.c (obj_coff_stab): Removed.
8530 (obj_pseudo_table): Removed desc and stabX entries.
8531 * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define.
8532 * config/obj-coffbfd.c (current_stab_symbol): Removed.
8533 * config/obj-coffbfd.h (obj_symbol_type): Removed n_strx, n_type,
8534 n_other, n_desc and n_value fields.
8535 (S_{S,G}ET_{OFFSET,OTHER,TYPE,DESC}): Removed.
8536 (MAKE_STAB_SYMBOL): Removed.
8537 * config/obj-ecoff.c (obj_ecoff_stab): Renamed to ecoff_stab.
8538 Changed arguments and removed parsing code.
8539 (obj_pseudo_table): Removed stabX entries.
8540 * config/obj-ecoff.h (ecoff_stab): Declare.
8541 (OBJ_PROCESS_STAB): Define.
8542 * config/obj-elf.c: Don't include aout/stab_gnu.h.
8543 (obj_elf_stab, obj_elf_xstab, obj_elf_desc,
8544 elf_stab_symbol_string, elf_stab_symbol, obj_elf_stab_generic):
8545 Removed.
8546 (obj_pseudo_table): Removed desc, stabX and xstabs entries.
8547 (obj_elf_version): Use subseg_new, not bfd_make_section. Don't
8548 set SEC_LOAD for .note section.
8549 (adjust_stab_sections): Get frag pointer from seg_info, rather
8550 than looking through frags.
8551 * config/obj-elf.h (S_{S,G}ET_{OTHER,TYPE,DESC}): Removed.
8552 (SEPARATE_STAB_SECTIONS, INIT_STAB_SECTION, OBJ_PROCESS_STAB):
8553 Define.
8554 * config/obj-vms.c (obj_aout_stab): Removed.
8555 (obj_pseudo_table): Removed stabX entries.
8556 * config/obj-vms.h (S_SET_TYPE): Define.
8557
8558 * as.h: Declare listing.
8559 * read.c: Don't declare listing.
8560 (emit_expr): Cast fix_new_exp argument.
8561 (parse_bitfield_cons): Correct printf format.
8562 * symbols.c (symbol_new): Add cast to avoid warning.
8563 * write.h: Declare text_last_frag and data_last_frag.
8564 * config/obj-bout.c (obj_bout_line): Added dummy argument.
8565 * config/obj-coffbfd.c: Add some casts to avoid warnings.
8566 * config/tc-a29k.c: Likewise.
8567 * config/tc-i960.c: Likewise. Also fully bracket structure
8568 initializations, fix printf formats, and remove unused variables.
8569
604633ae
ILT
8570Mon Sep 13 16:48:38 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8571
8572 * read.c (s_desc): Only compile and use if S_SET_DESC is defined.
8573 * struc-symbol.h: Declare verify_symbol_chain and
8574 verify_symbol_chain_2 even if not SYMBOLS_NEED_BACKPOINTERS.
8575 * symbols.c (verify_symbol_chain): Removed useless expression.
8576 * write.c (headers, the_object_file): Only use if not
8577 BFD_ASSEMBLER and not BFD.
8578 (fixup_segment, cvs_frag_to_fill): Only use if BFD_ASSEMBLER or
8579 not BFD.
8580 (merge_data_into_text): Only use if BFD_ASSEMBLER or (not BFD and
8581 not OBJ_AOUT).
8582 * write.h: Declare relax_segment.
8583 * config/obj-coffbfd.c (stack_pop, stack_push, stack_init): Made
8584 static.
8585 (stack_top): Commented out, since it's not used.
8586 Fixed up pseudo-op functions to take an ignored int argument.
8587 (size_section): Added default BAD_CASE to switch.
8588 Changed bzero calls to memset.
8589 * config/obj-coffbfd.h (S_IS_LOCAL): Call strchr on S_GET_NAME
8590 (s), not on s itself.
8591 * config/tc-a29k.c (s_use): Take ignored int argument. Only
8592 define if OBJ_COFF is not defined.
8593 * config/tc-i386.c: (fits_in_signed_byte, smallest_imm_type): Make
8594 argument signed again.
8595 * config/tc-m68k.c (s_bss, s_even, s_proc): Take ignored int
8596 argument.
8597 (m68k_ip): Fully bracket initialization of archs.
8598 Correct several formats for __LINE__ to be %d rather than %s.
8599 (init_table): Fully bracket initialization.
8600 Cast values larger than 0x7f assigned to fr_opcode to char.
8601
8602 * subsegs.c: Renamed non-BFD_ASSEMBLER subseg_new to subseg_set.
8603 Wrote non-BFD_ASSEMBLER subseg_new. Now subseg_new always takes a
8604 section name, and subseg_set always takes a segT. Changed all
8605 callers as appropriate.
69cb5925 8606 * config/obj-coffbfd.c (change_to_section): Renamed to
604633ae
ILT
8607 obj_coff_add_segment. Corrected. Made callers use subseg_new.
8608 * config/obj-coffbfd.h (obj_segment_name, obj_add_segment):
8609 Define.
8610
54e3e909
DE
8611Mon Sep 13 13:15:03 1993 Doug Evans (dje@canuck.cygnus.com)
8612
8613 * config/tc-sparc.h (LOCAL_LABEL): Remove test for name[0] == 'L'.
8614
58d4951d
ILT
8615Fri Sep 10 11:22:08 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8616
8617 * config/obj-elf.h (S_SET_SIZE): Actually set the size.
8618
8619 Gcc lint.
54e3e909 8620 * Added a number of casts to function calls.
58d4951d
ILT
8621 * app.c (do_scrub_begin), as.c (main), expr.c (integer_constant,
8622 operand, expr), read.c (read_begin, HANDLE_CONDITIONAL_ASSEMBLY,
8623 read_a_source_file, s_align_bytes, demand_empty_rest_of_line,
8624 ignore_rest_of_line, big_cons, is_it_end_of_statement, s_ignore),
8625 read.h (is_name_beginner, is_part_of_name), config/obj-elf.c
8626 (obj_elf_section), config/tc-i386.c (parse_register),
8627 config/tc-sparc.c (isoctal, s_proc): Cast char
8628 array indices to unsigned char.
54e3e909
DE
8629 * app.c (process_escape): Make static. Add prototype. Change
8630 argument from char to int.
58d4951d
ILT
8631 * as.c: Include output-file.h for prototypes. Comment out unused
8632 function got_sig.
8633 * Makefile.in (as.o): Depend on output-file.h.
8634 * as.h (BAD_CASE): Cast val argument to long, and use %ld.
54e3e909
DE
8635 (pseudo_typeS): Add prototype to poc_handler field.
8636 (print_version_id): Add prototype.
8637 (xmalloc, xrealloc): Change size arguments to unsigned long.
8638 (do_scrub_next_char): Add prototypes for function arguments.
8639 (had_errors, had_warnings, scrub_from_file): Remove duplicate
8640 declarations.
8641 * atof-generic.c (atof_generic): Make size variables unsigned.
58d4951d 8642 * cond.c (ignore_input): Removed unused local variable ptr.
54e3e909
DE
8643 * expr.c (floating_constant, integer_constant): Make static. Add
8644 prototypes.
8645 * flonum-copy.c (flonum_copy): Make size variables unsigned.
58d4951d 8646 * frags.h: Add prototype for frag_init.
54e3e909
DE
8647 * hash.h, hash.c: Change hash values from char * to PTR, make hash
8648 strings const, make returned error strings const char *. Added
8649 prototypes for functions.
8650 * input-file.h, input-file.c (input_file_buffer_size): Return
8651 unsigned int.
8652 * input-scrub.c (buffer_length): Make unsigned.
8653 (input_scrub_push, input_scrub_pop): Make static.
58d4951d
ILT
8654 * listing.c (list_symbol_table): Cast sprintf argument to unsigned
8655 long and use %lx. Print name of segment rather than address of
8656 structure.
54e3e909
DE
8657 (listing_list, listing_title): Change argument to int.
8658 (listing_eject, listing_flags, listing_psize): Add int argument.
8659 * listing.h: Corresponding declaration changes.
8660 * obj.h (obj_emit_symbols): Rename prototype argument to avoid
8661 shadowing.
58d4951d 8662 * read.h: Change get_absolute_expression prototype to return
54e3e909
DE
8663 offsetT. Add prototype for next_char_of_string. Various
8664 prototype changes.
58d4951d 8665 * read.c: Remove prototype for next_char_of_string.
54e3e909
DE
8666 (pobegin): Make errtxt const. Make new_length, tmp_len and num
8667 unsigned.
8668 (s_abort, s_align_ptwo, s_comm, s_data, s_app_line, s_fill,
8669 s_globl, s_lsym, s_org, s_set, s_text, s_desc): Add int argument.
8670 Change all callers.
58d4951d
ILT
8671 (s_comm): Change temp from valueT to offsetT. Cast to long when
8672 printing and use %ld (only for error messages anyhow).
54e3e909
DE
8673 (s_long, s_int): Remove unused functions.
8674 (cons): Change argument to int.
58d4951d
ILT
8675 (emit_expr): Use %lx when printing longs.
8676 (get_absolute_expression): Return offsetT, not long.
8677 (get_stab_string_offset): Comment out unless
8678 SEPARATE_STAB_SECTIONS.
8679 (s_stab_generic): Remove unused offset. Define seg_is_new only
8680 if SEPARATE_STAB_SECTIONS. Use toP only in local block.
54e3e909 8681 * struc-symbol.h (verify_symbol_chain_2): Add prototype.
58d4951d 8682 * symbols.c: Remove nested comment.
54e3e909 8683 (symbol_new): Rename value to valu.
58d4951d 8684 (colon): Use %ld and cast to long in error message.
54e3e909
DE
8685 * symbols.h: Remove duplicate verify_symbol_chain declaration.
8686 * tc.h: Remove unused md_emit_relocations declaration.
8687 (tc_gen_reloc): Add declaration.
58d4951d
ILT
8688 * write.c (cvt_frag_to_fill): Change first argument name depending
8689 on BFD_ASSEMBLER.
54e3e909
DE
8690 (write_relocs): Remove unused offset, frags. Remove tc_gen_reloc
8691 declarations. Make n unsigned.
8692 (write_contents): Remove unused i, n, relocs, fixp. Rename frags
8693 to f to avoid shadowing.
58d4951d
ILT
8694 (write_object_file): Define fragP only if not BFD_ASSEMBLER or not
8695 WORKING_DOT_WORD. Remove unused keep. Only declare punt and
54e3e909 8696 punt_it if they will be used. Make i and n unsigned.
58d4951d 8697 (fixup_segment): Cast to long and use %ld in error message.
54e3e909 8698 * xmalloc.c (xmalloc, xrealloc): Make size argument unsigned.
58d4951d
ILT
8699 * config/obj-aout.h: Remove nested comment. Add prototype for
8700 obj_aout_frob_symbol.
54e3e909
DE
8701 (obj_aout_line, obj_aout_desc): Add int argument.
8702 * config/obj-ecoff.c: Changed build routines to use an unsigned
8703 offset.
8704 (add_string): Make len unsigned long.
58d4951d
ILT
8705 (obj_ecoff_stab): Use %lu in error message.
8706 * config/obj-elf.c (obj_elf_common): Comment out unused label
8707 allocate_bss.
8708 (obj_elf_frob_symbol): Return 0 (currently broken).
54e3e909
DE
8709 (obj_elf_desc, obj_elf_version, obj_elf_size, obj_elf_type,
8710 obj_elf_ident, obj_elf_weak, obj_elf_local, obj_elf_common,
8711 obj_elf_line, obj_elf_previous): Add int argument.
8712 (obj_elf_write_symbol_p): Make static.
8713 * config/obj-elf.h (obj_elf_write_symbol): Add prototype.
58d4951d
ILT
8714 * config/tc-hppa.h: Remove declarations of functions declared in
8715 read.h.
54e3e909
DE
8716 * config/tc-i386.c (ENCODE_RELAX_STATE): Cast to relax_substateT.
8717 (s_bss): Add int argument.
8718 (fits_in_signed_byte, smallest_imm_type): Make argument unsigned.
8719 (dummy): Remove unused function.
8720 (md_assemble): Rename local o to op to avoid shadowing.
8721 (tc_gen_reloc): Rename local reloc to rel to avoid shadowing.
8722 * config/tc-m68k.c (s_data1, s_data2): Add int argument.
58d4951d
ILT
8723 * config/tc-mips.c (mips_ip, md_apply_fix): Cast to long and use
8724 %ld in error messages.
54e3e909
DE
8725 * config/tc-sparc.c: Remove duplicate declarations.
8726 (getExpression): Rewrite condition to avoid empty conditional
8727 body.
8728 (s_reg, s_proc, s_reserve, s_common, s_seg, s_xword): Add int
8729 argument.
58d4951d 8730
892a3ff1
KR
8731Thu Sep 9 17:10:00 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8732
8733 Changes from Jeff Law:
8734
8735 * config/tc-hppa.c (md_assemble): Fix typo.
132239bf 8736 (pa_ip): Delete unused variables and labels. Do not check for
892a3ff1
KR
8737 unsigned values being < 0, it can't happen.
8738 (is_same_frag): Return a value in recursive call case.
8739 (pa_callinfo): Delete unused variables and labels.
8740 (pa_comm): Likewise.
8741 (pa_copyright): Likewise.
8742 (pa_export): Likewise.
8743 (pa_import): Likewise.
8744 (pa_param): Likewise.
8745 (pa_space): Likewise.
8746 (pa_subspace): Likewise.
8747
abdd08c9
ILT
8748Thu Sep 9 15:05:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8749
8750 * read.c (get_stab_string_offset, s_stab_generic): If
8751 BFD_ASSEMBLER, call subseg_set rather than subseg_new.
8752
414b2c8f
ILT
8753Wed Sep 8 15:09:17 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8754
8755 * config/obj-elf.c (obj_elf_section): Set SEC_LOAD when using
8756 default flag values.
8757
4064305e
SS
8758Tue Sep 7 10:22:52 1993 Stan Shebs (shebs@rtl.cygnus.com)
8759
1531386b
SS
8760 * read.c: (change_to_section): Don't include body if not MANY_SECTIONS.
8761
4064305e
SS
8762 * read.c: (s_stab, s_xstab, s_desc): New functions to parse
8763 various stab-related directives.
8764 * read.h: (s_stab, s_xstab, s_desc): New function prototypes.
8765 * write.c: (merge_data_into_text): Fix ifdef tangle.
8766 * config/obj-coffbfd.c (current_stab_symbol): Fake symbol
8767 for stab reader to use.
8768 * config/obj-coffbfdh.h (obj_symbol_type): Added fields for
132239bf 8769 stab reader, macros to access.
4064305e 8770
81b407c9
KR
8771Fri Sep 3 16:44:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8772
fd4b7c25
KR
8773 * config/obj-elf.h (elf_symbol): No longer special-cased on
8774 sparcv9, since elf_symbol_type is now independent of size.
8775
81b407c9
KR
8776 * config/obj-elf.h (elf_symbol): Fixed name of elf_symbol_type.
8777
8778 * config/tc-hppa.h (struct default_subspace_dict, struct
8779 default_space_dict): Field "sort" is now unsigned char.
8780
8781 * config/tc-hppa.c (pa_def_subspaces, pa_def_spaces): Align
8782 columns for easier reading.
8783 (bcmp, index): Deleted USG-specific definitions. Should be dealt
8784 with in ho-*.h, or in libiberty. Changed mention of index to
8785 strchr.
8786 (label_symbolP, label_symbol_defined, callinfo_found,
8787 within_entry_exit, exit_processing_complete, within_procedure,
8788 pa_def_subspaces, pa_def_spaces, pa_pseudo_op_moves_pc,
8789 label_symbols_rootP, pa_get_label, pa_label_is_defined,
8790 pa_undefine_label): Now static.
8791 (movers): Now const, in addition to pointing to const data.
8792 * config/tc-hppa.h (label_symbolS_rootP, pa_get_label,
8793 pa_label_is_defined, pa_undefine_label, pa_pseudo_op_moves_pc):
8794 Delete declarations.
8795
8796 Merged more changes from Jeff Law and Pete Hoogenboom:
8797
8798 * config/tc-hppa.c (pa_def_subspaces, pa_def_subspaces): Remove
8799 entries for .stab and .stabstr.
8800
8801 * config/obj-elf.c: (elf_stab_symbol_string): Set the
8802 SEC_LOAD attribute for the .stabstr section.
8803 (obj_elf_stab_generic): Set the SEC_LOAD attribute for the
8804 .stab section.
8805 (obj_elf_stab_generic): Change '#if 1' to '#if 0'.
8806 (obj_elf_stab_generic): Incorrect byte count on call to
8807 md_number_to_chars function.
8808
8809 * config/tc-hppa.c (hppa_tc_symbol): Static functions need
8810 argument relocation bits too.
8811
8812 * config/tc-hppa.c (pa_stringer): Correctly handle escaping
8813 characters which should appear unaltered in the output string (for
8814 example an escaped double-quote).
8815
8816 * config/tc-hppa.c (pa_parse_nonneg_cmpsub_cmpltr): Always
8817 initialize name.
8818 (pa_parse_neg_cmpsub_cmpltr): Likewise.
8819 (pa_parse_nonneg_add_cmpltr): Likewise.
8820 (pa_parse_neg_add_cmpltr): Likewise.
8821
8822 * config/tc-hppa.h (parse_cons_expression_hppa): Remove prototype
8823 for now.
8824 (cons_fix_new_hppa): Likewise.
8825 * config/tc-hppa.c (md_apply_fix): Fix type of valp to match
8826 prototype.
8827
8828 * config/tc-hppa.c: Include libhppa.h.
8829
132239bf 8830 * config/tc-hppa.h: Delete extern declarations of functions
81b407c9
KR
8831 found in libhppa.h.
8832
8833 * config/tc-hppa.c (pa_space): Rework to avoid unwanted #ifdef
8834 OBJ_ELF conditionals.
8835 * config/tc-hppa.h (LOCAL_LABEL): Correctly identify local labels
8836 on the PA.
8837
1849d646
ILT
8838Thu Sep 2 10:43:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8839
ff3a5c18
ILT
8840 * config/tc-mips.c (macro_build): Accept 'z', and ignore it.
8841 (macro): Use "z,s,t" for div instructions to match corresponding
8842 change in opcode table.
8843 (mips_ip): Added 'z'--must be zero register.
1849d646 8844
e96d50d0
KR
8845Wed Sep 1 15:56:42 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8846
8847 * write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Declare
8848 tc_gen_reloc correctly.
8849
8850 * configure.in: Use "case" instead of "if" when possible. Rewrote
8851 Makefile editing to reduce work done. Treat "hppa*" as "hppa".
8852
56607c4e
RP
8853Wed Sep 1 12:19:07 1993 K. Richard Pixley (rich@sendai.cygnus.com)
8854
8855 * config/obj-coffbfd.c (obj_coff_section): add 'd' as an alias for
8856 section type of data. 'd' seems to be used for m88k.
8857
8858Wed Aug 25 22:33:22 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8859
8860 * config/tc-mips.c (mips_align, s_stringer, s_cons, s_float_cons,
8861 s_mips_space): Set insn_label to NULL to avoid changing it at the
8862 next .align statement.
8863 (append_insn): Don't swap jal with instruction that sets the
8864 register that jal sets.
8865
37d719bb
RP
8866Wed Aug 25 16:15:57 1993 K. Richard Pixley (rich@sendai.cygnus.com)
8867
8868 * configure.in: recognize m88110.
8869
28344993
KR
8870Wed Aug 25 13:37:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8871
8872 Merged changes from Pete Hoogenboom and Jeff Law at Utah:
8873 * config/tc-hppa.c (pa_build_unwind_subspace): SEC_ALLOC should
8874 not be on for .hppa_unwind.
8875 (md_pseudo_table): .PARAM and .param are valid pseudo-ops for GAS.
8876 (pa_param): New function to handle .PARAM directives.
8877 (pa_ip): Pass "isbranch" argument down to pa_parse_*_compltr
8878 functions. Handle '|' for movb; allow movb,n.
8879 (pa_parse_nonneg_cmpsub_cmpltr): Delete old useless
8880 version. Handle cases where no completer exists for
8881 comb,n or addb,n.
132239bf 8882 (pa_parse_neg_cmpsub_cmpltr): Handle cases where no
28344993
KR
8883 completer exists for comb,n or addb,n. Make logic
8884 mirror that of pa_parse_nonneg_cmpsub_cmpltr.
8885 (pa_parse_nonneg_add_cmpltr): Likewise.
8886 (pa_parse_neg_add_cmpltr): Likewise.
8887 * tc-hppa.h (pa_param): Declare.
8888
8889Tue Aug 24 15:41:35 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8890
8891 * config/tc-hppa.c (hppa_tc_make_symextn_section): Now static.
8892 Added forward declaration.
8893
8894 Merged changes from Pete Hoogenboom and Jeff Law at Utah:
8895
8896 * config/obj-elf.c (elf_frob_file): Arguments were incorrect on
8897 call to elf_tc_make_sections.
8898 (obj_elf_version): A .note section shouldn't have the SEC_ALLOC
8899 attribute.
8900
8901 * config/tc-hppa.c (hppa_tc_make_sections): Add some processing to
8902 handle symbol extension sections.
8903
8904 * config/tc-hppa.c (pa_build_symextn_section): New function to
8905 create a symbol extension section.
8906 (pa_export_args): Make call to pa_build_symextn_section.
8907 (hppa_tc_symbol, hppa_tc_make_sections,
8908 hppa_tc_make_symextn_section): New functions.
8909 * config/tc-hppa.h: Update elf_tc_symbol and elf_tc_make_sections
8910 macros.
8911
8912 * read.c (emit_expr): Place check for TC_CONS_FIX_NEW in the
8913 BFD_ASSEMBLER branch as well.
8914
8915 * config/tc-hppa.h: If ELF is the target object format, define
8916 some ELF- and hppa-specific types and constants.
8917
8918 * config/tc-hppa.c (getExpression): Fix a typo.
8919
8920 * read.c (read_a_source_file): Use TC_EQUAL_IN_INSN to determine
8921 if a `=' is part of an instruction.
8922 (read_a_source_file): Handle case where end-of-line markers are
8923 also used within instructions.
8924 * config/tc-hppa.h (TC_EQUAL_IN_INSN, TC_EOL_IN_INSN): Define.
8925
8926 * config/tc-hppa.c (md_apply_fix_1): Keep relocations for
8927 out-of-range branches/'calls using "bl" or calls which may need
8928 argument relocation stubs. Do not need/keep relocations for
8929 conditional branches.
8930 (elf_hppa_final_processing): Fix calculation of function size.
8931
8932 * config/obj-elf.c (obj_elf_version): Mark .note section as
8933 READONLY.
8934
8935 * config/tc-hppa.c (parse_cons_expression_hppa): Pass exp, not the
8936 address of exp, to expression.
8937 (pa_build_unwind_subspace): Turn SEC_HAS_CONTENTS flag on.
8938 (md_apply_fix_1): Delete unwanted comments.
8939 (process_exit): Symbols marking the end of a function are always
8940 BSF_LOCAL.
8941
8942 * config/tc-hppa.c: Include elf32-hppa.h from BFD tree.
8943 (pa_space): Declare and initialize gdb_section.
8944
8945 * config/obj-elf.c (elf_frob_file): Change
8946 elf_tc_final_processing_hook to elf_tc_final_processing.
8947
8948 * config/tc-hppa.c (fix_new_hppa): Fix argument list to match
8949 argument type declarations.
8950 (getExpression): Fix typo.
8951 (pa_export_args): Change elf_symbol_type to elf32_symbol_type.
8952 (elf_hppa_final_processing): Likewise. Name changed from
8953 elf_hppa_final_processing_hook.
8954 (start_symbol_root, start_symbol_last): Deleted.
8955
8956 * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION): Fix typo.
8957
8958 * config/tc-hppa.h: Replace "symbolS" with "struct symbol" to
8959 avoid changing include ordering.
8960
8961 * config/tc-hppa.c (pa_ip, case 'y'): Handle just like 't'.
8962
6e8dda9c
ILT
8963Mon Aug 23 12:47:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8964
8965 * config/tc-mips.c (set_at): Added unsignedp argument. Use
8966 load_register.
8967 (set_at_unsigned): Removed; changed callers to use set_at.
8968 (load_register): Removed unused ip argument. Changed callers.
8969 (append_insn): Don't swap branch and branch likely.
8970 (macro_build): Handle 'u'.
8971 (load_register): Handle 64 bit constants.
8972 (macro): Added M_DABS, removed M_ABSU. Numerous changes to
8973 support 64 bit constants.
8974 (mips_ip): Use hex constants in range checks for clarity.
8975 (md_number_to_chars): Support 8 byte values.
8976
1e35cd8f
RP
8977Fri Aug 20 16:50:59 1993 K. Richard Pixley (rich@sendai.cygnus.com)
8978
8979 * config/tc-m88k.h: updated copyrights.
8980 (TC_CONS_RELOC): declare to be RELOC_32.
8981
8358c818
ILT
8982Fri Aug 20 11:16:44 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8983
8984 * config/tc-mips.c (mips_isa): New static variable.
8985 (md_begin): Initialize mips_isa based on TARGET_CPU. Don't sanity
8986 check macros. Set text alignment and GP size here.
8987 (md_assemble): Don't set text alignment and GP size here.
8988 (append_insn): Don't insert NOPs for load delays if mips_isa >= 2.
8989 Use the right mask and shift for WRITE_FPR_T and WRITE_FPR_S. Add
8990 a NOP after a branch likely.
8991 (mips_emit_delays): Don't insert NOPS for load delays if mips_isa
8992 >= 2.
8993 (macro): Support r6000 and r4000 macros.
8994 (mips_ip): Check insn ISA level against mips_isa before using it.
8995 Added 'x' case for ignored register.
8996 (md_parse_option): Handle -mipsN and -mcpu=XX.
8997
c8d4cda1
KR
8998Fri Aug 20 01:26:52 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
8999
9000 * config/tc-i386.c (md_pseudo_table) [OBJ_ELF]: Handle ".zero".
9001
9002Thu Aug 19 12:15:18 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9003
9004 * config/tc-sparc.c (s_local): Function moved and renamed...
9005 * config/obj-elf.c (obj_elf_local): ...to here.
9006 * config/tc-sparc.c (md_pseudo_table), config/obj-elf.c
9007 (obj_pseudo_table): Move handling of ".local".
9008
9009 * tc.h (md_parse_option): Don't declare if defined as a macro.
9010
9011 * config/tc-i386.h (NO_RELOC) [BFD_ASSEMBLER]: Define as
9012 BFD_RELOC_NONE.
9013 (md_parse_option): New macro, converted from function.
9014 * config/tc-i386.c (md_parse_option): Function deleted.
9015 (comment_chars) [OBJ_ELF]: Include "/".
9016 (line_comment_chars) [OBJ_ELF || TE_I386AIX]: Don't include "/".
9017 (md_assemble): Cast 0xe9 to char explicitly, to avoid compiler
9018 warning.
9019 (md_assemble, md_estimate_size_before_relax, md_create_long_jump):
9020 Call reloc for fix_new type, or use correct enumerator, instead of
9021 always using NO_RELOC.
9022 (i386_operand): Change "ifndef I386COFF" to "ifdef OBJ_AOUT" for
9023 tests for valid section.
9024 (md_convert_frag) [BFD_ASSEMBLER]: Compensate for frag start
9025 address.
9026 (md_apply_fix_1) [BFD_ASSEMBLER]: For pc-relative reloc with
9027 symbol, compensate for location of reloc.
9028 (reloc, BFD_RELOC_32, BFD_RELOC_32_PCREL) [!BFD_ASSEMBLER]: Define
9029 to return zero.
9030
4915cac0
KR
9031Wed Aug 18 16:51:29 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9032
9033 * config/obj-elf.c: Undef NO_RELOC before including aout/aout64.h.
9034 (obj_elf_weak): New function.
9035 (obj_pseudo_table): Handle ".weak".
9036 (obj_elf_section): If section directive includes a string, ignore
9037 it for now. Accept "progbits" flag.
9038 (obj_elf_type): Accept `@' before flag name.
9039
9040 * write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Get rid of `if(1)'
9041 condition.
9042 (fixup_segment) [BFD_ASSEMBLER]: Use bfd_is_com_section, rather
9043 than checking for bfd_com_section directly.
9044 (fixup_segment): Simplify range check.
9045 (fixup_segment) [OBJ_COFF && TC_I960]: Simplify cpp condition
9046 test.
9047
9048 * symbols.h (S_SET_WEAK): Declare.
9049 * symbols.c (S_SET_WEAK): New function.
9050 (S_SET_EXTERNAL, S_CLEAR_EXTERNAL): Don't bother with BSF_EXPORT,
9051 it's not a separate flag any more. Clear BSF_WEAK.
9052
9053 * read.c (potable): Treat "string" like "asciz".
9054
19ed8960
ILT
9055Wed Aug 18 15:30:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
9056
9057 * config/tc-mips.c (append_insn): Don't swap branch instructions
9058 if .set nobopt or .set volatile.
9059 (gp_reference): .lit8 and .lit4 are accessed via the GP register.
9060 (macro): Added cases M_LI_S, M_LI_SS. Fixed M_LI_D and M_LI_DD.
9061 (mips_ip): Added cases 'F', 'L', 'f', 'l' for floating point.
9062 * config/obj-ecoff.c: Renamed some variables to avoid shadow
9063 warnings.
9064
ae8c28f8
DZ
9065Mon Aug 16 14:16:02 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
9066
19ed8960
ILT
9067 * config/obj-coff.h (S_IS_COMMON): add missing backslash
9068
ae8c28f8
DZ
9069 * configure.in (z8k-*-{coff,sim}): use coffbfd for this target
9070
0aa07269
ILT
9071Thu Aug 12 11:47:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
9072
9073 * config/tc-mips.c (mips_ip): Suggested by
9074 davidj@ICSI.Berkeley.EDU (David Johnson): Don't accept symbolic
9075 names for 'E' and 'G' argument types (coprocessor registers) and
9076 don't warn if $1 is used on the coprocessor.
ae8c28f8 9077 (macro): Handle M_{L,S}WC{0,2,3}_AB correctly.
0aa07269
ILT
9078
9079Mon Aug 9 12:09:14 1993 Doug Evans (dje@canuck.cygnus.com)
9080
9081 * read.c (emit_expr): Use BFD_RELOC_16 for 2-byte values.
9082 * config/tc-sparc.c (md_apply_fix, tc_gen_reloc): Handle
9083 BFD_RELOC_16.
9084 * config/tc-sparc.h (WORKING_DOT_WORD): Define.
9085
6a9cf6fa
KR
9086Mon Aug 9 13:36:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9087
9088 * write.c (merge_data_into_text): Define only if BFD_ASSEMBLER is
9089 defined or BFD is not.
9090 (relax_and_size_all_segments): Declare local variable fragP.
9091
b114e492
KR
9092Fri Aug 6 15:22:53 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9093
9094 * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_32): Fill in
9095 bytes with real values, not zeros.
9096
ac32a7e7
ILT
9097Fri Aug 6 10:57:59 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
9098
3d2330f8
ILT
9099 * configure.in (mips-*-riscos*, mips-*-sysv*): New (untested)
9100 targets, using ecoff and mips-big.
9101
ac32a7e7
ILT
9102 * config/tc-mips.c (mips_ip): From davidj@ICSI.Berkeley.EDU (David
9103 Johnson): Added case for 'C' for coprocessor instruction codes.
9104
273aa947
KR
9105Thu Aug 5 13:08:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9106
fd4b7c25
KR
9107 * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_64): Fill in
9108 bytes with real values, not zeros.
9109 (md_pseudo_table): Call cons for .uaxword.
9110
b114e492
KR
9111 * config/obj-elf.c (obj_pseudo_table): Handle ".8byte".
9112
273aa947
KR
9113 * read.c (emit_expr): Use BFD_RELOC_64 for 8-byte expressions.
9114
b114e492
KR
9115 * write.c (write_object_file): Test DEBUG_SYMS instead of DEBUG
9116 for verifying symbol chain.
9117 (merge_data_into_text, relax_and_size_all_segments): New
9118 functions, split out from write_object_file.
9119
273aa947
KR
9120Tue Aug 3 15:43:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9121
9122 * config/obj-elf.c (obj_elf_stab_generic, in disabled code): If
9123 debug section is new, allocate an extra 12 bytes at its start. If
9124 ".stabs" type is N_SO, fill in filename symbol field of that first
9125 entry. Return early if "goof", to simplify later code slightly.
9126 (adjust_stab_sections): New function.
9127 (elf_frob_file): Apply adjust_stab_sections to each section.
9128
9129 * config/obj-elf.c (obj_elf_section, obj_elf_previous): No longer
9130 static.
9131 * config/obj-elf.h (obj_elf_section, obj_elf_previous): Declare.
9132 * config/tc-sparc.c (md_pseudo_table): Call them for "pushsection"
9133 and "popsection", and call cons for "uaword" and "uahalf".
9134
9135 * config/obj-elf.c (obj_elf_version): Use English in error
9136 messages.
9137
4573d186
ILT
9138Tue Aug 3 11:29:06 1993 Ian Lance Taylor (ian@cygnus.com)
9139
9140 * config/obj-ecoff.c: Updated for BFD ECOFF changes. Now gets the
9141 swapping routines and external structure sizes via the
9142 ecoff_backend information. No longer includes coff/mips.h.
9143
b4703fa6
ILT
9144Mon Aug 2 17:35:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
9145
4c7ff23d
ILT
9146 * config/obj-ecoff.c (get_tag): Save tag name in permanent memory
9147 and in hash_ptr->string.
9148
b4703fa6
ILT
9149 * app.c (do_scrub_next_char): Reset state to 0 after .appline if
9150 file name is not seen.
9151
fd4b7c25
KR
9152Mon Aug 2 11:51:41 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9153
9154 * config/tc-sparc.c (md_apply_fix, case BFD_RELOC_64): New case,
9155 parallel to BFD_RELOC_32.
9156 (tc_gen_reloc): Accept BFD_RELOC_64.
9157
ced16de6
ILT
9158Thu Jul 29 22:21:28 1993 Ian Lance Taylor (ian@cygnus.com)
9159
9160 * write.c: Don't use short int in a prototype.
ab4d34cd
ILT
9161
9162 * expr.c (operand): Make return value simply depend on contents of
9163 returned expression.
9164
b4703fa6
ILT
9165Thu Jul 29 18:38:37 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
9166
9167 * configure.in: sparc*-aout and sparc*-vxworks are BFD assemblers
9168
0ccc65ec
DZ
9169Thu Jul 29 18:38:37 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
9170
9171 * config/ho-sunos.h: remove some old function decls that conflict
9172 w/ ANSI, and which weren't needed anyway
9173
9174Wed Jul 28 16:34:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9175
9176 * config/obj-elf.h (obj_frob_symbol): Renamed from tc_frob_symbol,
9177 and disabled since it breaks Ian's new symbol-value code.
9178
9179 * expr.c (integer_constant): Accept more digits if BFD64.
9180
7fe17970
ILT
9181Wed Jul 28 11:30:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
9182
9183 * config/tc-m68k.c (m68k_ip): If we have a normal constant when we
9184 expect a bignum, turn it into a bignum. Output extra zeroes
9185 before a short bignum, rather than after.
9186
0c2734c3
KR
9187Tue Jul 27 15:54:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9188
9189 * symbols.c (symbol_new): Conditionalize verify_symbol_chain call
9190 on DEBUG_SYMS, not DEBUG.
9191 (symbol_remove): Likewise.
9192 (symbol_insert): Likewise.
9193
4fe45d22
ILT
9194Tue Jul 27 08:45:05 1993 Ian Lance Taylor (ian@cygnus.com)
9195
9196 * config/tc-mips.c (mips_optimize): New static variable.
e9f108bc
ILT
9197 (append_insn): If mips_optimize == 0, always insert NOP
9198 instructions. If mips_optimize < 2, don't swap branches.
9199 (md_parse_option): If -Ox or -gx, set mips_optimize accordingly.
4fe45d22 9200
de9310b9
RP
9201Mon Jul 26 18:02:43 1993 K. Richard Pixley (rich@sendai.cygnus.com)
9202
9203 * Makefile.in (clean): if testsuite does not exist, then skip it.
9204
9205Fri Jul 23 14:13:25 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
9206
9207 * config/tc-mips.c (prev_insn_unreordered,
9208 prev_prev_insn_unreordered): New static variables.
9209 (append_insn): Don't swap branch instruction if
9210 prev_prev_insn_unreordered (see comment).
9211 (mips_no_prev_insn): Clear the unreordered variables.
9212 (s_mipsset): When turning on reordering, set the unreordered
9213 variables.
9214
7767e7e9
KR
9215Fri Jul 23 13:09:44 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9216
9217 * config/obj-elf.c (obj_elf_section): Sections ".init" and ".fini"
9218 are also magic, and have special default flag settings.
9219 (obj_elf_frob_symbol): Since the return value from this function
9220 isn't used, don't bother calling obj_elf_write_symbol_p, since it
9221 doesn't accomplish anything else.
9222
9223 * config/tc-sparc.c (md_section_align): Round up section size only
9224 for a.out format.
9225
9226 * symbols.c: Don't define DEBUG by default.
9227
88b457e5
ILT
9228Thu Jul 22 12:09:41 1993 Ian Lance Taylor (ian@cygnus.com)
9229
2a2d3d08
ILT
9230 * write.c (fix_new_exp): Handle a O_uminus expression.
9231
e979ea04
ILT
9232 * expr.c (expr): Don't let absolute_section override
9233 undefined_section for the return value.
9234
cf897ce2
ILT
9235 * read.c (read_a_source_file): In NO_PSEUDO_DOT case, if we find a
9236 pseudo-op with a poc_handler field of NULL, ignore it and treat it
9237 as an instruction instead.
9238 * config/tc-m88k.c (md_pseudo_table): Add "set" with a NULL
9239 poc_handler field.
9240
88b457e5
ILT
9241 * config/tc-h8500.c (md_begin): Use a local variable when
9242 initializing md_relax_table to avoid warnings about modifying a
9243 supposedly const data structure.
9244
88e12460
BK
9245Thu Jul 22 10:58:51 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
9246
9247 * config/obj-aout.c: Only include aout/aout64.h if BFD_ASSEMBLER
9248 is defined.
9249
86a6ada2
FF
9250Wed Jul 21 17:32:02 1993 Fred Fish (fnf@deneb.cygnus.com)
9251
9252 * configure.in (case ${host}): Map *-*-sysv4* to gas_host=sysv.
9253 * configure.in (case ${generic_target}): Add i[34]86-*-sysv4*
9254 case to set obj_format=elf. Must go before i386-*-sysv* case that
9255 sets obj_format=coffbsd. Add *-*-sysv4* to *-*-elf and
9256 *-*-solaris case, and move to before *-sysv* case that wants to
9257 set obj_format to coff.
9258 * config/tc-i386.c (i386_operand): Change all 'exp.X_op' to
9259 'exp->X_op'.
9260 * config/tc-i386.c (md_apply_fix): Fix valp to be 'valueT *' for
9261 BFD_ASSEMBLER case.
9262
8ff6f40e
ILT
9263Wed Jul 21 12:47:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
9264
2c5c299f
ILT
9265 * config/obj-aout.c: Include aout/aout64.h.
9266 (obj_aout_frob_symbol): Set BSF_DEBUGGING for a constructor
9267 symbol, so that BFD doesn't tamper with the type.
9268
8ff6f40e
ILT
9269 * read.c (read_a_source_file): If NO_PSEUDO_DOT is defined, look
9270 up opcodes as pseudo-ops even if they don't start with '.'.
9271 * config/tc-m88k.h (NO_PSEUDO_DOT): Define.
9272 * config/tc-m88k.c (md_assemble): Removed special pseudo-op
9273 handling.
9274 (md_apply_fix): Set fx_offset to the upper 16 bits of the reloc.
9275 Output the low 16 bits for RELOC_HI16, not the high 16 bits.
9276 * config/obj-coffbfd.c (do_relocs_for): If TC_M88K, set the
9277 r_offset field of the reloc to the fixup offset.
9278 (fixup_segments): If TC_M88K, don't warn about fixup overflows.
9279 * doc/as.texinfo: Minor updates.
9280
5ac34ac3
ILT
9281Tue Jul 20 19:28:56 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
9282
9283 * Extensive changes to permit symbols to contain any expression
9284 type and to delay the computation of the expression until the
9285 value is actually needed. This permits setting symbols to values
9286 calculated based on object code size. Expressions were changed to
9287 no longer be in a section, to stop the overloading of segment and
9288 expression type that previously occurred.
9289
9290 * as.c (big_section, pass1_section, diff_section, absent_section):
9291 Removed.
9292 (expr_section): Added (used for dummy symbols which hold
9293 intermediate expression values).
9294 (perform_an_assembly_pass): Create expr_section, do not create the
9295 sections now removed.
9296 * as.h (segT): Removed SEG_ABSENT, SEG_PASS1, SEG_BIG, and
9297 SEG_DIFFERENCE. Added SEG_EXPR.
9298 (SEG_NORMAL): Corresponding changes.
9299 * subsegs.c (seg_name, subsegs_begin): Changed accordingly.
9300 * write.c (write_object_file): Ditto.
9301 * config/obj-aout.c (seg_N_TYPE): Ditto.
9302 * config/obj-bout.c (seg_N_TYPE): Ditto.
9303 * config/obj-coff.c (seg_N_TYPE): Ditto.
9304 * config/obj-coffbfd.c (seg_N_TYPE): Ditto.
9305 * config/obj-vms.c (seg_N_TYPE): Ditto.
9306
9307 * expr.h (operatorT): Moved in from expr.c, added some values.
9308 (expressionS): Added X_op field, removed X_seg field; renamed
9309 X_subtract_symbol to X_op_symbol.
9310 * expr.c: Extensive changes to assign expression types rather than
9311 sections and to simplify the parsing.
9312 * write.c (fix_new_internal): New static function.
9313 (fix_new): Removed sub_symbol argument.
9314 (fix_new_exp): New function, takes expression argument.
9315 * write.h: Prototype changes for fix_new and fix_new_exp.
9316 * cond.c (s_if): Changed accordingly.
9317 * read.c (s_lsym, pseudo_set, emit_expr, parse_bitfield_cons,
9318 parse_repeat_cons, get_segmented_expression,
9319 get_known_segmented_expression, get_absolute_expression): Ditto.
9320 * symbols.c (resolve_symbol_value, S_GET_VALUE, S_SET_VALUE):
9321 Ditto.
9322 * write.c (write_object_file): Ditto.
9323 * config/obj-coff.c (obj_coff_def, obj_coff_val): Ditto.
9324 * config/obj-coffbfd.c (obj_coff_def, obj_coff_val,
9325 obj_coff_endef, yank_symbols): Ditto.
9326 * config/obj-elf.c (obj_elf_stab_generic, obj_elf_size): Ditto.
9327 * config/tc-a29k.c (md_assemble, parse_operand, machine_ip,
9328 print_insn, md_operand): Ditto.
9329 * config/tc-h8300.c (parse_exp, colonmod24, check_operand,
9330 do_a_fix_imm, build_bytes): Ditto.
9331 * config/tc-h8500.c (parse_exp, skip_colonthing, parse_reglist,
9332 get_specific, check, insert, md_convert_frag): Ditto.
9333 * config/tc-hppa.c (the_insn, fix_new_hppa, cons_fix_new_hppa,
9334 md_assemble, pa_ip, getExpression, getAbsoluteExpression,
9335 evaluateAbsolute, pa_build_unwind_subspace, pa_entry,
9336 process_exit): Ditto.
9337 * config/tc-hppa.h (STAB_FIXUP, is_DP_relative, is_PC_relative,
9338 is_complex): Ditto.
9339 * config/tc-i386.c (pe, md_assemble, i386_operand,
9340 md_estimate_size_before_relax, md_create_long_jump): Ditto.
9341 * config/tc-i860.c (md_assemble, getExpression, print_insn):
9342 Ditto.
9343 * config/tc-i960.c (parse_expr, subs, segs, md_convert_frag,
9344 get_cdisp, mem_fmt, parse_ldconst, relax_cobr, s_sysproc,
9345 i960_handle_align): Ditto.
9346 * config/tc-m68k.c (struct m68k_exp, struct m68k_it, seg, op,
9347 subs, add_fix, isvar, m68k_ip, md_assemble, md_convert_frag_1,
9348 md_estimate_size_before_relax, md_create_long_jump, get_num):
9349 Ditto.
9350 * config/tc-m88k.c (md_assemble, get_imm16, get_pcr,
9351 md_create_short_jump, md_create_long_jump): Ditto.
9352 * config/tc-mips.c (md_assemble, append_insn, gp_reference,
9353 macro_build, macro, my_getExpression): Ditto. Also removed
9354 get_optional_absolute_expression; just use get_absolute_expression
9355 instead.
9356 * config/tc-ns32k.c (get_addr_mode, evaluate_expr, convert_iif,
9357 fix_new_ns32k, fix_new_ns32k_exp, cons_fix_new_ns32k): Ditto.
9358 * config/tc-ns32k.h (fix_new_ns32k prototype): Ditto.
9359 * config/tc-sh.c (parse_exp, check, insert, md_convert_frag):
9360 Ditto.
9361 * config/tc-sparc.c (md_assemble, sparc_ip, getExpression,
9362 print_insn): Ditto.
9363 * config/tc-tahoe.c (struct top, md_estimate_size_before_relax,
9364 tip_op, md_assemble): Ditto.
9365 * config/tc-vax.c (seg_of_operand, md_assemble,
9366 md_estimate_size_before_relax, md_create_long_jump): Ditto.
9367 * config/tc-z8k.c (parse_exp, check_operand, newfix): Ditto.
9368
84873870
DZ
9369Tue Jul 20 12:17:16 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
9370
9371 * configure.in: i386-lynx is the same as i386-coff
9372
623d6e9a
KR
9373Mon Jul 19 15:21:20 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
9374
9375 * config/obj-elf.c (obj_elf_previous): New function.
9376 (previous_section, previous_subsection): New vars.
9377 (obj_elf_section): Save current place in case DWARF code wants us
9378 to pop back to it. Handle unquoted section name as well as quoted
9379 section name. Don't crash on invalid strings.
9380 (obj_pseudo_table): Handle new pseudos "previous", "2byte", and
9381 "4byte".
9382
9383 * config/obj-elf.h: Don't include struc-symbol.h.
9384 (obj_elf_frob_symbol): Declare arg as struct symbol *.
9385
9386 * tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Local labels can start with
9387 "L" or "_.L_".
9388
9389 * write.c (write_relocs): New function, split off from
9390 write_contents. Use memset instead of bzero.
9391 (write_object_file): Apply write_relocs to each section before
9392 applying write_contents.
9393
9394 * read.c (read_begin): Call obstack_begin with values closer to 1K
9395 multiples.
9396 (read_a_source_file, big_cons, float_cons): Use memcpy instead of
9397 bcopy.
9398
ffffc8fb
ILT
9399Mon Jul 19 14:30:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
9400
ce2ad89a
ILT
9401 * config/tc-m68k.c (m68k_ip_op): Don't decrement strend when
9402 calculating opP->isiz; this permits the expression size to be
9403 determined as well, later on.
9404
ffffc8fb
ILT
9405 * expr.c (clean_up_expression): Don't cancel the subtraction of
9406 undefined symbols.
9407
9408 * read.c (s_data), config/obj-coffbfd.c (obj_coff_data): If -R,
9409 switch to text section rather than data section.
9410
9d4dfbf3
KR
9411Mon Jul 19 12:35:39 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9412
9413 * config/tc-m68k.c (m68k_ip, case AINDX): Add 6 to operand
9414 expression (to take the pc-rel instruction itself into account)
9415 before using the expression, instead of after.
9416
04acd059
ILT
9417Fri Jul 16 08:56:04 1993 Ian Lance Taylor (ian@cygnus.com)
9418
1e9cf565
ILT
9419 * read.c (float_cons): Simplified parsing logic. If
9420 REPEAT_CONS_EXPRESSIONS is defined, accept a repeat count.
9421
9422 * symbols.c (colon): Rather than a special case for TC_HPPA,
9423 use new macro tc_frob_label.
9424 * config/tc-hppa.h (tc_frob_label): Define.
9425
9426 * config/tc-mips.c: Many changes to support simple assembler
9427 optimization.
9428 (insn_label, prev_insn, prev_prev_insn, dummy_opcode,
9429 prev_insn_valid, prev_insn_frag, prev_insn_where,
9430 prev_insn_fixp, prev_insn_is_delay_slot): New static
9431 variables.
9432 (insn_uses_reg, mips_no_prev_insn, mips_emit_delays,
9433 mips_align, s_stringer, s_mips_space): New static functions.
9434 (mips_define_label): New global function.
9435 (md_pseudo_table): For "ascii", "asciz", "asciiz", call
9436 s_stringer. Changed argument to float_cons from 0 or 1 to 'f'
9437 or 'd'. For "space" call s_mips_space.
9438 (md_begin): Call mips_no_prev_insn.
9439 (append_insn): Only insert necessary NOP instructions.
9440 (macro): Call mips_emit_delays before setting mips_noreorder.
9441 Increment and decrement mips_noreorder rather than using
9442 save_reorder_condition. Don't bother to use noreorder in
9443 M_L_DOB and M_L_DAB, since append_insn will not insert a NOP.
9444 (md_atof): Handle floating point numbers correctly for both
9445 big and little endian targets.
9446 (s_align, s_cons): Call mips_align rather than frag_align.
9447 (s_change_seg, s_cons): Call mips_emit_delays.
9448 (s_float_cons): Let float_cons do the work.
9449 (s_mipsset): Call mips_emit_delays when setting noreorder.
9450 * config/tc-mips.h (tc_frob_label): Define to be
9451 mips_define_label.
9452
04acd059
ILT
9453 * config/obj-ecoff.c (ecoff_build_symbols, ecoff_build_procs,
9454 ecoff_frob_files): Consistently use S_GET_VALUE rather than
9455 bfd_asymbol_value. Warn if taking difference of symbols in
9456 different segments.
9457
c978e704
ILT
9458Thu Jul 15 11:51:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
9459
5276e361
ILT
9460 * config/obj-ecoff.c (ecoff_frob_file): Discard all open scopes,
9461 with a warning.
9462
2368ec63
ILT
9463 * config/obj-coffbfd.c (fixup_segment): If TC_M88K, don't adjust
9464 by md_pcrel_from if we are relocating against a symbol (we still
9465 need md_pcrel_from for a PC relative relocation within the same
9466 file).
9467 * config/tc-m88k.c (md_pcrel_from): Corrected return value.
cb441b38 9468 (omagic): Removed unused variable.
2368ec63 9469
c978e704
ILT
9470 * Preliminary support for m88k-coff.
9471 * configure.in (m88k-*-coff*): New target. Use coffbfd and
9472 m88kcoff.
9473 * config/m88kcoff.mt: New file.
9474 * read.c (lex_type): New macro LEX_AT to set lex type of '@'.
9475 (pseudo_set): Handle difference of symbols in different fragments
9476 by saving the entire expression as the value of the symbol.
9477 * symbols.c (resolve_symbol_value): Resolve difference
9478 expressions.
9479 * config/obj-coffbfd.c (obj_pseudo_table): If TC_M88K, accept
9480 "sdef" as a synonym for "def".
9481 * config/obj-coffbfd.h: If TC_M88K, include coff/m88k.h and set
9482 TARGET_FORMAT.
9483 (S_IS_LOCAL): Any symbol which includes \001 in the name is local.
9484 * config/tc-m88k.c, config/tc-m88k.h: Numerous changes to bring
9485 m88k port up to date, and to add COFF support.
9486
85051959
ILT
9487Wed Jul 14 15:09:32 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
9488
5868b1fe
ILT
9489 * Removed sy_forward and replaced it with an undefined expression
9490 as the value of a symbol.
9491 * struc-symbol.h (struct symbol): Removed sy_forward field. Added
9492 sy_resolved and sy_resolving single bit fields.
9493 * symbols.c (symbol_new): Don't initialize sy_forward field.
9494 (resolve_symbol_value): New function to adjust symbol value by
9495 fragment address, using recursion to resolve forward symbols.
9496 * symbols.h: Added prototype for new function.
9497 * read.c (pseudo_set): Set symbolP->sy_value to an undefined
9498 expression rather than setting symbolP->sy_forward.
9499 * write.c (write_object_file): Use resolve_symbol_value on
9500 symbols, keeping the common case (the old behaviour) inline.
9501 * config/obj-aout.c (obj_aout_frob_symbol): Removed sy_forward
9502 handling (subsumed by write.c change).
9503 * config/obj-coff.c, config/obj-coffbfd.c (obj_coff_val): Set
9504 sy_value rather than sy_forward.
9505 * config/obj-coffbfd.c (obj_coff_endef, yank_symbols): Check
9506 expression segment rather than sy_forward.
9507 (yank_symbols): Use resolve_symbol_value.
9508 (crawl_symbols): Removed extra pass over symbols.
9509 * config/obj-aout.c, config/obj-bout.c, config/obj-coff.c,
9510 config/obj-vms.c (obj_crawl_symbol_chain): Removed extra pass over
9511 symbols which handled sy_forward; use resolve_symbol_value
9512 instead.
9513 * config/obj-coff.h, config/obj-coffbfd.h (obj_frob_forward_symbol):
9514 Define.
9515 * config/obj-elf.c (obj_elf_stab_generic): Check expression
9516 segment rather than sy_forward.
9517 * config/obj-vms.c (VMS_Check_For_Main): Don't initialize
9518 sy_forward; do initialize sy_resolved and sy_resolving.
9519 * config/tc-hppa.h (STAB_FIXUP): Use sy_value, not sy_forward.
9520
85051959
ILT
9521 * Changes to keep a full expression as the value of a symbol, not
9522 just a longword:
9523 * struc-symbol.h: New field sy_value.
9524 * as.h: Include expr.h before struc-symbol.h.
9525 * expr.h: Use struct symbol rather than symbolS.
9526 * symbols.c (S_GET_VALUE, S_SET_VALUE): Rewrote to retrieve value
9527 of sy_value field; compile unconditionally, not just if
9528 BFD_ASSEMBLER.
9529 * symbols.h: Compile S_{SG}ET_VALUE prototypes unconditionally.
9530 * write.c (write_object_file): Set BFD symbol value to gas symbol
9531 value.
9532 * config/obj-aout.h, config/obj-bout.h, config/obj-coff.h,
9533 config/obj-coffbfd.h, config/obj-generic.h, config/obj-vms.h
9534 (S_GET_VALUE, S_SET_VALUE): Removed macro definitions.
9535 * config/obj-ieee.c (S_GET_VALUE, S_SET_VALUE): Removed.
9536 * config/obj-coff.h, obj-coffbfd.h: Rewrote several macros to use
9537 S_GET_VALUE rather than ost_entry.n_value.
9538 * config/obj-aout.c (obj_symbol_to_chars), config/obj-bout.c
9539 (obj_symbol_to_chars), config/obj-coff.c (obj_symbol_to_chars),
9540 config/obj-coffbfd.c (symbol_to_chars): Get value to write out
9541 using S_GET_VALUE--don't assume it is already set.
9542 * config/obj-ieee.c (do_symbols): Set BFD symbol value to gas
9543 symbol value.
9544 * config/obj-vms.c (various): Don't assign directly to
9545 S_GET_VALUE; use S_SET_VALUE instead.
9546
b50401c9
DE
9547Wed Jul 14 09:35:23 1993 Doug Evans (dje@canuck.cygnus.com)
9548
fd4b7c25
KR
9549 * configure.in: Make sparc64-*-aout* use bfd gas.
9550
b50401c9
DE
9551 * configure.in: Recognize h8300h.
9552
489a93f3
SC
9553Tue Jul 13 12:09:44 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
9554
9555 * config/tc-h8500.c (line_comment_chars): Add hash.
9556 (parse_exp, skip_colonthing, build_bytes): Add support for
9557 R_H8500_HIGH16 relocation type.
9558
5d4ef296
KR
9559Mon Jul 12 11:15:34 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
9560
9561 * config/obj-elf.c (obj_elf_section): Allow `@' to introduce an
9562 attribute name. Handle `execinstr' attribute.
9563
99c24539
ILT
9564Mon Jul 12 07:22:28 1993 Ian Lance Taylor (ian@cygnus.com)
9565
9566 * config/tc-mips.c (mips_ip): Don't warn on 'i' or 'j' mismatch if
9567 there is another alternative for the instruction.
9568
ec1c752b
RP
9569Fri Jul 9 17:31:34 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
9570
9571 * doc/as.texinfo: updates for H8/300H
9572
d358969d
ME
9573Thu Jul 8 14:41:43 1993 Mark Eichin (eichin@cygnus.com)
9574
9575 * config/tc-i960.c (md_create_short_jump, md_create_long_jump,
9576 md_number_to_chars, md_section_align): Adjusted to use valueT,
9577 addressT, to match tc.h.
9578
ff4cac38
KR
9579Thu Jul 8 14:15:05 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9580
9581 * config/tc-sparc.c (s_common): Revamp to handle both syntaxes,
b2565433 9582 independent of format.
ff4cac38 9583
42206996
DE
9584Thu Jul 8 07:25:25 1993 Doug Evans (dje@canuck.cygnus.com)
9585
9586 * config/tc-h8300.h (TC_CONS_RELOC): Use R_RELLONG if h8/300h.
9587
e9baeb46
DZ
9588Wed Jul 7 18:11:07 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com)
9589
9590 * configure.in: define CROSS=-DCROSS_COMPILE if it is a cross
9591 build; also recognize h8300-*-coff
9592
76c64db0
ILT
9593Wed Jul 7 10:21:24 1993 Ian Lance Taylor (ian@cygnus.com)
9594
e154ecf4
ILT
9595 * symbols.c (fb_label_instance, fb_label_instance_inc): Don't dump
9596 core just because somebody uses a label before it is defined.
9597
76c64db0
ILT
9598 * config/mips-opcode.h: Moved to opcode/mips.h.
9599 * config/tc-mips.c: Include opcode/mips.h rather than
9600 mips-opcode.h.
9601 (append_insn): An extra NOP is only needed after instructions
9602 which set HI or LO, not after instructions which read it.
9603 (macro_build, mips_ip): Support new 'E', 'G' and 'B' arguments.
9604 (macro): cfc1 and ctc1 now take "t,G" rather than "t,d".
9605 * config/tc-mips.h (struct mips_opcode): Don't define.
9606 * config/mips-big.mt, config/mips-lit.mt (TARG_CPU_DEPENDENTS):
9607 Set to $(srcdir)/../include/opcode/mips.h.
9608
9609 Get the MIPS assembler up to speed with other gas changes:
9610
9611 * config/obj-ecoff.c (ecoff_set_vma, ecoff_frob_symbol):
9612 Removed; don't change the symbol value.
9613 (ecoff_build_symbols, ecoff_build_procs, ecoff_frob_file): Use
9614 bfd_asymbol_value rather than S_GET_VALUE to include section
9615 vma in symbol value.
9616 (ecoff_frob_file): Ignore BSF_SECTION_SYM symbols, since ECOFF
9617 doesn't output them. Set the vma of sections.
9618 * config/obj-ecoff.h: Don't define obj_frob_symbol.
9619 * config/tc-mips.c (tc_gen_reloc): Adjustment by section vma is no
9620 longer necessary.
9621 (various): use valueT rather than long.
9622
e28e0b95
KR
9623Wed Jul 7 08:33:30 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9624
fd4b7c25
KR
9625 * config/tc-sparc.h (ENV64): Define for v9.
9626
9627 * config/tc-sparc.c (s_xword): For numbers, call big_cons.
9628 (sparc_ip, md_apply_fix, tc_gen_reloc): Handle some sparc64
9629 relocation types.
9630 (md_number_to_chars): Handle 8-byte value.
9631
9632 * config/obj-elf.h (elf_symbol): For v9, use 64-bit symbol type.
9633
e28e0b95
KR
9634 * as.h (valueT): Typedef moved here.
9635 * struc-symbol.h (valueT): ...from here.
9636 * write.c (write_object_file): Locals from_addr, to_addr,
9637 table_addr are now addressT. Supply prototype for bfd_alloc for
9638 now.
9639 (fixup_segment): Local add_number is now valueT. Correct some
9640 range-checking bugs.
9641 (relax_align): Type `int' should be sufficient for the exponent.
9642 (fix_new): Argument offset is type offsetT. Locals size and
9643 newsize are type valueT.
9644 * write.h (struct fix): Fields fx_offset and fx_addnumber are now
9645 type valueT.
9646 (fix_new): Fix prototype.
9647 * symbols.c (symbol_new): Symbol value is type valueT.
9648 (S_SET_VALUE, S_GET_VALUE): Likewise.
9649 (S_IS_*): Specify int return type explicitly.
9650 * symbols.h (symbol_new, S_GET_VALUE, S_SET_VALUE): Fixed
9651 prototypes.
9652 * read.c (s_comm): Values read are type valueT.
9653 * expr.h (expressionS): Field X_add_number is an offsetT.
9654 * tc.h (md_create_long_jump, md_create_short_jump,
9655 md_section_align): Addresses are now type addressT.
9656 (md_number_to_chars, md_apply_fix): Pass value as valueT.
9657 * config/tc-i386.c (md_create_short_jump, md_create_long_jump,
9658 md_number_to_chars, md_section_align): Adjusted.
9659 * config/tc-sparc.c (sparc_ip): Initialize `len' variable to make
9660 gcc shut up.
9661 (md_create_short_jump, md_create_long_jump, md_number_to_chars,
9662 md_section_align): Adjusted.
9663
9664 * config/tc-sparc.c (s_reserve): Permit use for other than a.out
9665 format.
9666 (s_common): Handle Solaris-2 version.
9667
9668 * config/ho-generic.h (free): Returns void if __STDC__.
9669
9670 * config/obj-elf.h (obj_elf_frob_symbol, elf_frob_file,
9671 elf_file_symbol): Declare.
9672
9673 * expr.c (floating_constant, integer_constant): Now return void.
9674
9675Thu Jul 1 12:13:43 1993 Ian Lance Taylor (ian@cygnus.com)
9676
9677 * configure.in: Match on sparc*-fujitsu-none rather than
9678 sparclite*-fujitsu-none.
9679
267389df
ILT
9680Wed Jun 30 11:12:02 1993 Ian Lance Taylor (ian@cygnus.com)
9681
9682 * read.c (cons): Conditionalize parsing of expression. Move
9683 putting value into object file into separate function. Separate
9684 out MRI and WANT_BITFIELDS cases into separate functions.
9685 (emit_expr): New function to write data into object file.
9686 Conditionalize on TC_CONS_FIX_NEW and TC_CONS_RELOC rather than on
9687 processor types.
9688 (parse_bitfield_cons): New function to parse bitfield expressions
9689 as used by i960 assemblers. Only compiled if
9690 BITFIELD_CONS_EXPRESSIONS is defined.
9691 (parse_mri_cons): New function to parse MRI style strings. Only
9692 compiled if MRI is defined.
9693 (parse_repeat_cons): New function to parse repeat counts. Only
9694 compiled if REPEAT_CONS_EXPRESSIONS is defined.
9695 * read.h (emit_expr): Added declaration of new function.
9696 * config/tc-a29k.h (TC_CONS_RELOC): Define to be RELOC_32.
9697 * config/tc-h8300.h (TC_CONS_RELOC): Define to be R_RELWORD.
9698 * config/tc-hppa.c (parse_cons_expression_hppa): New function to
9699 parse a HPPA expression, rather than special case in cons
9700 function.
9701 (cons_fix_new_hppa): New function to emit an HPPA fixup, rather
9702 than special case in emit_expr function.
9703 * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION, TC_CONS_FIX_NEW):
9704 Define to use new functions from tc-hppa.c.
9705 * config/tc-i960.h (BITFIELD_CONS_EXPRESSIONS): Define.
9706 (WANT_BITFIELDS): Removed; now obsolete.
9707 * config/tc-mips.h (REPEAT_CONS_EXPRESSIONS): Define.
9708 * config/tc-ns32k.c (cons_fix_new_ns32k): New function to emit an
9709 NS32K fixup, rather than special case in emit_expr function.
9710 * config/tc-ns32k.h (TC_CONS_FIX_NEW): Define to be
9711 cons_fix_new_ns32k. Also use PARAMS rather than checking
9712 __STDC__.
9713 * config/tc-sparc.h (TC_CONS_RELOC): Define to RELOC_32.
9714
9715 * write.c (relax_and_size_seg, adjust_reloc_syms, write_contents):
9716 Don't core dump if gas has no information about a section.
9717
9718Wed Jun 30 06:21:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9719
fd4b7c25
KR
9720 * config/tc-sparc.c (md_begin): If sparcv9 is defined, reset
9721 current_architecture to v9 automatically.
9722
9723 * config/tc-sparc.h (TARGET_FORMAT): Use elf64-sparc for v9.
9724
9725 * config/tc-sparc64.h, config/tc-sparc64.c: New files.
9726 * configure.in: Use sparc64 cpu files for v9, and default to elf
9727 format.
9728
267389df
ILT
9729 * write.c (relax_and_size_seg): Always fully process a section.
9730 Section size is last frag's (vm)address plus its size. If no
9731 relocations are present, force SEC_RELOC flag clear.
9732 (dump_section_relocs): New debugging routine.
9733 (adjust_reloc_syms): New routine, broken out from write_contents.
9734 Don't adjust relocs that are already relative to section symbol.
9735 Look for obj_fix_adjustable macro to know what else to skip,
9736 instead of obj_write_symbol. Look for section symbol stored in
9737 section information.
9738 (write_object_file): Map adjust_reloc_syms over all sections.
9739 (write_contents): Clear SEC_RELOC flag if no relocations are
9740 found.
9741
9742 * as.h (__PTR_TO_INT, __INT_TO_PTR): New versions for Saber, to
9743 keep it quiet.
9744
9745 * write.c (remove_subsegs): Don't define for BFD_ASSEMBLER.
9746
e28e0b95
KR
9747Fri Jun 25 14:42:53 1993 K. Richard Pixley (rich@sendai.cygnus.com)
9748
9749 * Makefile.in (all, dvi, info, install-info, clean-info): do not
9750 echo recursion lines.
9751 (install-info, clean-info): collapse into the dvi and info rule.
9752
fd4b7c25
KR
9753Fri Jun 25 10:47:24 1993 Doug Evans (dje@canuck.cygnus.com)
9754
9755 * config/tc-sparc.c (sparc_ip): Remove support for %d/%q fp regs.
9756 All fp regs are now specified as %f.
9757 (priv_reg_table): fpq -> fq.
9758
267389df
ILT
9759Fri Jun 25 03:43:06 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
9760
9761 * as.h (strstr): Disable declaration for now.
9762 (fprint_value, sprint_value): Declare.
9763
9764 * subsegs.c (subseg_new_rest): Use memset to clear new frag.
9765 (subseg_new) [BFD_ASSEMBLER]: Initialize all seginfo fields.
9766
9767 * expr.c (expr_part): Made sanity checks a.out-specific.
9768 (expr): Disabled sanity checks.
9769
9770 * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Add field for
9771 section symbol.
9772 * subsegs.c (subseg_change): Initialize section symbol pointer
9773 when setting up a new section.
9774
9775 * symbols.c (symbol_new) [BFD_ASSEMBLER]: Point BFD symbol's udata
9776 field back at gas symbol structure.
9777
9778 * symbols.c (colon): Cast obstack_next_free value to char* before
9779 doing arithmetic on it.
9780 * subsegs.c (subseg_new_rest): Likewise.
9781 * as.h (frag_now_fix): Likewise.
9782
9783 * config/obj-elf.c (elf_file_symbol): Use subseg_new instead of
9784 calling bfd_make_section_old_way directly, and call subseg_set
9785 instead of subseg_change. Now returns void.
9786 (obj_elf_write_symbol): Only check local symbols for now.
9787 (elf_stab_symbol): Now static and void, and disabled until it
9788 works completely.
9789 (obj_elf_size): For expression values, fail silently for now.
9790 (obj_symbol_new_hook): Do nothing.
9791
9792 * config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP22
9793 relocation.
9794 (s_local) [OBJ_ELF]: New function.
9795 (md_pseudo_table) [OBJ_ELF]: Call it for "local".
9796 (s_common): Rearrange to handle Solaris .common pseudo, which may
9797 sometimes use bss space instead of common.
9798 * config/obj-elf.h (TARGET_SYMBOL_FIELDS): Add new `local' field.
9799
a8285504
DZ
9800Thu Jun 24 16:33:53 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
9801
9802 * configure.in: set host config to hpux for hppa*-hp-hpux
9803
267389df
ILT
9804Thu Jun 24 13:35:06 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
9805
9806 * app.c (app_pop, app_push): Fix bug reported by Chris Arthur.
9807
9808Tue Jun 22 01:04:23 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
9809
9810 * subsegs.c (subseg_new): Don't special-case a.out -R flag here.
9811 * config/obj-aout.c (s_sect): Do it here.
9812
9813 * as.h (BAD_CASE): Don't make some lame compilers think we want
9814 substitution inside strings.
9815
9816 * as.c (print_version_id): New function, split off from main.
9817 (main): Call it.
9818 * config/tc-sparc.c (md_parse_option) [OBJ_ELF]: Print version id
9819 for -V. Ignore -Q and -s options for now.
9820
a8285504
DZ
9821Mon Jun 21 17:37:59 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
9822
9823 * Makefile.in: make installation & builds work again for crosses
9824
267389df
ILT
9825Sun Jun 20 18:18:26 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
9826
9827 * listing.c (list_symbol_table): Rewrite to print wide (>32 bits)
9828 symbol values correctly.
9829
9830 * write.c (write_object_file): Deleted unused variables.
9831 (fixup_segment): Use sprint_value.
9832
9833 * messages.c (sprint_value, fprint_value): New routines.
9834
9835 * config/obj-elf.c (elf_stab_symbol): Now returns void.
9836 (obj_elf_stab_generic): Fix typo in logic.
9837
9838 * Makefile.in (INCLUDES): Look in ../bfd for bfd.h.
9839
9840 * as.h (addressT, offsetT): New types, using BFD types if
9841 available.
9842 (relax_addressT, struct frag): Use them.
9843 * struc-symbol.h (valueT, struct broken_word): Likewise.
9844
9845 * as.h (subseg_new) [BFD_ASSEMBLER]: Name argument is const.
9846 * subsegs.c (subseg_new) [BFD_ASSEMBLER]: Name argument is const.
9847
9126738c 9848Thu Jun 17 16:53:56 1993 david d `zoo' zuhn (zoo@cygnus.com)
132239bf 9849
9126738c
DZ
9850 * Makefile.in: canonicalize install.sh; for use within
9851 this directory (and subdirs)
9852
267389df
ILT
9853Sun Jun 20 02:34:04 1993 Ashley Saulsbury (ans@sics.se)
9854
9855 * m88k-opcode.h : fixed tiny tiny mistake - xcr was incorrectly
9856 specified, should have both S1 and S2 fields identical
9857 If only finding the problem was as fast as fixing the bug !!!!
9858
9859Tue Jun 15 16:01:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9860
9861 * write.c (write_contents): Do write out non-loadable sections.
9862 Debug sections can fall in this category.
115147fb 9863
267389df
ILT
9864 * read.c (s_app_file): Call elf_file_symbol for ELF files.
9865 * config/obj-elf.c (elf_file_symbol): New function.
9866
9867 * config/obj-elf.c (elf_stab_symbol_string): Renamed from pa_...,
9868 added argument to specify section base name.
9869 (obj_elf_stab_generic): Renamed from ..._stab. New argument
9870 specifies section base name.
9871 (obj_elf_stab): New function, calls obj_elf_stab_generic with
9872 ".stab" as section base name.
9873 (obj_elf_xstab): New function, calls obj_elf_stab_generic.
9874 (obj_elf_type): Handle "object". Use bitwise-or to merge in
9875 symbol flags rather than simply replacing, so global/local flags
9876 are preserved.
9877 (obj_elf_ident): Rewrite.
115147fb 9878
a00ee522
DZ
9879Tue Jun 15 17:03:25 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
9880
9881 * Makefile.in: remove parentdir support; use INSTALL_XFORM
9882
9883Wed Jun 9 11:26:07 1993 Ian Lance Taylor (ian@cygnus.com)
9884
9885 * config/tc-i386.c (md_pseudo_table): .align uses a power of two
9886 for any a.out target, not just Linux and 386BSD.
9887 * config/tc-i386.h (DOT_LABEL_PREFIX): Do not define for any a.out
9888 target.
9889
267389df
ILT
9890Mon Jun 7 13:33:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9891
9892 * config/tc-m88k.c: Don't include flonum.h, md.h, m88k.h. They
9893 don't exist or duplicate other inclusions.
9894
9895 * config/tc-vax.h (NO_RELOC): Define.
9896
fd4b7c25
KR
9897Mon Jun 7 09:55:03 1993 Doug Evans (dje@canuck.cygnus.com)
9898
9899 * config/tc-sparc.c (sparc_ip): Fix parsing of asi number.
9900 Fix error message.
9901
267389df
ILT
9902Sat Jun 5 19:32:52 1993 Torbjorn Granlund (tege@nada.kth.se)
9903
9904 * gas/config/m88k-opcode.h (m88k_opcodes): Add 88110 instructions.
9905 * gas/config/tc-m88k.c (get_reg): New arg reg_prefix. Compare first
9906 char to reg_prefix instead of to 'r'.
9907 (calcop): Change calls to get_reg.
9908 (calcop): Handle new case 'x' to set reg_prefix.
9909 (calcop): Set reg_prefix to 'r' after each call to get_reg.
9910 (cmpslot): Add 88110 conditions.
9911
9912 * gas/config/m88k-opcode.h: Swap cases for "rot" for consistency.
9913
9914 * gas/config/tc-m88k.c (get_bf): Always restore input_line_pointer
9915 before returning.
9916
9917 * gas/config/m88k-opcode.h (m88k_opcodes): Make equal mnemonics
9918 adjacent; mov.s and mov.d swapped.
9919 (m88k_opcodes): Fix typo `r2' -> `2'.
9920
a00ee522
DZ
9921Fri Jun 4 15:59:31 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
9922
9923 * config/h8300.c: Support for H8/300-H opcodes.
9924
9925 * config/obj-coffbfd.c (w_strings): String table length is 4
9926 bytes, no matter what the host int size is.
9927
9928 * configure.in (alpha-*-osf*): New.
9929
68ad4c92
ILT
9930Fri Jun 4 07:51:18 1993 Ian Lance Taylor (ian@cygnus.com)
9931
47fcc4f5
ILT
9932 * configure.in (mips-*-ecoffl*): New target; use ecoff and
9933 mips-lit.
9934 (mips-*-ecoff*): Added trailing '*'.
9935
68ad4c92
ILT
9936 * config/obj-ecoff.c (ecoff_build_procs): Force the adr of the
9937 first FDR in a file to be zero.
9938
75776695
KR
9939Thu Jun 3 14:09:59 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9940
b7067d7f
KR
9941 * Makefile.in (VERSION): Jump to 2.1.4.
9942
75776695
KR
9943 * config/ho-hppabsd.h: New file, from Peter Hoogenboom.
9944
9945 * config/tc-mips.c (md_assemble): Call bfd_set_gp_size only for
9946 ECOFF format.
9947
9948Tue Jun 1 15:21:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9949
9950 * config/tc-m68k.c (md_assemble): The 68040 cpu doesn't want a
9951 separate '851 mmu.
9952
9953 * config/obj-elf.c, config/obj-elf.h: Update for new type, macro,
9954 and routine names. Assuming 32 bits for now.
9955
9956 * config/obj-elf.c (elf_frob_file): Look for macro
9957 elf_tc_final_processing_hook, instead of assuming a function
9958 always exists.
9959 * config/tc-hppa.c (elf_hppa_final_processing_hook): Renamed from
9960 tc_final_processing_hook.
9961 * config/tc-hppa.h (elf_tc_final_processing_hook): Use it.
9962
9963 * config/tc-hppa.h (elf_tc_symbol, elf_tc_make_sections): Macros
9964 moved here from obj-elf.h.
9965 * config/obj-elf.h: Don't include CPU-specific header files.
9966
9967Sun May 30 16:49:37 1993 Peter Hoogenboom (hoogen@fast.cs.utah.edu)
9968
9969 * configure.in: configurations should match on 'hppa*' not 'hppa'.
9970
9971 * read.c: Add support for HPPA assembly language syntax (denoted
9972 with '#ifdef TC_HPPA').
9973
9974 * symbols.c: Add support for HPPA assembly language syntax (denoted
9975 with '#ifdef TC_HPPA').
9976
9977 * write.c (write_contents): Add support for HPPA-style
9978 relocations.
9979
9980 * config/obj-elf.c: Stab symbols weren't written properly.
9981 (obj_elf_version):
9982 (obj_elf_desc):
9983 (obj_elf_write_symbol):
9984 (obj_elf_write_symbol_p):
9985 (obj_elf_frob_symbol):
9986 (elf_stab_symbol):
9987 (elf_frob_file):
9988
9989 * config/tc-hppa.c: Support for HPPA symbol extension sections.
9990 Remove some unused code. Support for HPPA assembly language
9991 syntax.
9992
9993 * app.c:
9994
9995 * symbols.c:
9996
9997 * config/obj-elf.h:
9998 (obj_write_symbol):
9999 (obj_frob_file):
10000 (elf_tc_symbol):
10001 (elf_tc_make_sections):
10002
10003 * config/tc-hppa.h:
10004
10005Sun May 30 21:44:45 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
10006
10007 * config/obj-ecoff.c (obj_read_begin_hook, add_file): Assume
10008 hash_new will have succeeded if it returns.
10009 * config/tc-a29k.c (md_begin): Likewise.
10010
10011 * config/tc-i386.c (tc_aout_fix_to_chars): Now nbytes_r_length is
10012 const.
10013 (mode_from_disp_size, opcode_suffic_to_type): Now inline under
10014 gcc.
10015 (fits_in_{signed,unsigned}_{byte,word}): Likewise.
10016
10017 * expr.c: Delete register declarations; gcc ignores them anyways.
10018
10019Fri May 28 19:03:32 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10020
10021 * hash.c (hash_new): Use xmalloc, since many callers don't check
10022 for failure.
10023
49864cfa
KR
10024Thu May 27 13:02:15 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10025
10026 * frags.c (zero_address_frag, bss_address_frag): These are
10027 external.
10028
10029 * tc.h (md_reloc_size): This is const.
10030 * config/tc-{a29k,h8300,h8500,i386,i860,i960,m68k,ns32k,z8k}.c
10031 (md_reloc_size): Now const.
10032
10033 * config/aout_gnu.h (enum machine_type, enum reloc_type): Delete
10034 trailing commas.
10035 * as.h (enum _segT): Ditto.
10036
10037 * struc-symbol.h (N_TYPE_seg): This should be const.
10038
10039Thu May 27 11:43:59 1993 Michael Meissner (meissner@osf.org)
10040
10041 * config/obj-ecoff.c (add_file): Cast file_name to char * in
10042 listing_source_file call.
10043
10044 * config/obj-elf.c (elf_stab_symbol_string): Cast first argument
10045 of subseg_new call to eliminate const attribute.
10046 (obj_elf_stab): Ditto.
10047 (obj_symbol_new_hook): Cast first argument of bzero call to char *.
10048
10049 * read.c (s_align_bytes): Properly record alignment.
10050
10051 * expr.c (__): Undefine __ macro before use, since OSF/1 uses it
10052 for the prototype/no prototype macro.
10053
10054 * as.c (got_sig): Don't do return ((SIGTY) 0), SIGTY might well be
10055 void.
10056
10057 * as.h (relax_stateT enum): Delete trailing comma.
10058
9a7d824a
ILT
10059Thu May 27 11:07:50 1993 Ian Lance Taylor (ian@cygnus.com)
10060
10061 * app.c (do_scrub_begin): Let line_comment_chars override
10062 comment_chars.
10063 (do_scrub_next_char): If a line comment character is not at the
10064 start of a line, treat it as a comment character if it is one.
10065 For a CPP line comment use pseudo-op .appline rather than .line.
10066 * input-scrub.c (logical_input_line): Make int rather than
10067 unsigned.
10068 (input_scrub_push, input_scrub_begin): Initialize
10069 logical_input_line to -1 rather than 0.
10070 (bump_line_counters): Increment logical_input_line.
10071 (new_logical_line): If line_number is -2, decrement
10072 logical_input_line.
10073 (as_where): Use logical_input_line even if it is 0.
10074 * read.h (s_app_file prototype): Now takes an int argument.
10075 * read.c (potable): Make .appfile call s_app_file with 1. New
10076 .appline pseudo-op calls s_app_line.
10077 (s_app_file): If .appfile, call new_logical_line with -2 to
10078 account for newline inserted by do_scrub_next_char. If listing,
10079 call listing_source_file.
10080 (s_app_line): New function to handle fake pseudo-op .appline.
10081 * config/obj-coff.c (obj_pseudo_table): Make .appline call
10082 obj_coff_ln.
10083 (obj_coff_ln): Added argument to indicate whether .appline.
10084 * config/obj-coffbfd.c (obj_pseudo_table): Make .appline call
10085 obj_coff_ln.
10086 (obj_coff_ln): Added argument to indicate whether .appline.
10087 * config/tc-mips.c (s_file): Pass argument to s_app_file.
10088
61f14fb0
ILT
10089Tue May 25 11:59:07 1993 Ian Lance Taylor (ian@cygnus.com)
10090
10091 * config/obj-bout.h (S_GET_VALUE): Removed unnecessary cast.
10092
10093Thu May 20 19:14:24 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10094
10095 * config/tc-m68k.c (md_apply_fix_2): Straighten out check for
10096 invalid values.
10097
6eef4543
SC
10098Wed May 19 07:33:17 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
10099
10100 * config/tc-h5000.c (build_bytes): Understand @rd mode and build
10101 relocations correctly.
10102
f8f61478
KR
10103Mon May 17 15:06:26 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
10104
6eef4543
SC
10105 * Makefile.in (FLAGS_TO_PASS): Leave out TEXI2DVI for now, because
10106 it's wrong.
10107
f8f61478
KR
10108 * config/tc-m68k.c (md_apply_fix_2): Apply range checks and warn
10109 if value is out of range.
10110
10111 Patch from Minh Tran-Le:
10112 * config/tc-i386.c (i386_operand): For in/out port register used
10113 as base reg, include InOutPortReg in operand type.
10114 (MATCH): Accept overlap value of InOutPortReg.
10115
10116Mon May 17 09:29:34 1993 Ian Lance Taylor (ian@cygnus.com)
10117
10118 * config/obj-ecoff.c (add_file, obj_ecoff_loc, obj_ecoff_stab):
10119 Add calls to listing routines to produce combined source/assembler
10120 listings.
10121 (obj_ecoff_stab): Create a file pointer if none used yet.
10122 (ecoff_frob_file): Set symcount to correct value.
10123
10124Fri May 14 06:53:33 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
10125
10126 * Makefile.in (VERSION): Bump to version 2.1, in preparation for
10127 release.
10128
10129 * config/obj-aout.h (H_GET_HEADER_SIZE, H_SET_SYMBOL_TABLE_SIZE):
10130 Define in terms of constants, not C structure sizes.
10131
10132 * config/tc-rs6000.c, config/tc-rs6000.h: Delete empty files.
10133
10134Thu May 13 17:01:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10135
10136 * config/obj-aout.c (obj_header_append): Don't define if it's
10137 defined as a macro.
10138 * config/obj-hp300.h (obj_header_append): Define it as a macro.
10139 * config/obj-hp300.c (hp300_header_append): New function.
10140
10141 * Makefile.in (distclean): Don't bother cleaning up doc files;
10142 they aren't going to be in this directory.
10143
204ff785
ILT
10144Thu May 13 07:51:35 1993 Ian Lance Taylor (ian@cygnus.com)
10145
f8f61478
KR
10146 * config/obj-ecoff.c (ecoff_build_symbols): Handle absolute
10147 symbols.
10148
204ff785
ILT
10149 * tc.h (TC_COFF_SIZEMACHDEP): Don't define here.
10150 * config/tc-sh.h (TC_COFF_SIZEMACHDEP): Define here instead.
10151
65824763
KR
10152Mon May 10 06:01:12 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
10153
204ff785
ILT
10154 * config/obj-vms.c (VMS_Symbol_type_list): Don't bother with
10155 initialization.
10156
65824763
KR
10157 * configure.in (targets): Treat m68*-*-sysv* like m68k-*-coff.
10158
21bb48b9
ILT
10159Wed May 5 14:00:49 1993 Ian Lance Taylor (ian@cygnus.com)
10160
10161 * config/tc-mips.c (macro): Correct floating point double word
10162 loads and stores for big endian target.
10163
e7c2f943
KR
10164Wed May 5 08:39:21 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
10165
10166 * config/tc-i386.c: Replace SEG_* with *_section, fix up subseg_*
10167 calls. Deleted some unused code.
10168 * config/obj-coff.c: Likewise.
10169
10170 ELF support, mostly contributed by Utah:
10171 * config/obj-elf.c (obj_elf_section, obj_elf_stab, obj_elf_line,
10172 obj_elf_type): Rewrite.
10173 (obj_elf_frob_symbol, elf_stab_symbol_string, elf_stab_symbol,
10174 obj_elf_desc, obj_elf_version, obj_symbol_new_hook, obj_elf_size):
10175 New functions.
10176 (obj_elf_ident): Dummy.
10177 * config/obj-elf.h (FALSE, TRUE, S_*, tc_frob_symbol,
10178 TARGET_SYMBOL_FIELDS): New macros.
10179 (gdb_section): New variable decl.
10180
10181 * config/tc-i386.c (md_atof): Return zero, not empty string, on
10182 success.
10183
10184 BFD_ASSEMBLER conditional changes:
10185 * config/obj-coff.c (lineno_rootP, seg_N_TYPE, *_section_header):
10186 Don't define these.
10187 (SA_SET_SYM_ENDNDX, SA_SET_SYM_TAGNDX): New functions.
10188 (fetch_coff_debug_section): Ditto.
10189 (obj_coff_endef): Call fetch_coff_debug_section.
10190 (struct line_no): New type.
10191 (c_symbol_merge): New way for copying aux fields.
10192 (c_dot_file_symbol): Put symbol in absolute section, and set flag
10193 BSF_DEBUGGING.
10194 (function_lineoff): New symbol.
10195 (function_lineoff, text_lineno_number, our_lineno_number,
10196 lineno_lastP): Don't define.
10197 (c_line_new): Don't define.
10198 (obj_emit_lineno, obj_coff_endef): Use abort calls as, uh,
10199 placeholders, until
10200 line-number recording gets implemented.
10201 (obj_new_symbol_hook): New code for handling aux fields.
10202 (add_lineno, add_linesym): New functions.
10203 (obj_coff_ln): Call add_lineno, not c_line_new.
10204 (obj_coff_endef): New code for handling symbol names. New lineno
10205 code. Look for section name "*DEBUG*" for debugging section.
10206 (align, coff_check_file_symbols, obj_coff_section,
10207 coff_frob_file): New functions.
10208 * config/obj-coff.h: Reordered some includes.
10209 (BYTE_ORDERING, FILE_HEADER_MAGIC, seg_N_TYPE, N_TYPE_seg,
10210 DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE, AOUTHDR, AOUTHDRSIZE): Don't
10211 define these.
10212 (TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): New macros.
10213 (SYM_AUXENT): New macro (for non-BFD_ASSEMBLER too) for accessing
10214 aux entries. Most SA_* macros now use it unconditionally.
10215 (S_*): Use `bsym' field, and access BFD private data.
10216 (SF_*): Use `sy_flags' symbol field for most of these.
10217 (H_*, object_headers, lineno, lineno_*P, OBJ_EMIT_LINENO): Don't
10218 define.
10219 (*_section_header): Don't define.
10220 * config/tc-i386.c (md_convert_frag, md_apply_fix): Changed
10221 interface.
10222 (tc_gen_reloc) [I386COFF]: New function.
10223 (tc_aout_fix_to_chars, tc_coff_fix2rtype): Don't define.
10224 * config/tc-i386.h (TARGET_ARCH, TARGET_BYTES_BIG_ENDIAN): New
10225 macros.
10226
10227 * config/obj-coff.c (stack_init): Don't do assignments inside
10228 conditions.
10229 (obj_coff_def): Simplified handling of symbol name a bit.
10230 (tag_insert): Name argument is now pointer to CONST.
10231 (obj_crawl_symbol_chain): Commented out.
10232
10233 * config/obj-coff.h: Use PARAMS macro in prototypes.
10234
10235 * write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Don't indirect
10236 through frchainP pointer if it is null.
10237
10238 * configure.in: Warn if BFD mode is explicitly turned off but is
10239 required by specified target.
10240 (mips ecoff targets): Don't need to set bfd_gas here; it gets
10241 taken care of later.
10242
10243 * config/obj-coffbfd.c (crawl_symbols): Don't clear sy_forward
10244 field.
10245 (yank_symbols): Merge symbols only if sy_forward is null.
10246
10247 * config/tc-m68k.h (AOUT_MACHTYPE): Don't define if already
10248 defined.
10249
10250 * tc.h (md_convert_frag) [BFD_ASSEMBLER]: Section arg is not
10251 pointer.
10252 * config/tc-m68k.c (md_convert_frag) [BFD_ASSEMBLER]: Ditto.
10253
10254 * config/tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Anything starting
10255 with "." is a local label.
10256
10257 * config/te-hppa.h, config/tc-hppa.h, config/tc-hppa.c: New config
10258 files.
10259
10260 * config/te-linux.h, config/te-386bsd.h: New config files.
10261 * configure.in (i386-*-linux, i386-*-bsd): Use them.
10262 * config/tc-i386.h (TARGET_FORMAT): Select format based on target
10263 environment.
10264 (DOT_LABEL_PREFIX): Don't define for 386bsd or Linux.
10265
5d6cfa60
ILT
10266Wed May 5 13:14:01 1993 Ian Lance Taylor (ian@cygnus.com)
10267
10268 * config/obj-ecoff.c (init_file): Set fMerge to 0 since dbx seems
10269 to want it that way.
10270 (ecoff_build_symbols): Turn local st_Proc symbols into
10271 st_StaticProc symbols. Set index field of external st_Proc and
10272 st_staticProc symbols correctly.
10273 * config/tc-mips.h (NO_LISTING): Don't define. People might want
10274 listings.
10275
e7c2f943
KR
10276Tue May 4 21:22:54 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10277
10278 * config/obj-hp300.h, config/obj-hp300.c, config/te-hp300.h: New
10279 files.
10280 * configure.in (m68k-*-hpux): Use them.
10281
10282 * config/obj-aout.c (obj_pre_write_hook): Use AOUT_VERSION if
10283 defined, otherwise zero.
10284
10285 * config/aout_gnu.h (OMAGIC): Don't define if already defined.
10286
5d6cfa60
ILT
10287Mon May 3 15:59:32 1993 Steve Chamberlain (sac@thepub.cygnus.com)
10288
10289 * config/tc-sparc.c (sparc_ip): Allow any abs expression as an
10290 address space number.
10291
10292Wed Apr 28 19:11:22 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
10293
10294 * config/obj-aout.h (TARGET_DEFAULT): Don't default this at all.
10295
10296 * config/tc-a29k.c: Include ctype.h.
10297 (define_some_regs): Added special-purpose registers for 29050.
10298
e7c2f943
KR
10299 * config/tc-i386.c (comment_chars) [TE_I386AIX]: Include "/".
10300
10301 * config/obj-coffbfd.c (fill_section): Don't set STYP_REG here.
10302 (change_to_section): Set it here instead.
10303
a1387260
ILT
10304Wed Apr 28 13:40:29 1993 Ian Lance Taylor (ian@rtl.cygnus.com)
10305
10306 * config/obj-ecoff.c (obj_symbol_new_hook): Make up a .file if one
10307 hasn't been seen yet.
10308 (add_ecoff_symbol): Don't refer to cur_file_ptr if it is NULL.
10309
4a1bbbe7
SC
10310Mon Apr 26 18:29:05 1993 Steve Chamberlain (sac@thepub.cygnus.com)
10311
10312 * config/tc-sh.ch, config/tc-sh.h: New files supporting Hitachi
10313 SH.
10314
be2f6bd6
ILT
10315Mon Apr 26 12:28:27 1993 Ian Lance Taylor (ian@cygnus.com)
10316
10317 * expr.c (operand): Fix unary plus operator (previously was the
10318 same as '~' operator!).
10319
10320Wed Apr 21 00:20:11 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10321
10322 * write.c (cvt_frag_to_fill): Define even if BFD is defined.
10323 (write_object_file): Do define if BFD_ASSEMBLER. Invoke
10324 obj_check_file_symbols if defined. Call verify_symbol_chain_2
10325 instead of open-coding it. Fix some bugs in patching up symbol
10326 chain.
10327 (relax_segment): Make some code we "ought to be able to" use for
10328 all targets no longer conditionalized on ns32k target; instead, do
10329 it always, and if the appropriate conditions fail, abort.
10330
10331 * symbols.c (DEBUG): Enabled.
10332 (symbol_new): Make sure bfd_make_empty_symbol works.
53499500 10333 (verify_symbol_chain_2): New function; takes one symbol as
be2f6bd6
ILT
10334 argument, anywhere in the chain.
10335 (dollar_label*): Use default initializers.
10336
10337 * as.c (perform_an_assembly_pass): Call md_begin here...
10338 (main): ...and not here.
10339
10340 * config/tc-m68k.h (TARGET_FORMAT): Use a.out-sunos-big for a.out.
10341 (tc_frob_symbol): New macro: Get rid of symbols in reg_section.
10342
10343 * config/tc-m68k.c (omagic): Don't define for BFD_ASSEMBLER.
10344 (add_fix, add_frag): Now functions instead of macros.
10345 (m68k_reg_parse, m68k_ip, md_estimate_size_before_relax, get_num,
10346 s_data1, s_data2, s_bss): Use new *_section names, for
10347 compatibility with BFD_ASSEMBLER mode; rewrite switch statements
10348 to handle non-integral segT.
10349 (tc_coff_fix2rtype, tc_aout_fix_to_chars,
10350 tc_coff_symbol_emit_hook): Don't define for BFD_ASSEMBLER.
10351 (tc_gen_reloc): New routine for BFD_ASSEMBLER.
10352 (md_apply_fix, md_apply_fix_2): Renamed old md_apply_fix to
10353 md_apply_fix_2; new md_apply_fix definition varies interface
10354 depending on BFD_ASSEMBLER.
10355 (md_convert_frag, md_convert_frag_1): Likewise. Use new *_section
10356 names.
10357
10358 * config/obj-vms.c: Include config.h.
10359 (version_string): Delete declaration.
10360 (Write_VMS_MHD_Records): Use GAS_VERSION instead.
10361 (vms_resolve_symbol_redef): New function, taken from VMS code in
10362 symbols.c.
10363 (_doprnt): Deleted.
10364 (VMS_Store_Struct, VMS_Def_Struct, VMS_Set_Struct,
10365 VMS_TBT_Block_End, get_VMS_time_on_unix, generate_suffix,
53499500 10366 VMS_Psect_Spec): Fixed to compile under traditional C.
be2f6bd6
ILT
10367 * config/obj-vms.h: Use PARAMS macro.
10368 (vms_resolve_symbol_redef): Declare.
10369 (RESOLVE_SYMBOL_REDEFINITION): New macro.
10370 * symbols.c (colon): Remove some VMS-specific code, look for
10371 RESOLVE_SYMBOL_REDEFINITION macro instead.
10372
10373 * config/tc-m68k.c (m68k_ip): Don't try expanding DBcc
10374 instructions.
10375
10376 * config/tc-i386.c: Reordered some functions so inlining might
10377 work. Use PARAMS in function declarations.
10378 (reloc): New routine.
10379 (md_assemble): Rearrange switch statements to work with
10380 non-integral segT.
10381
10382 * struc-symbol.h [BFD_ASSEMBLER]: Undefine
10383 SYMBOLS_NEED_BACKPOINTERS before defining it.
10384
10385 * subsegs.c (subseg_new_rest): Now static.
10386
10387 * read.c (pseudo_set): Better error message for difference of
10388 symbols in different frags.
10389
10390 * Makefile.in (check): Pass down some new variables, indicating
10391 pathname or program name for cc, nm, objdump.
10392
10393 * as.h (OUTPUT_FLAVOR): New macro.
10394 * config/tc-sparc.c (tc_gen_reloc): Use OUTPUT_FLAVOR.
10395
10396 * configure.in: Initialize bfd_gas properly. Warn that ELF
10397 support is incomplete.
10398
10399Thu Apr 15 22:39:05 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10400
10401 * read.c (float_cons): Accept null pointer return from md_atof.
10402 * config/tc-m68k.c (md_atof): Return null for success.
10403 * config/tc-sparc.c (md_atof): Ditto.
10404
97a6070c
RP
10405Thu Apr 15 16:04:39 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
10406
10407 * doc/as.texinfo: formatting and comment cleanups; show SPARC
10408 alternative options in same style as other machines; simplify some
10409 conditional use; include GPL as separate file (from texinfo dir)
10410
10411 * doc/Makefile.in: (as.info) include directory containing GPL in
10412 makeinfo search path
10413
10414 * doc/h8.texi: new file; conditional settings for GAS manual
10415 on Hitachi chips
10416
10417Tue Apr 13 15:31:40 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
10418
10419 * doc/as.texinfo: mention SPARC architecture options.
10420
be2f6bd6
ILT
10421Fri Apr 9 17:43:11 1993 Ken Raeburn (raeburn@cygnus.com)
10422
10423 * configure.in: Rearranged whitespace in per-host/per-target
10424 sections. Added hooks for dropping in HPPA support (not included
10425 yet). Separate out overrides of variables based on target format
10426 and bfd-gas selection from actual target-specific commands. Add
10427 error message for recognized but unsupported format name.
10428
349f20de
ILT
10429Fri Apr 9 09:05:47 1993 Ian Lance Taylor (ian@cygnus.com)
10430
10431 * config/obj-ecoff.h (ecoff_build_lineno): Make ilineMax in
55ff56bd 10432 symbolic header match cline in FDR; the native linker seems to
349f20de
ILT
10433 want that.
10434
5316696f
DZ
10435Thu Apr 8 15:51:28 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
10436
10437 * doc/Makefile.in: as.texinfo is in $(srcdir). Use
10438 $(srcdir)/as.texinfo explicitly in several places
10439
8ac18b21
RP
10440Thu Apr 8 15:15:02 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
10441
132239bf 10442 * doc/Makefile.in: update dvi, clean targets for new source
69cb5925 10443 file structure
8ac18b21 10444
d565311f
ILT
10445Thu Apr 8 12:52:46 1993 Ian Lance Taylor (ian@cygnus.com)
10446
10447 * config/ho-decstatn.h: Define BROKEN_ASSERT if not __GNUC__,
10448 rather than undefining know.
8ac18b21 10449 * configure.in: Match ultrix*, not just ultrix.
d565311f 10450
0742a6fd
RP
10451Wed Apr 7 20:18:10 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
10452
10453 * doc/as.texinfo: converted conditional markup to use new
10454 Texinfo facilities, avoiding m4.
10455
10456 * doc/as-all.texinfo, all.m4, pretex.m4: deleted.
10457
10458 * doc/Makefile.in: recast doc configuration to use a link to an
10459 included texinfo file.
10460
10461 * doc/all.texi: settings for generic form of documentation.
10462
10463Tue Apr 6 11:56:21 1993 Ian Lance Taylor (ian@cygnus.com)
10464
10465 * read.c (cons): Zero out frag when creating reloc.
10466
367fc835
ILT
10467Mon Apr 5 09:41:58 1993 Ian Lance Taylor (ian@cygnus.com)
10468
84e4920f
ILT
10469 * config/tc-mips.c (gp_reference): Certain magic symbols can never
10470 be referenced off the GP register.
10471
367fc835
ILT
10472 * app.c (do_scrub_next_char): Handle states 9 and 10 correctly
10473 when dealing with characters of type LEX_IS_TWOCHAR_COMMENT_1ST,
10474 LEX_IS_STRINGQUOTE, and LEX_IS_ONECHAR_QUOTE.
10475
10476 * config/te-irix.h: New file; irix needs a different LOCAL_LABEL
10477 definition from other MIPS targets.
10478 * configure.in (mips-*-irix): Use emulation irix.
10479
dd4227d3
SC
10480Sun Apr 4 15:21:09 1993 Steve Chamberlain (sac@thepub.cygnus.com)
10481
10482 * config/tc-h8500.c: Get relax size of branch instructions right,
10483 (get_operand): Parse @sp+ correctly.
10484
be2f6bd6
ILT
10485Fri Apr 2 15:59:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10486
10487 * subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Don't include
10488 COFF section header field.
10489
10490 * configure.in: Print error message if host or target is not
10491 supported.
10492
10493 * configure.in: If with-bfd-assembler, use obj-coff instead of
10494 obj-coffbfd.
10495
10496 * config/ho-generic.h: Include string.h.
10497
ed364bb6
ILT
10498Fri Apr 2 08:54:57 1993 Ian Lance Taylor (ian@cygnus.com)
10499
0433135d
ILT
10500 * config/tc-mips.h (LOCAL_LABEL): Treat any label starting with
10501 '$' as local, for any object file format.
10502
477b4b04
ILT
10503 * config/tc-mips.c (macro): Optimizations to branching code and a
10504 couple of bug fixes from ralphc@pyrps5.eng.pyramid.com (Ralph
10505 Campbell).
10506
ed364bb6
ILT
10507 * config/ho-irix.h: New file; if not gcc, define BROKEN_ASSERT.
10508 * configure.in (mips-sgi-irix*): Set gas_host to irix.
10509
670a50eb
ILT
10510Wed Mar 31 17:53:54 1993 Ian Lance Taylor (ian@cygnus.com)
10511
10512 * subsegs.c (subseg_new): Set output_section of new section.
10513 * as.c (perform_an_assemly_pass): Don't set output_section here.
10514 * expr.c (expr_part, expr): Turn off section assertions for ECOFF,
10515 since it has additional sections.
10516 * read.c (s_lcomm): For MIPS ECOFF, put small objects in .sbss,
10517 not bss_section.
10518 * config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Added
10519 ecoff_undefined field.
10520 * config/obj-ecoff.c (obj_symbol_new_hook): Initialize
10521 ecoff_undefined field.
10522 (add_file): If using stabs, just output a stabs symbol rather than
10523 creating a new fdr.
10524 (obj_ecoff_begin, obj_ecoff_bend): Ignore line number by reading
10525 it with get_absolute_expression, rather than skipping it by hand.
10526 (obj_ecoff_loc): If using stabs, just output a stabs symbol rather
10527 than ECOFF line number information.
10528 (obj_ecoff_stab): Accept non-zero values for stabs line number.
10529 (ecoff_build_symbols): Set ifilesym correctly. Set storage class
10530 to small, undefined and/or readonly sections if appropriate.
10531 Don't output symbol names containing \001 characters.
10532 (ecoff_frob_file): Make sure at least one fdr is output.
10533 * config/tc-mips.h: Define TC_MIPS.
10534 * config/tc-mips.c (g_switch_value): New static variable.
10535 (md_assemble): Set gp size of output BFD.
10536 (gp_reference): New function; returns 1 if expression can be
10537 accesssed via gp. Always returns 0 if not using ECOFF.
10538 (macro_build): Convert BFD_RELOC_LO16 to BFD_RELOC_MIPS_GPREL if
10539 possible.
10540 (macro): Generate sequences using gp if possible.
10541 (md_parse_option): Ignore -EL and -EB. Parse -G.
10542 (md_apply_fix): Added BFD_RELOC_MIPS_GPREL to ignored case.
10543 (s_change_sec): Handle .rdata and .sdata for ECOFF.
10544 (s_extern): Mark symbol as external. Set ecoff_undefined field.
10545
2b1b5697
KR
10546Tue Mar 30 10:11:41 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10547
670a50eb
ILT
10548 * output-file.c (output_file_create): Don't call as_perror for
10549 filename rejected by application.
10550
10551 * as.c (main) [BFD_ASSEMBLER]: If errors occur, close and unlink
10552 the output file.
10553
4b061a2a
KR
10554 * doc/as.texinfo: Don't use @value in node names for the moment;
10555 references don't appear to work right.
10556
4478def8
KR
10557 * as.h (const, volatile): Put these definitions back, and use
10558 them.
10559
2b1b5697
KR
10560 * doc/as.texinfo: First pass at using new texinfo features --
10561 variables, conditional tests. Far from complete.
10562
10563Mon Mar 29 16:05:40 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10564
10565 * read.c: Temporary hack to handle some 64-bit constants. This
10566 should be redone later.
10567 (target_big_endian): Declare.
10568 (big_cons): If it's set, reverse order of bytes being copied.
10569 * config/tc-sparc.c (md_begin): Set target_big_endian.
10570
10571 * read.c (s_ignore): Delete declaration of is_end_of_line.
10572
10573 * config/obj-coffbfd.c (yank_symbols): Build list of file symbol
10574 forward pointers properly.
10575
e02eaa59
SC
10576Mon Mar 29 13:47:33 1993 Steve Chamberlain (sac@thepub.cygnus.com)
10577
10578 * config/obj-coffbfd.c (do_relocs_for): Fix bug where nrelocs
10579 wasn't being stored into scnhdr.
10580 * config/obj-coffbfd.h: Add prototype of s_get_segment.
10581 * read.c (TC_START_LABEL): Default definition.
10582 (read_a_source_file): Use TC_START_LABEL macro to work out
10583 if a label has been seen.
10584
543d88e4
ILT
10585Mon Mar 29 12:56:56 1993 Ian Lance Taylor (ian@cygnus.com)
10586
c39b3eba
ILT
10587 * configure.in: Set BFDDEF and BFDLIB at the top of Makefile, not
10588 the bottom (make expands variables in dependencies when the
10589 dependencies are read, not when they are used).
10590
543d88e4
ILT
10591 * config/obj-coffbfd.c (fill_section): Don't set NOLOAD bit for
10592 a29k .bss section; the mondfe program doesn't like it.
10593
2b1b5697
KR
10594Sun Mar 28 08:12:53 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
10595
10596 * config/tc-m68k.c: Use PARAMS macro, and use CONST instead of
10597 const.
10598 (current_architecture): Don't need initializer.
10599
10600Fri Mar 26 08:12:48 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10601
10602 * doc/none.m4: Define Z8000.
10603 * doc/Makefile.in (as-*.texinfo): Refer to $(srcdir). Remove the
10604 texinfo file before recreating it.
10605 (TEXI2DVI): Need to set TEXINPUTS if "make as.dvi" is to work in
10606 this directory.
10607 (srcdir): Delete second, bogus definition.
10608 (as.info): Look for as-*.texinfo in current directory rather than
10609 in $(srcdir).
10610 (as.dvi): Ditto.
10611 (dvi): New rule.
10612 * doc/configure.in: Create links to all as-*.texinfo files in the
10613 source directory, if that's not the current directory.
10614
10615 * configure.in (per-host): Accept MIPS host with BSD version
10616 number.
10617 (per-target): Classify i486 as i386. Use generic cpu_type instead
10618 of target_cpu in selecting format etc.
10619
10620 * app.c (do_scrub_next_char): Use .appfile, not .app-file.
10621 * read.c (potable): Change .app-file to .appfile.
10622
10623 * config/ho-decstatn.h: Renamed from ho-decstation.h.
10624 * configure.in: Adjusted.
10625
10626 * config/obj-bfd-sunos.*: Unused; deleted.
10627
10628 * Makefile.in (version.c, vers-stamp): Deleted.
10629 (config.h): Define GAS_VERSION.
10630 * as.c (version_string): Deleted declaration.
10631 (main): Look for GAS_VERSION instead.
10632
10633 * doc/as.texinfo: Updated description of -a* (listing) options,
10634 and describe how to pass them through from gcc.
10635
10636 * config/obj-coffbfd.c (do_relocs_for): Don't allocate storage or
10637 process relocs if there aren't any relocs to process. Avoids
10638 malloc/free bug on SCO too.
10639
10640 * as.h: Move local include files below system include files, to
10641 avoid some redefinition complaints on some systems.
10642 (const, volatile): Don't need these conditionally defined if we
10643 use CONST and VOLATILE from ansidecl.h.
10644 (seg_name): Use CONST, not const.
10645
543d88e4
ILT
10646Fri Mar 26 10:22:04 1993 Ian Lance Taylor (ian@cygnus.com)
10647
10648 * config/tc-mips.c: Reindented to GNU standards.
10649
2c19a57c
ILT
10650Thu Mar 25 08:59:14 1993 Ian Lance Taylor (ian@cygnus.com)
10651
61001d96
ILT
10652 * config/obj-coffbfd.c (do_relocs_for): Remove a29k special case.
10653 (fixup_segment): Add a29k special case; the linker is not prepared
10654 to see a segment offset here.
10655
2c19a57c
ILT
10656 * app.c (do_scrub_next_char): Added new state, 10, modifying state
10657 9 to only keep a space in between identifier characters.
10658
afcc637a
DZ
10659Wed Mar 24 02:16:22 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com)
10660
2d4bef5e
DZ
10661 * Makefile.in: add dvi target; as-$(config).texinfo might live in
10662 srcdir, might be in objdir.
afcc637a
DZ
10663
10664 * doc/Makefile.in: dvi depends on as.dvi
10665
80c8fd72
DZ
10666Mon Mar 22 23:59:13 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
10667
10668 * Makefile.in: add installcheck target
10669
fd4b7c25
KR
10670Mon Mar 22 16:25:57 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
10671
10672 * config/tc-sparc.c (sparc_ip): Add support for membar mask names.
10673 Add missing colons in prefetch error messages. Add support for
10674 ASI names.
10675
1369949e
ILT
10676Mon Mar 22 10:19:00 1993 Ian Lance Taylor (ian@cygnus.com)
10677
10678 * config/tc-mips.c (macro): Use $AT for any floating point load.
10679
63cdddad
KR
10680Sat Mar 20 12:50:51 1993 Ken Raeburn (raeburn@urth.cygnus.com)
10681
10682 * config/tc-m68k.c (m68k_ip): For operand type 'M', reject
10683 bignums, but don't emit error message.
10684
69498fa2
JW
10685Fri Mar 19 21:02:19 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
10686
10687 * Makefile.in (targ-cpu.o): Depend on config.h.
10688
f6a91cc0
ILT
10689Wed Mar 17 16:44:06 1993 Ian Lance Taylor (ian@cygnus.com)
10690
10691 * app.c (do_scrub_next_char): Added new state, 9, to avoid
10692 dropping a space immediately following an identifier.
10693 * expr.c, write.c: Rewrote assert expressions to not use multiple
10694 lines; I don't think that can be done portably.
10695 * config/tc-mips.c (macro): Use $AT if target register is zero in
10696 load instruction, which it can be for a floating point load.
10697
a36f6645
ILT
10698Mon Mar 15 12:17:28 1993 Ian Lance Taylor (ian@cygnus.com)
10699
3d3c5039
ILT
10700 * write.c (write_contents): Compute the relocs before writing out
10701 the section contents.
10702 * config/obj-ecoff.h, config/obj-ecoff.c: Numerous changes to get
10703 symbol table and values right.
10704 * config/tc-mips.h (LOCAL_LABEL): If OBJ_ECOFF, any label starting
10705 with $L is local.
10706 * config/tc-mips.c (tc_gen_reloc): If OBJ_ECOFF, adjust the addend
10707 by the section vma.
10708
10709 * config/z8k.mt (TARG_CPU_DEPENDENTS): The relevant file is
10710 z8k-opc.h, not z8k.h.
10711
a36f6645
ILT
10712 * config/obj-coffbfd.c (obj_coff_endef): Correct test for .bf
10713 symbol.
10714
2a697fa4
DZ
10715Fri Mar 12 18:33:36 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
10716
10717 * configure.in: recognize sparc-sun-solaris2* instead of -solaris2
10718
f2f7d044
ILT
10719Fri Mar 12 12:00:07 1993 Ian Lance Taylor (ian@cygnus.com)
10720
10721 * expr.c, write.c: Ultrix native 4.2 cc requires assert condition
10722 to be on a single line.
10723
ed099874
KR
10724Thu Mar 11 17:56:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10725
10726 * Makefile.in (config.h): Create file, writing out definitions of
10727 target cpu, alias, and canonical name.
10728 (ALL_CFLAGS): No longer define TARGET_CPU.
10729
10730 * Makefile.in (check): Print a message, instead of quitting
10731 silently.
10732
10733 * as.c (main): Don't catch any signals, for now.
10734
10735 * version.c: Deleted.
10736 * Makefile.in: Generate it, putting in only the version number
10737 itself.
10738 (VERSION): New variable.
10739 * as.c: Include config.h.
10740 (main): Reformatted version string. Include target alias. Don't
10741 print if not requested (i.e., unknown -v argument).
10742
10743 * as.c (stralloc): Deleted.
10744 (main): Call strdup instead.
10745
10746 * configure.in: Handle all 68300 series chips.
10747 * config/tc-m68k.c: Include config.h.
10748 (md_assemble): Assume TARGET_CPU is defined. Accept some 68300
10749 series cpus as defaults.
10750 (md_parse_option): Accept some m68300 series CPUs as defaults.
10751
10752Wed Mar 10 17:41:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10753
10754 * as.c (EXIT_SUCCESS, EXIT_FAILURE): Define to normal values if
10755 not already defined.
10756 (main, got_sig): Use them.
10757 * config/ho-vms.h (EXIT_SUCCESS, EXIT_FAILURE): Reverse default
10758 values.
10759
10760Tue Mar 9 07:40:06 1993 Ian Lance Taylor (ian@cygnus.com)
10761
10762 * config/obj-ecoff.c, config/obj-ecoff.h: Preliminary ECOFF
10763 support.
10764
10765 * config/tc-mips.h (TARGET_FORMAT): Define based on OBJ_AOUT vs.
10766 OBJ_ECOFF as well as TARGET_BYTES_*_ENDIAN.
10767 (struct loc, struct proc, struct file): Moved to tc-mips.c within
10768 #ifndef OBJ_ECOFF block, since ECOFF uses different versions.
10769 * config/tc-mips.c: Rearranged for ECOFF support. Added
10770 prototypes for all static functions. Moved existing minimal
10771 debugging format support info #ifndef OBJ_ECOFF blocks.
10772 (macro_build_lui): Eliminated sign_extend argument, because ECOFF
10773 does not support a non sign extended high 16 bits reloc. Adjusted
10774 all callers accordingly.
10775 (tc_get_register): Renamed from get_register, and made non-static.
10776
10777 * config/mips-big.mt, config/mips-lit.mt: New files. Define
10778 TARGET_BYTES_BIG_ENDIAN and TARGET_BYTES_LITTLE_ENDIAN,
10779 respectively.
10780 * configure.in (mips-*-bsd*): Use gas_target mips-lit.
10781 (mips-*-ultrix*, mips-*-irix*, mips-*-ecoff): New targets, using
10782 obj_format ecoff and gas_target mips-lit or mips-big.
10783
c5d4bc88
KR
10784Tue Mar 9 07:43:01 1993 Ken Raeburn (raeburn@cygnus.com)
10785
10786 * version.c: Bump to version 2.0.1.
10787
fefba3a5
ILT
10788Tue Mar 9 07:40:06 1993 Ian Lance Taylor (ian@cygnus.com)
10789
10790 * write.c (chain_frchains_together): Check that seg_info (section)
10791 is not NULL.
10792 (write_object_file): Call obj_frob_file after setting the symbols,
10793 not before.
10794
2b1b5697
KR
10795Tue Mar 9 00:00:00 1993 Ken Raeburn (raeburn@cygnus.com)
10796
10797 * Version 2.0 released.
10798
fefba3a5
ILT
10799Mon Mar 8 14:57:10 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10800
10801 * config/tc-i386.h (TC_COUNT_RELOC): Look for fx_addsy only.
10802
10803Fri Mar 5 09:05:55 1993 Ian Lance Taylor (ian@cygnus.com)
10804
10805 * read.h: Define stringer here.
10806 read.c, config/obj-ieee.c, config/obj-tcm88k.c: Not any of these
10807 places.
10808
bf449293
SC
10809Thu Mar 4 11:52:23 1993 Steve Chamberlain (sac@thepub.cygnus.com)
10810
10811 * read.c (s_space): Multiply repeat count by mult, not fill.
10812
9471a360
KR
10813Thu Mar 4 05:20:42 1993 Ken Raeburn (raeburn@cygnus.com)
10814
10815 * read.c: Include ctype.h.
10816
1101551c
KR
10817Wed Mar 3 10:41:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10818
10819 Patches from Eric Youngdale:
10820 * make-gas.com: Find obstack.obj if it's not in the current
10821 directory.
10822 * read.c (s_ignore): Don't declare is_end_of_line. It's
10823 redundant, and triggers a VMS gcc compiler bug.
10824
10825 * write.c (write_object_file): Macro SUB_SEGMENT_ALIGN now takes
10826 current segment as an argument. (Ignored in all cases but VMS.)
10827 All callers and definitions changed.
10828
5e4cddb7
ILT
10829Tue Mar 2 11:56:19 1993 Ian Lance Taylor (ian@cygnus.com)
10830
10831 * listing.c: Cleaned up a bit, added prototypes, made NO_LISTING
10832 case compile again.
10833
f3ca2a64
KR
10834Tue Mar 2 08:53:34 1993 Ken Raeburn (raeburn@cygnus.com)
10835
10836 * config/tc-m68k.c (isbyte): Accept all values from -255 to +255,
10837 so "~0x80" won't be rejected.
10838
10839 * config/obj-elf.c: No longer include elf/reloc.h.
10840 (obj_elf_section): Set SEC_READONLY and SEC_CODE for text section.
10841 (obj_elf_stab, obj_elf_desc): Deleted do-nothing and commented-out
10842 routines.
10843 (obj_elf_xstab): New routine.
10844 (obj_elf_set_size): Call as_warn, not fprintf. Pass desired
10845 argument to s_ignore. Put "#if 0" around unused code.
10846 (obj_pseudo_table): Use s_ignore instead of do-nothing routines.
10847 Call elf_xstabs for .stabs and .xstabs operators.
10848
10849 * config/tc-sparc.h (TARGET_FORMAT) [OBJ_ELF]: Now "elf32-sparc".
10850
10851 * write.c (relax_and_size_seg): Set SEC_RELOC only if fixups are
10852 present.
10853
10854 * configure.in: mips-bsd configuration was missing format spec.
10855 Should use aout.
10856
10857 * Makefile.in (Makefile): Depends on configure.in.
10858
10859 * config/tc-mips.c (append_insn): Don't check for alignment of
10860 frag in memory; alignment of instructions in section is a separate
10861 matter.
10862
10863 * config/tc-mips.c (macro_build_lui): Fix some assumptions of ANSI
10864 C availability.
10865
10866 * listing.h: Always provide function declarations, not macros, so
10867 pcc won't lose.
10868
7687d89b
JG
10869Tue Mar 2 00:50:43 1993 John Gilmore (gnu@cygnus.com)
10870
10871 * CONTRIBUTORS: Update Gilmore entry.
10872
fd4b7c25
KR
10873Mon Mar 1 12:03:16 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
10874
10875 * config/tc-sparc.c (sparc_ip): Correctly assemble prefetch
10876 instructions. Accept integer prefetch function numbers.
10877
7687d89b
JG
10878Wed Feb 24 14:58:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10879
fd4b7c25
KR
10880 * config/tc-sparc.c (s_xword): Now call big_cons, so large
10881 constants are accepted, but symbolic values are not. GCC will not
10882 generate the latter currently.
10883
7687d89b
JG
10884 * frags.c (frag_init): New function.
10885 (zero_address_frag, bss_address_frag): Now initialized at run
10886 time.
10887 * as.c (main): Call frag_init.
10888
160b7f0f
ILT
10889Wed Feb 24 10:32:42 1993 Ian Lance Taylor (ian@cygnus.com)
10890
10891 * app.c (do_scrub_next_char): In LEX_IS_LINE_COMMENT_START case:
10892 Don't unget ch2 if we didn't get it.
10893
0cca30f3
KR
10894Wed Feb 24 04:14:07 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
10895
10896 * doc/Makefile.in (TEXIDIR): Updated for new layout.
10897
10898 * config/tc-sparc.c (s_common): Add support for ELF version.
10899 (tc_gen_reloc) [BFD_ASSEMBLER]: New function.
10900 * config/tc-sparc.h (TARGET_ARCH, TARGET_FORMAT) [BFD_ASSEMBLER]:
10901 New macros.
10902 (md_convert_frag): New macro.
10903
10904 * config/tc-m68k.c (m68k_ip): For PC-relative addressing of a
10905 symbol, fix the offset so "+2" isn't required.
10906
10907 * config/tc-i960.c (line_comment_chars, line_separator_chars):
10908 Define as common/bss.
10909 (op_hash, reg_hash, areg_hash, iclasses_seen, br_cnt): Default C
10910 initializers are sufficient.
10911
10912 * config/obj-aout.h [BFD_ASSEMBLER]: Include libaout.h from bfd.
10913 (TARGET_FORMAT) [BFD_ASSEMBLER]: Default to "a.out".
10914 (S_SET_*, S_GET_*, obj_frob_symbol) [BFD_ASSEMBLER]: New macros.
10915 (S_SET_TYPE) [!BFD_ASSEMBLER]: New macro.
10916 * config/obj-aout.c: Use PARAMS macro for declarations. Remove
10917 "IGNORE_DEBUG" conditional, since both branches are identical.
10918 Use S_SET_TYPE, S_GET_TYPE, and S_GET_DESC instead of directly
10919 referencing symbol structure members.
10920 (obj_aout_frob_symbol) [BFD_ASSEMBLER]: New function.
10921
10922 * as.h (struct frag): Reordered a couple of fields for better
10923 packing.
10924
10925 * write.c (record_alignment) [BFD_ASSEMBLER]: Record it in the
10926 section info.
10927 (write_contents) [BFD_ASSEMBLER]: New function.
10928 (write_object_file) [BFD_ASSEMBLER]: Always handle -R here. Call
10929 fix_new with BFD_RELOC_NONE instead of 0 or NO_RELOC. Call
10930 obj_frob_file, obj_frob_symbol, tc_frob_symbol if defined.
10931 (fixup_segment): Make sure common-section symbols get treated the
10932 same as undefined symbols.
10933 (fix_new) [BFD_ASSEMBLER]: Argument r_type is of type
10934 bfd_reloc_code_real_type. Use seg_fix_{root,tail}P derived from
10935 section info.
10936 * write.h (fix_new): Update prototype.
10937
10938 * tc.h (md_operand, md_convert_frag, tc_headers_hook,
10939 md_section_align, md_undefined_symbol): Don't provide prototypes
10940 if these are defined as macros.
10941 (md_convert_frag) [BFD_ASSEMBLER]: BFD version needs bfd and
10942 section passed.
10943
10944 * symbols.c (symbol_new): Argument NAME is now pointer to const.
10945 Simplified STRIP_UNDERSCORE code. Remove assumptions about null
69cb5925 10946 pointers in freshly allocated storage. [BFD_ASSEMBLER]: Get new
0cca30f3
KR
10947 BFD symbol.
10948 (colon): Display other/desc fields of redefined symbol only if
10949 S_GET_OTHER and S_GET_DESC are defined.
10950 (symbol_make): Argument NAME is now pointer to const.
10951 (symbol_find, symbol_find_base): Likewise.
10952 (S_IS_*, S_GET_*, S_SET_*) [BFD_ASSEMBLER]: New functions.
10953 * symbols.h: Fix prototypes for new const arguments. Add
10954 prototypes for BFD_ASSEMBLER S_* functions.
10955
10956 * subsegs.c (subseg_change) [BFD_ASSEMBLER]: BFD version of code
10957 for changing to an existing section.
10958 (subseg_new_rest) [BFD_ASSEMBLER]: Split off from subseg_new,
10959 called by subseg_new and subseg_set.
10960 (subseg_new) [BFD_ASSEMBLER]: Rewritten to change to new section,
10961 given section name and subseg number.
10962 (subseg_set) [BFD_ASSEMBLER]: New function; change to a possibly
10963 new section/subsection.
10964
10965 * read.c: Don't include ctype.h.
10966 (cons) [BFD_ASSEMBLER]: For undefined symbols, use BFD_RELOC_32
10967 for now; should be machine-dependent.
10968
10969 * configure.in: Accept *-*-elf and *-*-solaris* as ELF format
10970 targets, forcing BFD use.
10971
10972Wed Feb 17 18:59:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
10973
10974 * config/tc-sparc.c: Use PARAMS macro for static function
10975 declarations. Use BFD_RELOC_ macros everywhere, with
10976 compatibility macros declared for non-BFD mode.
10977 (struct sparc_it) [BFD_ASSEMBLER]: Use bfd_reloc_code_real_type
10978 instead of enum reloc_type.
10979 (emit_sparc_reloc): Commented-out function deleted.
10980 (md_convert_frag): Deleted.
10981 (tc_aout_pre_write_hook): Don't define for BFD_ASSEMBLER.
10982 (md_apply_fix): Changed calling sequence (conditionally) for BFD
10983 version.
10984 * config/tc-sparc.h (md_convert_frag): New macro.
10985
10986 * config/obj-aout.c (obj_aout_stab): Refer to undefined_section,
10987 not SEG_UNKNOWN. Use S_SET_TYPE, S_GET_TYPE, S_GET_DESC instead
10988 of referencing fields directly.
10989
10990 * write.c (cvt_frag_to_fill): New function; extracted from
10991 write_object_file.
10992 (write_object_file) [! BFD_ASSEMBLER]: Call it.
10993 (relax_and_size_seg) [BFD_ASSEMBLER]: New function; relax section
10994 and set its size and flags.
10995
10996 * struc-symbol.h (struct symbol) [BFD_ASSEMBLER]: Replace some
10997 fields with BFD equivalents. Turn on back-pointers, and add
10998 target-specific fields at end.
10999
11000Thu Feb 11 09:20:37 1993 Ian Lance Taylor (ian@cygnus.com)
11001
11002 * config/obj-coffbfd.c (fill_section): Don't set vaddr here.
11003 (write_object_file): Set it here instead, so that fixup_segment
11004 can see the correct value.
11005
11006Mon Feb 8 13:56:17 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
11007
11008 * write.c (write_object_file): Check for errors and warnings and
11009 bail out before processing contents.
11010 (chain_frchains_together_1): New function, does most of the work
11011 of remove_subsegs.
11012 (chain_frchains_together) [BFD_ASSEMBLER]: New function.
11013 (remove_subsegs) [! BFD]: Call it.
11014 (write_object_file) [BFD_ASSEMBLER]: Converted to use BFD
11015 structures and routines.
11016
11017 * config/obj-elf.*: New files.
11018
11019 * config/mips.mt, config/rs6000.mt: Deleted.
11020
11021 * config/h8300.mt: Don't specify compiler here.
11022
7687d89b 11023 * config/z8k.mt: The z8k code depends on the z8k opcode table,
0cca30f3
KR
11024 not the h8300 one.
11025 * config/tc-z8k.h: Comment fix.
11026
11027 * write.c: Reordered some functions for better inlining.
11028 (fixup_segment): Linkrelax code is no longer conditional on
11029 TC_I960.
11030
11031Thu Feb 4 12:45:16 1993 Steve Chamberlain (sac@thepub.cygnus.com)
11032
11033 * config/{h8500.mt, tc-h8500.c, tc-h8500.h, obj-coffbfd.c,
11034 obj-coffbfd.h}: support for the H8/500
11035
11036Wed Feb 3 19:28:18 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
11037
11038 * config/obj-vms.h (SUB_SEGMENT_ALIGN): Define VMS version here.
11039 * write.c (write_object_file): Not here.
11040 (fix_new): Initialize fx_addnumber.
11041
11042 * listing.c: Don't include target-cpu.h explicitly, since as.h
11043 includes it.
11044
11045Thu Jan 28 00:35:40 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
11046
11047 * write.h [BFD_ASSEMBLER]: Don't declare next_object_file_charP,
11048 *_fix_root, *_fix_tail, seg_fix_rootP, seg_fix_tailP.
11049 (struct fix): Reordered fields for compactness and efficiency.
11050 Converted some logical fields to 1-bit fields.
11051
11052 * config/obj-aout.h: Use PARAMS.
11053 [BFD_ASSEMBLER]: Don't define/declare AOUT_MACHTYPE, seg_N_TYPE,
11054 N_TYPE_seg, DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE.
11055
11056 * read.c: Don't include listing.h; as.h includes it. Removed
11057 DONTDEF code.
11058 [BFD_ASSEMBLER]: Include subsegs.h.
11059 (old_buffer, new_broken_words): Default initialization is
11060 sufficient.
11061
11062 * output-file.c [BFD_ASSEMBLER]: Include bfd.h, default TARGET_MACH
11063 to 0, define stdoutput.
11064 (output_file_create) [BFD_ASSEMBLER]: Call bfd_perror on failure.
11065 Call bfd_set_arch_mach.
11066 (output_file_close) [BFD_ASSEMBLER]: Call bfd_close, not
11067 bfd_close_all_done. Call bfd_perror on failure.
11068 (output_file_append) [BFD_ASSEMBLER]: Don't define.
11069
11070 * config/m68kcoff.mt (LOCAL_LOADLIBES): Delete definition.
11071
11072 * subsegs.h (segment_info_type): Always define. Omit field scnhdr
11073 if not MANY_SEGMENTS. Define new field bfd_section if
11074 BFD_ASSEMBLER.
11075 (seg_info): New macro.
11076
11077 * expr.c, input-scrub.c: Use PARAMS macro. Deleted unused
11078 variables, and some irrelevant comments.
11079
11080 * Makefile.in (ALL_CFLAGS): Include $(BFDDEF).
11081 (LIBS): Include $(BFDLIB). Don't bother with $(CLIB).
11082 * configure.in: Permit --with-bfd-assembler now, with a warning.
11083 Variable need_bfd is now a boolean, as is new variable bfd_gas.
11084 Set BFDDEF and BFDLIB in Makefile when appropriate.
11085
11086 * as.c: Removed "#ifdef DONTDEF" and "#ifdef comment" code.
11087 (main): Refer to flag_always_generate_output instead of
11088 flagseen['Z'].
11089
11090 * as.c (main) [BFD_ASSEMBLER]: Open output bfd.
11091 (*_section) [BFD_ASSEMBLER]: Define them.
11092 (perform_an_assembly_pass) [BFD_ASSEMBLER]: Initialize them, and
11093 set section flags when appropriate.
11094 * as.h (SEG_NORMAL) [BFD_ASSEMBLER]: Require that the specified
11095 section is not absolute, undefined, or an assembler internal one.
11096 (absolute_section, undefined_section): Always define.
11097 * expr.c, read.c, symbols.c: Refer to *_section, not SEG_*; break
11098 switch statements into if-else trees.
11099 * symbols.c [MANY_SEGMENTS]: Deleted redundant definitions of
11100 SEG_BSS and SEG_DATA.
11101
11102 * as.h (frag_now_fix): New macro.
11103 * symbols.c (colon): Use it.
11104
11105Wed Jan 27 21:43:53 PST 1993 Ralph Campbell (ralphc@pyramid.com)
11106
11107 * config/tc-mips.c: Added mips support for mips-dec-bsd.
11108 * config/tc-mips.h: Added mips support for mips-dec-bsd.
11109 * config/ho-mipsbsd.h: Added mips support for mips-dec-bsd.
11110 * config/mips-opcode.h: Added mips support for mips-dec-bsd.
11111 * configure.in: Added mips support for mips-dec-bsd.
11112 * atof-generic.c: Define TRUE and FALSE if not defined.
11113
11114Thu Jan 21 12:48:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
11115
11116 * version.c: Bumped version number to 1.93.05.
11117
11118Wed Jan 20 17:11:53 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
11119
11120 * config/obj-coff.c (obj_emit_relocations): Don't use #elif.
11121 (obj_emit_lineno): Don't need return at end of void function.
11122 (obj_symbol_new_hook): Ditto.
11123
11124 * config/tc-m68k.c: Removed some unused code.
11125 (tc_aout_fix_to_chars): Array nbytes_r_length is now const.
11126
11127 * config/tc-m68k.h (TC_COUNT_RELOC): Don't emit reloc if only
11128 offset field is set.
11129
11130Fri Jan 8 05:44:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
11131
fd4b7c25
KR
11132 * config/tc-sparc.c (sparc_ip): For %uhi and %ulo, if not
11133 ENV64, emit no reloc.
11134 (md_pseudo_table): For ".xword", call s_xword.
11135 (s_xword): New function.
11136
0cca30f3
KR
11137 * config/tc-sparc.c (architecture_requested, warn_on_bump,
11138 md_relax_table): Use default zero initialization.
11139 (s_reserve): Since SEG_E2 is equivalent to SEG_BSS, just use the
11140 latter, instead of selecting with preprocessor conditionals.
11141
11142Thu Jan 7 08:58:21 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
11143
11144 * configure.in: recognise all sparclite variants
11145
11146Thu Jan 7 05:25:25 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
11147
11148 * read.c (s_data) [!BFD_ASSEMBLER]: Fix typo in 4 Jan change --
11149 accidentally changed to use subseg_change where it should have
11150 been subseg_new.
11151
6c5f9998
KR
11152Tue Jan 5 08:42:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
11153
0bd77bc4
KR
11154 * expr.c (operand): If character other than comma or newline is a
11155 logical end-of-line character, use the newline case.
0cca30f3
KR
11156 From Eric Youngdale:
11157 (operand): Set X_add_number field for floating-point numbers.
11158 (operand): Treat zero byte as end-of-operand.
0bd77bc4 11159
6c5f9998
KR
11160 * configure.in (per-target): Look for with_bfd_assembler option.
11161 For now, only accept "no", until the merge is done.
11162
0cca30f3
KR
11163 Merged changes from Eric Youngdale (youngdale@v6550c.nrl.navy.mil):
11164 * as.c, flonum-konst.c, hex-value.c, input-file.c, version.c,
11165 config/obj-aout.h, config/obj-vms.c: VMS -> HO_VMS.
11166 * read.c: Finish conversion to S_* macros in the VMS only
11167 parts of the program. Add "const" modifier to hex_value.
11168 * as.c, read.c, symbols.c, write.c: Change "ifdef VMS" to
11169 "ifdef OBJ_VMS".
11170 * expr.c: Add "const" modifier to hex_value.
11171 * symbols.c: Finish conversion to S_* macros in the VMS only
11172 parts of the program. Add "const" modifier to
11173 md_[long,short]_jump_size. Remove declaration of const_flag
11174 (which will be declared in obj-vms.h).
11175 * write.c: Add "const" modifier to md_[long,short]_jump_size.
11176 Fix arguments to VMS_write_object_file.
11177 * config-gas.com: New file. Script for VMS systems to set up the
11178 configuration to build gas for VMS, and create config.status.
11179 * make-gas.com: Redone to work with new scheme.
11180 * obj-vms.c: Patch to fix bug where we were not correctly parsing the
11181 stabs directives.
11182 * obj-vms.c: Define macros COPY_LONG and COPY_SHORT which
11183 will swap bytes if needed on a big endian system. Use throughout
11184 as needed.
11185 * obj-vms.c (obj_aout_stab): Add code to generate listing file.
11186 * obj-vms.c (VMS_typedef_parse): Add alias to correctly handle certain
11187 types of malformed stabs. Change parsing algorithm so that we are
11188 more certain of having all of the information that we need on hand.
11189 * obj-vms.c (final_forward_reference): New function, used to help
11190 resolve the data types of as many struct elements as possible
11191 when some part of the struct is not fully defined by the compiler.
11192 * obj-vms.c (VMS_LSYM_Parse): Correctly handle case of continuation
11193 stabs directives.
11194 * obj-vms.c (VMS_write_object_file): Define all vtable psects
11195 as symbols as well in the object file. Look for external functions
11196 that start with "__vt.", and turn them into variables, since the
11197 g++ compiler is incapable of doing this.
11198 * tc-vax.c: Add '1' option for backward compatibility with older GCC
11199 versions.
11200 * bignum-copy.c (bignum_copy): Fix bug where we pad with zeroes.
11201 * input-scrub.c (as_where): Fix bug where as would crash if we did not
11202 have the name of the source file yet.
11203 * config/ho-vms.h: define HO_VMS, not HO_VAX.
11204
9d76a195
KR
11205Mon Jan 4 05:17:26 1993 Ken Raeburn (raeburn@cygnus.com)
11206
11207 * read.c (s_data): Always use "data_section", since it'll map to
11208 SEG_DATA or SEG_E1 if needed.
11209 (s_lcomm): Likewise with bss_section.
11210 (s_fill): Use memset, not bzero.
11211
11212Thu Dec 31 04:29:27 1992 Ken Raeburn (raeburn@kr-pc.cygnus.com)
11213
11214 * read.c: Deleted some code under "#ifdef DONTDEF" that was for
11215 handling GDB symbol table data.
11216
11217 * config/obj-aout.h (segment_name): Delete definition.
11218 (seg_name): Delete declaration.
11219 * config/obj-bout.h (segment_name, seg_name): Ditto.
11220 * config/obj-vms.h (segment_name, seg_name): Ditto.
11221 * config/obj-coff.h (segment_name): Ditto.
11222 * config/obj-coffbfd.h (segment_name): Ditto.
11223
11224 * Changes for BFD_ASSEMBLER:
11225 * obj.h (obj_crawl_symbol_chain): Declare only if not
11226 BFD_ASSEMBLER.
11227 (obj_header_append, obj_pre_write_hook): Ditto.
11228 * as.h (stdoutput): New var, defined only if BFD_ASSEMBLER.
11229 (segT) [BFD_ASSEMBLER]: New typedef for "asection *".
11230 (segment_name) If BFD_ASSEMBLER, look up BFD section name;
11231 otherwise, use seg_name array.
11232 (seg_name): Declare only if not BFD_ASSEMBLER.
11233 (section_alignment): Declare only if not BFD_ASSEMBLER.
11234 (big_section, reg_section, pass1_section, diff_section,
11235 absent_section, text_section, data_section, bss_section): If
11236 BFD_ASSEMBLER, declare as variables; otherwise, declare as macros,
11237 mapping to segT enum values.
11238 (tc_aout_fix_to_chars, next_object_file_charP): Force parse errors
11239 if these are used or defined, if BFD_ASSEMBLER.
11240 (subseg_set, subseg_new) [BFD_ASSEMBLER]: Functionality of old
11241 subseg_new split into two functions.
11242 (SEG_NORMAL): For BFD_ASSEMBLER, always return true, for now.
11243
11244 * as.h (volatile): Don't define if already defined.
11245 (had_errors, had_warnings): Provide prototypes for ANSI C even if
11246 NO_STDARG.
11247 (as_bad, as_fatal, as_tsktsk, as_warn): For GNU C version 2,
11248 declare with format attribute for -Wformat checking.
11249
85825401
ILT
11250Wed Dec 30 10:18:57 1992 Ian Lance Taylor (ian@cygnus.com)
11251
11252 * app.c, config/tc-*.c: Don't include read.h, since it is already
11253 included by as.h.
11254
11255 * These are based on patches from Minh Tran-le
11256 <mtranle@paris.intellicorp.com>.
11257 * configure.in (i[34]86-ibm-aix*): Accept i486 for host. Use
11258 obj_format coffbfd and gas_target i386coff for target.
11259 (i[34]86-*-isc*): New host (uses sysv).
11260 * config/i386aix.mt: Removed (no longer used).
11261 * config/mh-i386aix (RANLIB): Use true rather than /bin/true.
11262 (MINUS_G): Removed.
11263 (LDFLAGS): Added, defined as -shlib.
11264 * config/te-i386aix.h (REVERSE_SORT_RELOCS): Undefine.
11265 * config/te-sco386.h (LOCAL_LABEL): Don't define.
11266 (DOT_LABEL_PREFIX): Define.
11267 * expr.c (operand): If DOT_LABEL_PREFIX, use .L0\001 as a label
11268 name rather than L0\001.
11269 * read.c (s_lcomm): Make a frag in SEG_BSS rather than using
11270 local_bss_counter.
11271 * symbols.c, symbols.h (local_bss_counter): Removed.
11272 * write.c (write_object_file): bss no longer uses
11273 local_bss_counter. Pass correct data and bss size to
11274 VMS_write_object_file.
11275 * config/obj-vms.c (VMS_write_object_file): Accept bss size as
11276 argument, rather than using local_bss_counter.
11277 * config/tc-m88k.c (s_bss): Don't use local_bss_counter.
11278 * config/tc-sparc.c (s_reserve): Don't use local_bss_counter.
11279 * config/obj-coffbfd.c (had_lineno, had_reloc): Removed.
11280 (size_section): Restored sanity check.
11281 (do_relocs_for): Base section address on s_paddr rather than
11282 computing it. Adjust a29k R_IHIHALF special case to account for
11283 section paddr (used to require paddr to be zero). If there are no
11284 reclos, set s_relptr to 0. Set relocation size in object_headers.
11285 (fill_section): Always set s_vaddr here, removing
11286 ZERO_BASED_SEGMENTS case. Force s_scnptr for bss to 0. Don't set
11287 NOLOAD for i386 .bss, because it confuses the SVR3 native linker.
11288 Set STYP_INFO for .comment.
11289 (coff_header_append): Use object headers and H_{SET,GET}_* macros.
11290 Make aouthdr writing depend on OBJ_COFF_OMIT_OPTIONAL_HEADER.
11291 (crawl_symbols): Handle 8 character section name correctly. Use
11292 H_{SET,GET}_* macros.
11293 (do_linenos_for): Set lineno size in object_headers.
11294 (write_object_file): Use H_{SET,GET}_* macros. Don't bother to
11295 set s_vaddr here. If string_byte_count remains 4, set it back to
11296 0, and only write strings out if there are some. Call
11297 fill_section before do_relocs_for and do_linenos_for.
11298 (obj_coff_section): Handle optional quoted second argument giving
11299 section characteristics.
11300 (obj_coff_bss): Added to handle .bss.
11301 (obj_coff_ident): Added to handle .ident (puts string in .comment
11302 section).
11303 (obj_coff_lcomm): Put common symbols in .bss, not .data.
11304 (fixup_mdeps): Change to segment. Call frag_wane after
11305 md_convert_frag.
11306 (fixup_segment): Explicitly check S_IS_COMMON before making 386
11307 adjustment (already happened only for common symbols, but this is
11308 clearer).
11309 * config/obj-coffbfd.h (OBJ_COFF_OMIT_OPTIONAL_HEADER): Define.
11310 * config/tc-i386.c (s_bss): Don't use if I386COFF.
11311 (md_pseudo_table): Ignore .optim and .noopt.
11312 (tc_coff_sizemachdep): New function.
11313 * config/tc-i386.h (REVERSE_SORT_RELOCS): Undef, for SVR3
11314 compatibility.
11315 (LOCAL_LABEL): Removed definition.
11316 (DOT_LABEL_PREFIX): Defined.
11317
4539aa02
KR
11318Mon Dec 28 10:32:05 1992 Ken Raeburn (raeburn@cygnus.com)
11319
6d331d71
KR
11320 * app.c (app_push): Use memcpy, not bcopy.
11321 (do_scrub_next_char): For \", return " not '.
11322 (symbol_chars): Now const.
11323
4539aa02
KR
11324 * expr.c (operand): If not LOCAL_LABELS_FB, don't look for "0f"
11325 and "0b". If LOCAL_LABELS_DOLLAR, check for "0$".
11326
11327 * config/obj-coff.h: Don't use #elif.
11328
11329 * config/ho-sunos.h: Don't include sys/stdtypes.h; 4.0.3 doesn't
11330 have it. (Reported by Noah Friedman, friedman@gnu.ai.mit.edu.)
11331
3eb802b5
ILT
11332Wed Dec 16 12:12:33 1992 Ian Lance Taylor (ian@cygnus.com)
11333
11334 * write.c, obj-ieee.c: don't define SUB_SEGMENT_ALIGN if it is
11335 already defined.
11336
be06bdcd
SC
11337Tue Dec 15 12:40:11 1992 Steve Chamberlain (sac@thepub.cygnus.com)
11338
11339 * app.c (do_scrub_begin): allow single quote strings if so
11340 configured.
11341
11342 * config/*z8k*: checkpoint
11343
11344Sun Dec 13 00:04:38 1992 Ian Lance Taylor (ian@cygnus.com)
11345
11346 * read.c (read_a_source_file): avoid calling xmalloc (0).
11347
016e0d42
ILT
11348Sat Dec 12 15:26:34 1992 Ian Lance Taylor (ian@cygnus.com)
11349
11350 * listing.c: Call xmalloc, not malloc; don't declare malloc.
11351
11352 * Changes to support SCO 3.2v4:
11353 * read.c (s_align_bytes, s_align_ptwo): If not SEG_DATA or
11354 SEG_BSS, fill with NOP_OPCODE.
11355 * config/i386coff.mt: Add opcode/i386.h to TARG_CPU_DEPENDENTS.
11356 * config/obj-coffbfd.c (do_relocs_for): Increment addr even if not
11357 using ZERO_BASED_SEGMENTS.
11358 (fill_section): If ZERO_BASED_SEGMENTS, set segment addresses, but
11359 never set segment address for SEG_E2 (.bss) and don't write out
11360 SEG_E2 contents. Set .init and .fini sections to STYP_TEXT.
11361 (obj_coff_endef): Don't merge labels or symbols awaiting forward
11362 definitions, and don't merge tags with non-tags. Check for .bf
11363 rather than just checking whether the second character is b and
11364 the third character is f.
11365 (obj_coff_val): gcc can generate values which we don't handle
11366 correctly; discard information for now, since it only affects the
11367 debugging information.
11368 (tag_find_or_name): Don't insert tags in the symbol table.
11369 (yank_symbols): Don't merge labels.
11370 (write_object_file): Don't define SUB_SEGMENT_ALIGN if it is
11371 already defined. Fill subsegments with NOP_OPCODE, not 0. Don't
11372 set segment address if ZERO_BASED_SEGMENTS.
11373 (obj_coff_section): Accept and ignore a trailing quoted string, as
11374 used in AT&T i386 syntax.
11375 (fixup_segment): Take segment as argument. On the i386, adjust PC
11376 relative addends by the segment vaddr.
11377 * tc-i386.h: Define SUB_SEGMENT_ALIGN.
11378 * tc-a29k.h: Define ZERO_BASED_SEGMENTS.
11379 * tc-i386.c: (i386_operand): If I386COFF, accept any segment type.
11380
db33220f
KR
11381Tue Dec 8 00:06:48 1992 Ken Raeburn (raeburn@rtl.cygnus.com)
11382
016e0d42
ILT
11383 * config/obj-coffbfd.c: Include libcoff.h.
11384
db33220f
KR
11385 * version.c: Now version 1.93.
11386
dde624ef
KR
11387Mon Dec 7 00:39:09 1992 Ken Raeburn (raeburn@cygnus.com)
11388
db33220f
KR
11389 * config/tc-i386.c (md_pseudo_table): For 386bsd and linux, do
11390 power-of-two alignment for .align.
11391
dde624ef
KR
11392 * as.h: If BROKEN_ASSERT, just redefine `assert' to be trivial,
11393 and leave everything else alone.
11394
11395Fri Dec 4 16:58:42 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
11396
11397 * Makefile.in (as.new): Don't bother saving as.old.
11398
11399 * write.c: Conditionalize on OBJ_VMS, not VMS.
11400 (magic_number_for_object_file): Don't define if OBJ_VMS.
11401
11402 * config/obj-vms.c: Changes for traditional C.
11403
7f2cb270
KR
11404Thu Dec 3 01:24:07 1992 Ken Raeburn (raeburn@kr-pc.cygnus.com)
11405
11406 * config/ho-generic.h (malloc, realloc): Declare.
11407
11408 * Lots of comment/whitespace changes.
11409
11410 * write.h (struct fix): Some fields reordered, narrowed.
11411
11412 * read.c (MASK_CHAR): Define using C types, not magic number.
11413
11414 * as.c, input-file.c: Deleted some unused code.
11415
11416 * app.c, as.h: Doc fix.
11417
11418 * flonum-konst.c, flonum-mult.c: Include ansidecl.h.
11419
11420 * as.h (xmalloc): Argument is long.
11421
11422 * xmalloc.c (error): Remove declaration; as.h takes care of it.
11423
0cca30f3
KR
11424 * doc/as.texinfo: Regrouped documentation of some command-line
11425 options. Updated options documentation for m68k. Some minor
11426 wording/punctuation changes.
11427
7f2cb270
KR
11428Mon Nov 30 11:42:11 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
11429
11430 * configure.in: Accept target OS "vms".
11431
11432 * symbols.c: Merged ANSI and non-ANSI function decls, using
11433 PARAMS macro.
11434
11435 * xmalloc.c: Just include as.h, don't bother trying to figure out
11436 other header files.
11437
11438 * strstr.c, strerror.c: Deleted.
11439 * Makefile.in: Deleted references.
11440
11441 * config/tc-ns32k.c: Don't include header file for string
11442 declarations; leave that to ho-*.h.
11443
11444Fri Nov 27 04:11:36 1992 Ken Raeburn (raeburn at cambridge-laptop.cygnus.com)
11445
11446 * config/coff_gnu.h [TC_I860]: Guesses for reloc type values,
11447 imported from FSF sources.
11448
11449 * messages.c (strerror): Declare unconditionally.
11450
11451 * as.h: Delete alloca and register definitions.
11452
11453 * config/atof-ieee.c (mask): Now const.
11454
11455 * obstack.c, obstack.h: Deleted.
11456
11457 * as.h (flag_readonly_data_in_text): New flag.
11458 * as.c (main): Set it for -R.
11459
11460 * as.h (flag_suppress_warnings): New flag.
11461 * as.c (main): Set it for -W.
11462 * messages.c (as_warn): Check it instead of flagseen['W'].
11463
11464 * as.h (flag_always_generate_output): New flag.
11465 * as.c (main): Set it for -Z.
11466
11467 * config/tc-sparc.h: Define NEED_FX_R_TYPE.
11468 * config/tc-a29k.h: Ditto.
11469 * write.h (struct fix): Don't conditionalize fx_r_type field on TC
11470 macros.
11471
11472 * as.h: Merged ANSI and non-ANSI function decls, using PARAMS
11473 macro.
11474 * bignum.h, expr.h, flonum.h, frags.h, input-file.h, listing.h,
11475 obj.h, output-file.h, read.h, struc-symbol.h, symbols.h, tc.h,
11476 write.h: Likewise.
11477 * read.c: Likewise.
11478
11479 * xmalloc.c: Conditionalize on HAVE_MALLOC_H, not USG. Fold in
11480 xrealloc from xrealloc.c.
11481 * xrealloc.c: Deleted.
11482 * Makefile.in (REAL_SOURCES, OBJS): Adjusted.
11483
11484 * configure.in: For host CPU a29k, rs6000, vax, consider using bsd
11485 or vms ho- files.
11486
11487 * config/ho-sysv.h (setbuffer, HO_USG): Deleted.
11488
11489 * config/atof-ieee.c (atof_ieee): Exponent field isn't a pointer;
11490 don't initialize it with NULL.
11491
11492 * config/ho-vax.h (M_VAX): Deleted; was unused.
11493
11494 * README-vms, config/ho-vms.h, config/obj-vms.c, config/obj-vms.h:
11495 New files imported from FSF version, contributed by Eric Youngdale.
11496 * README-vms-dbg, config/vms: Deleted.
11497
11498 * ChangeLog, config/ChangeLog: Merged.
11499
11500 * config/*tahoe*, configure.in: Tahoe support brought in from FSF
11501 version.
11502
11503 * input-file.c (input_file_open): Eliminate call to setvbuf.
11504 [USG] (setbuffer): Deleted macro.
11505
6efd877d
KR
11506Mon Nov 23 11:00:16 1992 Ken Raeburn (raeburn@cygnus.com)
11507
11508 * all files: Whitespace changes for GNU indentation style, done by
7f2cb270 11509 GNU `indent'. Some cleanup still needed, especially of comments.
6efd877d
KR
11510
11511 * configure.in: No te-386bsd.h file exists; don't try to use it.
11512
7f2cb270
KR
11513 * obj-coff.c (obj_coff_endef): Use as_warn, not fprintf.
11514
11515 * tc-m68k.c (md_assemble): Don't complain about 68000 with 68881;
11516 could be doing emulation.
11517
0cca30f3 11518Thu Nov 19 11:47:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
132239bf 11519
69cb5925 11520 z8000 documentation
0cca30f3
KR
11521 * doc/Makefile.in, doc/all.m4, doc/as-all.texinfo, doc/as.texinfo:
11522 all modified.
11523
6efd877d
KR
11524Tue Nov 10 09:49:24 1992 Ian Lance Taylor (ian@cygnus.com)
11525
11526 * Makefile.in (as.o, obj-format.o): added dependency on subsegs.h.
11527
11528 * subsegs.h: add extern to segment_info declaration.
11529
11530 * read.h: added extern declarations for comment_chars,
11531 line_comment_chars, and line_separator_chars.
11532 read.c, app.c: removed definitions of comment_chars,
11533 line_comment_chars, and line_separator_chars.
11534
7f2cb270
KR
11535 * tc-m68k.c (m68k_reg_parse): If REGISTER_PREFIX isn't defined,
11536 still accept (but don't require) OPTIONAL_REGISTER_PREFIX before
11537 the register name.
11538 (insert_reg): put REGISTER_PREFIX before register names before
11539 putting them in the symbol table.
11540 * tc-m68k.h (OPTIONAL_REGISTER_PREFIX): Define to be "%", if not
11541 M68KCOFF.
11542
11543 * obj-coffbfd.c (fill_section): set STYP_NOLOAD bit for .bss
11544 section.
11545
11546 * atof-ieee.c, atof-ns32k.c, tc-*.c: made EXP_CHARS, FLT_CHARS,
11547 comment_chars, line_comment_chars and line_seperator_chars
11548 consistently const, and always initialized them. Included read.h.
11549
11550Thu Nov 5 17:55:41 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
11551
11552 * tc-sparc.c (sparc_ip): Add code to flag error if an absolute
11553 constant will not fit in an immediate field.
11554 (md_apply_fix, RELOC_BASE13 case): Check for relocation overflow.
11555
11556Wed Nov 4 07:50:46 1992 Ken Raeburn (raeburn@cygnus.com)
11557
11558 * obj-coff.c (callj_table): Delete global variable.
11559 (obj_emit_relocations): Define it locally here, and only if
11560 TC_I960 is defined.
11561
11562 * tc-m68k.c (m68k_reg_parse): Underscore is part of a symbol name.
11563 (m68k_ip): Don't warn about bignum used as float bit-pattern.
11564
11565 * obj-coff.c: Replaced ANSI and non-ANSI function declarations
11566 with a single set using PARAMS macro.
11567
11568 * tc-i960.c (tc_bout_fix_to_chars): Bit-field fixups want a length
11569 of 2.
11570
11571 * tc-i960.c: Missed a couple of 0->NO_RELOC conversions.
11572
11573 * tc-i960.h (N_BALNAME, N_CALLNAME): Define as char-type values,
11574 so widening works consistently.
11575
6efd877d
KR
11576Wed Oct 28 08:52:34 1992 Ken Raeburn (raeburn@cygnus.com)
11577
11578 * version.c: Put conditional "const" before version_string, not
11579 before dummy function for VMS. Now version 1.91.03.
11580
11581 * app.c (do_scrub_next_char): Need double-\ before `000' to show
11582 printed rep of null character.
11583
7f2cb270
KR
11584Fri Oct 23 14:40:38 1992 Ian Lance Taylor (ian@cygnus.com)
11585
11586 * obj-coffbfd.c (write_object_file): check return value of
11587 bfd_close_all_done.
11588
559d9aac
ILT
11589Tue Oct 20 12:18:08 1992 Ian Lance Taylor (ian@cygnus.com)
11590
7f2cb270
KR
11591 * Support for i386-sysv.
11592 obj-coffbfd.c (do_relocs_for, write_object_file): set segment
11593 addresses to reasonable sizes. New define ZERO_BASED_SEGMENTS can
11594 be used to set them all to zero as was done before.
11595 (fill_section): segment addresses now set in write_object_file.
11596 (fill_section): Don't set STYP_NOLOAD for .bss section.
11597 (fixup_segment): 386 uses strange common symbol format.
11598 tc-i386.c (tc_coff_fix2rtype): use R_DIR32, not R_RELLONG, for
11599 compatibility with SVR3.2 linker.
6efd877d
KR
11600 * configure.in: i386-sysv and i386-sco use coffbfd.
11601
559d9aac
ILT
11602 * app.c (do_scrub_next_char): discard whitespace after a label.
11603
0f8b9790
DZ
11604Sat Oct 10 12:33:45 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
11605
11606 * configure.in: differentiate between SunOS 4 and Solaris2 for Sun4
11607 hosts, use the sysv configuration for solaris2
11608
7f2cb270
KR
11609Mon Oct 5 09:28:57 1992 Steve Chamberlain (sac@thepub.cygnus.com)
11610
132239bf 11611 fix i960+non-bfd coff bit rot.
7f2cb270
KR
11612 * obj-coff.c (c_dot_file_symbol, obj_coff_ln, obj_coff_line):
11613 support for C source listings. (obj_coff_endef): look in the right
11614 part of the symbol for the symbol name
11615
11616 * tc-m68k.c (get_num): make it work for all segments, not just the
11617 first three.
11618
984cf2d7
ME
11619Mon Oct 5 03:30:36 1992 Mark Eichin (eichin at tweedledumber.cygnus.com)
11620
69cb5925 11621 * configure.in: recognize i386-*-bsd emulation.
984cf2d7
ME
11622
11623Thu Oct 1 23:05:12 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
11624
11625 * configure.in: use the cpu-vendor-os triple for host and target
11626
7f2cb270
KR
11627Tue Sep 29 12:22:52 1992 Steve Chamberlain (sac@thepub.cygnus.com)
11628
11629 * obj-coffbfd.c (write_object_file): don't fixup for the z8k
11630 * tc-z8k.c: lots of bug fixes
11631
11632Tue Sep 29 10:51:55 1992 Ian Lance Taylor (ian@cygnus.com)
11633
11634 * tc-i960.h, tc-i960.c: avoid the ANSI preprocessor addition
11635 #elif, since it is not supported by old compilers.
11636 ho-rs6000.h, tc-m68k.c: the native RS/6000 compiler miscompiles a
11637 couple of expressions in tc-m68k.c.
11638
984cf2d7
ME
11639Mon Sep 28 21:18:24 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
11640
11641 * read.c (cons): If NO_RELOC is defined, use it.
11642
7f2cb270
KR
11643 * tc-i960.c (get_cdisp): Use NO_RELOC, not 0, in call to fix_new.
11644
11645Fri Sep 25 18:18:52 1992 Ian Lance Taylor (ian@cygnus.com)
11646
11647 * tc-m68k.h: if M68KCOFF, define DOT_LABEL_PREFIX (to require
11648 local labels to start with a .) and set REGISTER_PREFIX to %.
11649 tc-m68k.c (m68k_reg_parse): accept REGISTER_PREFIX if defined.
11650
5a0fc1d4
JG
11651Fri Sep 25 17:53:43 1992 John Gilmore (gnu@cygnus.com)
11652
11653 * messages.c: Comment changes.
11654
4959cb7b
KR
11655Fri Sep 25 14:12:58 1992 Ken Raeburn (raeburn@kyriath.cygnus.com)
11656
11657 * as.h: Test if __STDC__ is defined only, don't test its value.
11658 * messages.c: If __STDC__ is not defined, define NO_STDARG.
11659
5e9d510e
BK
11660Thu Sep 24 12:42:32 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
11661
11662 * listing.c (debugging_pseudo): Add stabs and stabn as things to
11663 ignore.
11664
7f2cb270
KR
11665Tue Sep 22 13:02:07 1992 Sean Eric Fagan (sef@cygnus.com)
11666
11667 * obj-coffbfd.c (do_relocs_for,fill_section): now allocate all
11668 sections starting from zero, rather than making them consecutive.
11669 This makes subsequent reloc calculations easier, esp if the object
11670 format doesn't understand addends. (obj_coff_lcomm): (maybe temporarily)
11671 allocate lcomm in .data rather than in .bss. It seems that some
11672 tools can't cope with a non-zero sized bss before linkage.
132239bf 11673
7f2cb270
KR
11674Tue Sep 22 15:10:51 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
11675
11676 * tc-m68k.c: Replace "enum m68k_architecture" with "int"
11677 throughout. That enum no longer means what we thought it meant.
11678
11679 * tc-m68k.c (md_assemble, md_parse_option): Handle new
11680 "-mno-688[58]1" options.
11681
11682 * tc-m68k.c: Added CPU32 support.
11683
11684Fri Sep 18 08:02:18 1992 Steve Chamberlain (sac@thepub.cygnus.com)
11685
11686 * tc-m68k.c (m68k_ip): An(disp) is not pc relative.
11687
569dac15
JW
11688Tue Sep 15 17:25:05 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
11689
11690 * Makefile.in (as.new): Remove dependence on LOCAL_LOADLIBES.
11691 Change LIBDEPS dependence to LIBS.
11692
efbfb612
ILT
11693Tue Sep 15 15:32:02 1992 Ian Lance Taylor (ian@cygnus.com)
11694
11695 * Makefile.in (install): if $(tooldir) exists, install as in
11696 $(tooldir)/bin.
11697
987b1491
ILT
11698Sun Sep 13 20:30:10 1992 Ian Lance Taylor (ian@cygnus.com)
11699
ca5e9d49
ILT
11700 * Added WARN_SIGNED_OVERFLOW_WORD define to give an error if any
11701 .word is < -32768 or > 32767. The -J flag causes the error to be
11702 ignored. This is to catch over-sized switches generated by gcc on
11703 systems which don't support the broken .word hack.
11704 as.c (main): permit -J if WARN_SIGNED_OVERFLOW_WORD.
11705 write.c (fixup_segment): check for signed .word overflow if
11706 WARN_SIGNED_OVERFLOW_WORD.
11707
987b1491
ILT
11708 * write.c (fixup_segment): fixed missing parens in expression
11709 checking for byte or word overflow.
11710
7f2cb270
KR
11711 * obj-coffbfd.h: define WARN_SIGNED_OVERFLOW_WORD.
11712 obj-coffbfd.c (fixup_segment): check for signed .word overflow if
11713 WARN_SIGNED_OVERFLOW_WORD.
11714
11715 * obj-coffbfd.c (fixup_segment): fixed missing parens in
11716 expression checking for byte or word overflow.
11717
11718Fri Sep 11 10:21:04 1992 Steve Chamberlain (sac@thepub.cygnus.com)
11719
11720 Support for i386 coff
132239bf 11721 * obj-coffbfd.h : added stuff
7f2cb270
KR
11722 * tc-i386.c (tc_coff_fix2rtype): new function
11723 * tc-i386.h : new coff defines
11724
b1520b1f
ILT
11725Thu Sep 10 09:23:15 1992 Ian Lance Taylor (ian@cygnus.com)
11726
11727 * input-scrub.c (input_scrub_push): call input_file_begin, not
11728 input_scrub_begin.
11729 messages.c (as_perror): print ": " between the passed in error and
11730 the strerror, like perror does.
11731
b53ccaac
ILT
11732Wed Sep 9 11:06:25 1992 Ian Lance Taylor (ian@cygnus.com)
11733
11734 * Makefile.in: use gas_target instead of modifying target_cpu.
11735 From Steve Chamberlain:
11736 Makefile.in: Handle m68*-*-coff*.
11737 read.c, read.h: add mult argument to s_space
11738
7f2cb270
KR
11739 * tc-m68k.c (m68k_ip, m68k_ip_op, get_num, try_moto_index): merge
11740 Motorola and MIT syntax; gas can now assemble either type of
11741 file.
11742 tc-m68kmote.c, tc-m68kmote.h: removed now superfluous files.
11743 From Steve Chamberlain:
11744 m68kcoff.mt: for m68k COFF.
11745 obj-coffbfd.c: (fixup_mdeps) added
11746 (size_section) removed bad sanity check
11747 (fill_section) added rs_machine_dependent case
11748 (write_object_file) call fixup_mdeps
11749 (fixup_segment) set fx_subsy to 0.
11750 obj-coffbfd.h: define WORKING_DOT_WORD (too hard to support) and
11751 handle m68k.
11752 tc-m68k.c, config/tc-m68k.h: added m68k COFF support and Motorala
11753 pseudo ops.
11754
db4d20e5
KR
11755Tue Sep 8 17:10:58 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
11756
11757 * Makefile.in (LIBS): Include opcode library.
11758
e53ab768
KR
11759Fri Sep 4 18:20:56 1992 Ken Raeburn (raeburn@cygnus.com)
11760
11761 * config/tc-m68k.c (get_num, case SEG_BIG): If only small integers
11762 including zero are accepted, pass +0.0.
11763
7e10f53c
ILT
11764Sun Aug 30 21:24:46 1992 Ian Lance Taylor (ian@cygnus.com)
11765
11766 * Makefile.in: map "as" through program_transform_name when
11767 installing.
11768
0cca30f3
KR
11769 * doc/Makefile.in: map "as" through program_transform_name when
11770 installing.
11771
b0952e12
JW
11772Sat Aug 29 12:11:12 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
11773
11774 * Makefile.in (as.new): Depend on LOCAL_LOADLIBES.
11775
7f2cb270
KR
11776Fri Aug 28 16:25:22 1992 Ian Lance Taylor (ian@cygnus.com)
11777
11778 * obj-bout.h, obj-bout.c (obj_header_append, obj_symbol_to_chars),
11779 tc-i960.c (md_ri_to_chars): Always output bout object file in
11780 little endian byte order (used to use endianness of host).
11781
b2f221a9
KR
11782Tue Aug 25 15:50:48 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
11783
11784 * config/tc-m68k.c (init_table): Now const. Always include 68851
11785 data, so that "bc" is available to 68040 cache instructions.
11786 Added "tt0", "tt1", and 68ec030 variants.
11787 (md_assemble): Complain if 68000 (only) and 68881 are specified.
11788 (enum _register): Added TT0, TT1.
11789 (m68k_ip, cases '3' and 't'): Handle new operand type codes. Pass
11790 line number correctly in "internal error" messages. Don't print
11791 architecture-mismatch message for operand errors.
11792
11793 From Colin Smith (colin@wrs.com):
11794 * config/tc-m68k.c (m68k_ip, case '_'): Use addword twice rather
11795 than install_operand.
11796
ab737e51
SC
11797Tue Aug 25 15:13:48 1992 Steve Chamberlain (sac@thepub.cygnus.com)
11798
11799 * listing.c (buffer_line): rewind to the start of include
11800 files, they might be included twice.
11801
7f2cb270
KR
11802 * z8k.c, z8k.h, z8k.mt: z8000 support stuff
11803
7121231f
ILT
11804Mon Aug 24 12:45:43 1992 Ian Lance Taylor (ian@cygnus.com)
11805
11806 * Makefile.in: defined TARGET_CPU for C code so that it can choose
11807 one element of a family.
11808
7f2cb270
KR
11809 * tc-m68k.c: use TARGET_CPU to choose default cpu type.
11810
11811 * te-generic.h: default to LOCAL_LABELS_DOLLAR and LOCAL_LABELS_FB
11812 so that we can assemble hand-written libgcc code.
11813
4772861e
KR
11814Fri Aug 21 14:38:44 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
11815
11816 * messages.c (as_warn): Use fputs, not fprintf, with a buffer that
11817 has already been formatted (but may still contain %-characters).
11818 (as_bad): Likewise.
11819
7f2cb270
KR
11820Wed Aug 19 11:20:59 1992 Ian Lance Taylor (ian@cygnus.com)
11821
11822 * tc-m68k.c, tc-m68kmote.c: the cas2 instruction is supposed to be
11823 written with indirection on the last two operands, which can be
11824 either data or address registers. Added a new operand type 'r'
11825 which accepts either register type. Added '(' to notend stuff in
11826 tc-m68kmote.c to accept (a0):(a2) in cas2 instruction.
11827
09952cd9
KR
11828Wed Aug 19 09:25:09 1992 Ken Raeburn (raeburn@cygnus.com)
11829
11830 * as.h (enum _relax_state): Start off at one, not zero, to better
11831 catch uninitialized-variable errors.
11832 (linkrelax): Declare new variable.
11833
11834 * messages.c (warning_count, error_count): Default initializer is
11835 sufficient.
11836
11837 * write.c: Merged some declarations, using PARMS macro.
11838 (text_frag_root, data_frag_root, bss_frag_root, text_last_frag,
11839 data_last_frag): No longer static.
11840 (write_object_file, case rs_align or rs_org): If HANDLE_ALIGN is
11841 defined, call it. Change segments before calling fixup_segment.
11842 (relax_align): If linkrelax, provide extra padding.
11843
11844 * obj-bout.c (obj_emit_relocations): Emit alignment relocs despite
11845 their not having symbols associated.
11846
11847 * tc-i960.c (norelax, instrument_branches): Default initializer is
11848 sufficient.
11849 (linkrelax): Delete variable definition.
11850 (mem_fmt): Call fix_new with NO_RELOC.
11851 (tc_bout_fix_to_chars): Handle alignment relocs.
11852 (i960_handle_align): New function.
11853 * tc-i960.h (linkrelax): Delete declaration.
11854 (HANDLE_ALIGN): New macro; calls i960_handle_align.
11855 (NEED_FX_R_TYPE, NO_RELOC): New macros.
11856
a457f4d9
KR
11857Tue Aug 18 14:59:21 1992 Ken Raeburn (raeburn@cygnus.com)
11858
11859 * config/sparc.mt: New file. Grab sparc opcode table from bfd
11860 library.
11861
4b857710
ILT
11862Tue Aug 18 14:16:38 1992 Ian Lance Taylor (ian@cygnus.com)
11863
11864 * Makefile.in: always create installation directories. Removed
11865 MINUS_G, set CFLAGS to default to -g, added FLAGS_TO_PASS, passed
11866 FLAGS_TO_PASS to recursive makes.
11867
0cca30f3
KR
11868 * doc/Makefile.in: always create installation directories.
11869
f7e9bc5a
SC
11870Mon Aug 17 15:09:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
11871
11872 * input-scrub.c (input_scrub_pop, input_scrub_push): memcpy was
11873 being used with args swapped, causing occasional lossage when
11874 refilling buffers after an include file.
11875
c1c28543
KR
11876Mon Aug 17 13:18:51 1992 Ken Raeburn (raeburn@cygnus.com)
11877
11878 * messages.c (as_tsktsk): Use correct ANSI form for stdarg
11879 version. Discard bogus DONTDEF version.
11880 (as_warn, as_bad, as_fatal): Likewise.
11881
2e20e59a
KR
11882Fri Aug 14 18:31:14 1992 Ken Raeburn (raeburn@cygnus.com)
11883
11884 * config/tc-m68k.c (m68k_ip): If instruction is invalid for the
11885 selected architecture, print a message saying so and listing what
11886 processors support it, rather than saying "operands mismatch".
11887
c8c7e0bf
KR
11888Thu Aug 13 13:53:19 1992 Ken Raeburn (raeburn@cygnus.com)
11889
11890 * as.h [BROKEN_ASSERT]: If defined, turn off all assertion checks.
11891
11892 * config/ho-rs6000.h (M_RS6000): Don't define it.
11893 (free): Declare it.
11894 (BROKEN_ASSERT): Define it if not __STDC__.
11895
7f2cb270
KR
11896Tue Aug 11 12:58:14 1992 Ken Raeburn (raeburn@cygnus.com)
11897
11898 * sparc.mt: New file.
11899
11900Mon Aug 10 14:37:08 1992 Per Bothner (bothner@cygnus.com)
11901
11902 * tc-m68k.c: ".align N" means align to N-byte boundary *only*
11903 if TN_SUN3; otherwise align to 2**N-byte bounary.
11904
7fd3560a
SC
11905Thu Aug 6 12:10:39 1992 Steve Chamberlain (sac@thepub.cygnus.com)
11906
11907 * read.c (s_fill): make the .fill size clamped error a warn and
11908 fix bug where 0's were always placed.
11909
7f2cb270
KR
11910 * config/tc-h8300.c: if a :8 is seen after an operand, fill top
11911 two bytes of any constant with 0xff:
11912
62594bd7
SC
11913Wed Aug 5 12:02:40 1992 Steve Chamberlain (sac@thepub.cygnus.com)
11914
11915 * config/tc-m68k.c (md_pseudo_table): fix the .align thing
4f3569fa 11916 the right way; for just the 68k. Sun 3 .align is nbytes, not ptwo.
62594bd7 11917
7f2cb270
KR
11918Wed Aug 5 01:54:34 1992 John Gilmore (gnu at cygnus.com)
11919
11920 * tc-m68k.c (try_index): Error if index scaling specified and
11921 assembling for an older CPU than a 68020.
11922
680227f3
KR
11923Sat Aug 1 19:10:13 1992 Ken Raeburn (raeburn@cygnus.com)
11924
11925 * config/tc-sparc.c (tc_aout_fix_to_chars): If pc-relative, take
11926 fx_offset into account.
11927
c51ccfd5
KR
11928Fri Jul 31 21:53:28 1992 Ken Raeburn (raeburn@cygnus.com)
11929
11930 * configure.in (mips host): Accept "ultrix" with version number.
11931
11932 * expr.c (floating_constant): Separate "=-" to avoid confusing
11933 ancient or broken compilers.
11934
11935 * config/tc-m68k.c (m68k_ip): Mismatch error could also indicate
11936 processor/opcode mismatch, so reword the error message.
11937 (md_assemble): If no CPU has been set (even if FPU/PMMU
11938 characteristics have been), default to 68020. Don't need extra
11939 quotes around error string.
11940
14f1fc24
JW
11941Fri Jul 31 12:26:34 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
11942
11943 * read.c (potable): Revert sac's incorrect change made Jul 13.
11944 Align really is supposed to be ptwo not nbytes.
11945
11946Mon Jul 20 02:51:59 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
11947
11948 * Makefile.in: _Do_ include libiberty. (from sef)
11949
11950Fri Jul 17 15:15:28 1992 Ken Raeburn (raeburn@cygnus.com)
11951
11952 * expr.c (integer_constant): Handle "0f" and "0b" label references
11953 properly.
11954
462088b8
SC
11955Thu Jul 16 08:20:17 1992 Steve Chamberlain (sac@thepub.cygnus.com)
11956
11957 * write.c (fixup_segment): if relaxing, don't do anything.
11958 * config/obj-bout.[ch] : maintain the a_relaxable file header info
11959 * config/tc-i960.c: new option -linkrelax
11960
11961Mon Jul 13 14:11:36 1992 Steve Chamberlain (sac@thepub.cygnus.com)
11962
11963 * expr.c (expr): allow SEG_BSS in expressions
11964 * read.c (potable): align should be nbytes, not ptwo!
11965 * write.c (write_object_file): extra glue for new bss attributes
11966 (relax_segment): SEG_BSS is ok now
11967 * config/tc-m68k.c (m68k_ip_op): can now parse more @( modes
11968
7f2cb270
KR
11969Mon Jul 6 17:09:32 1992 Steve Chamberlain (sac@cygnus.com)
11970
11971 * obj-coffbfd.c (fill_section): mark .lit sections as STYP_LIT
11972
462088b8
SC
11973Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com)
11974
11975 * configure.in: recognize m680x0 as having sun3 emulation mode for
11976 vxworks environment.
11977
11978
0b0b5dba
DHW
11979Tue Jun 30 20:25:54 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
11980
11981 * Makefile.in: Add program_suffix (parallel to program_prefix)
11982
7c2d4011
SC
11983Wed Jun 24 10:57:54 1992 Steve Chamberlain (sac@thepub.cygnus.com)
11984
11985 * app.c (process_escape): new function to handle escapes the right
11986 way, (do_scrub_next_char): use new function
11987 * cond.c (s_ifdef): do ifdef/ifndef right
11988 * read.c (s_fill): make the , expressions optional like the doc
11989 says
11990 * config/tc-h8300.[ch]: better warnings
11991
90d49457
SC
11992Tue Jun 9 07:54:54 1992 Steve Chamberlain (sac@thepub.cygnus.com)
11993
65bfcf2e
SC
11994 * subsegs.c (subsegs_begin): create bss0_frchainP in the same was
11995 as data0_frchainP
11996
11997 * write.c (write_object_file): various changes to handle data in
132239bf 11998 the BSS segment in much the same was as stuff in the DATA segment.
65bfcf2e 11999
7f2cb270
KR
12000 * tc-m68k.c (m68kip): Fix typo so that only arch's >=68020 do
12001 pcrel data stuff. (md_estimate_size_before_relax): when relaxing a
12002 68010 bxx into a bra+6 jmpxx, put the bytes of the jmp opcode into
12003 the right place. (s_bss): Don't put .bss stuff into SEG_DATA, put
12004 it into SEG_BSS
462088b8 12005
f8701a3f
SC
12006Thu Jun 4 11:59:13 1992 Steve Chamberlain (sac@thepub.cygnus.com)
12007
12008 * expr.c(expr): allow SEG_REGISTER in expressions.
12009 * read.c(pseudo_set): register expressions can be the source of a
12010 set.
12011 * subsegs.c (subseg_new): Now -R forces all changes to SEG_DATA to
12012 goto SEG_TEXT (if a.out)
12013 * write.c (write_object_file): If a.out don't use the old way for
12014 -R.
12015 * config/obj-a.out (s_sect): complain if the user tries to use a
12016 subsegment with a value which might interfere with out -R hackery.
12017 * config/tc-m68k.c (m68k_reg_parse): lookup names in symbol table
12018 rather than use ugly if tree. (init_regtable): insert register
12019 names into symbol table.
12020
ebfb4167
MT
12021Tue Jun 2 16:47:09 1992 Steve Chamberlain (sac@cygnus.com)
12022
12023 * write.c (write_object_file): keep the fix_tail clean, which
12024 fixes a bug in -R where relocations were being lost.
12025
12026Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com)
12027
12028 * configure.in: recognize m680x0 as having sun3 emulation mode for
12029 vxworks environment.
12030
12031Sun May 31 05:33:00 1992 david d `zoo' zuhn (zoo@cygnus.com)
12032
69cb5925 12033 * configure.in: recognize m680x0 as an m68k
ebfb4167 12034
dfd53fe9
JW
12035Thu May 28 11:22:02 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
12036
12037 * configure.in: Recognize sparclite as a sparc variant.
12038
7f2cb270
KR
12039 * tc-sparc.c: Use new ARCHITECTURES_CONFLICT_P macro. Mention new
12040 -Asparclite flag.
12041
d312e231
SC
12042Tue May 26 16:47:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
12043
12044 * config/tc-a29k.c: lint
12045 * listing.c, expr.c: patches from Andrew Smith
12046
0cca30f3
KR
12047Thu May 14 17:22:48 1992 K. Richard Pixley (rich@rtl.cygnus.com)
12048
12049 * doc/Makefile.in: use m4 rather than gm4.
12050
7f2cb270
KR
12051Mon May 4 18:56:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
12052
12053 * obj-coffbfd.c: use is a synonym for section, (do_relocs_for):
12054 calc the base of relocs correctly.
12055 * tc-a29k.c (parse_operand): allow expressions to be in any section.
12056
d312e231
SC
12057Mon Apr 27 13:13:31 1992 K. Richard Pixley (rich@cygnus.com)
12058
12059 * as.c, write.c: use -K rather than -k for the broken word warning
12060 option.
12061
fa493b93
RP
12062Tue Apr 21 13:35:30 1992 K. Richard Pixley (rich@cygnus.com)
12063
12064 * Makefile.in: do not print recursion lines.
12065
d96c09ed
RP
12066Wed Apr 15 21:19:31 1992 K. Richard Pixley (rich@rtl.cygnus.com)
12067
12068 * Makefile.in: the tooldir copy of gas goes directly in tooldir.
12069
12070Tue Apr 14 14:50:22 1992 Ken Raeburn (Raeburn@Cygnus.COM)
12071
12072 * write.c (write_object_file): For b.out format, round up section
12073 start addresses to match required alignment.
12074
81484684
KR
12075Thu Apr 9 05:45:29 1992 Ken Raeburn (Raeburn@Cygnus.COM)
12076
12077 * Makefile.in (install): Install into $(tooldir)/bin, since that's
12078 where gcc looks for it.
12079
3876b4c5
SEF
12080Tue Apr 7 15:12:15 1992 Sean Eric Fagan (sef@cygnus.com)
12081
12082 * Makefile.in: Changed some lines to be less confusing for some
12083 makes.
12084
12085 * input-file.c: Conditionalize on _IOFBF, not VMS.
12086
12087 * read.c, write.c: Change a series of ifdef/elif to
12088 ifdef/else/ifdef etc.
12089
12090Fri Mar 27 12:21:16 1992 K. Richard Pixley (rich@cygnus.com)
12091
12092 * symbols.c (fb_label_init): fix sizeof to memset.
12093
95a925b8
RP
12094Fri Mar 13 15:45:44 1992 K. Richard Pixley (rich@cygnus.com)
12095
3876b4c5
SEF
12096 * Makefile.in: install the man page.
12097
95a925b8
RP
12098 * Makefile.in: pass down MAKEINFO explicitly on info.
12099
0cca30f3
KR
12100 * doc/Makefile.in: use $(MAKEINFO) not makeinfo.
12101
5d53038b
SC
12102Fri Mar 13 08:03:03 1992 Steve Chamberlain (sac@thepub.cygnus.com)
12103
12104 * flonum-const.c: renamed flonum-konst.c to stop dos name
12105 conflict.
12106
7f2cb270
KR
12107Thu Mar 12 04:42:38 1992 K. Richard Pixley (rich@cygnus.com)
12108
12109 * tc-m68k.h, te-sun3.h: moved LOCAL_LABELS_FB definition from
132239bf 12110 tc-m68k.h to te-sun3.h.
7f2cb270 12111
8c1b25e4
RP
12112Wed Mar 11 23:32:42 1992 K. Richard Pixley (rich@cygnus.com)
12113
12114 * configure.in: vxworks68 gets te-sun3.h.
12115
12116 * expr.c: remove limitation that local_labels_dollar or
12117 local_labels_fb must be < 10.
12118
12119 * symbols.c: remove local_labels_dollar, replace with a function
12120 interface for a sparse array. All users adjusted.
12121
7f2cb270
KR
12122 * te-sun3.h: add LOCAL_LABELS_DOLLAR.
12123
0cca30f3
KR
12124Sat Mar 7 00:06:25 1992 K. Richard Pixley (rich@rtl.cygnus.com)
12125
12126 * doc/Makefile.in: commented out line for building as-all.texinfo.
12127 This is temporary.
12128
12129 * doc/as.texinfo, doc/as-all.texinfo: added menu item hooks.
12130
8c1b25e4
RP
12131Fri Mar 6 21:57:18 1992 K. Richard Pixley (rich@cygnus.com)
12132
12133 * Makefile.in: added check target.
12134
12135Tue Mar 3 15:45:56 1992 K. Richard Pixley (rich@rtl.cygnus.com)
12136
12137 * Makefile.in: added tooldir and program_prefix.
12138
12139Sun Mar 1 04:43:19 1992 Michael Tiemann (tiemann@cygnus.com)
12140
12141 * write.{c,h} (fix_new): Make these declarations consistent.
12142
1651b22d
MT
12143Sat Feb 29 13:59:10 1992 Michael Tiemann (tiemann@cygnus.com)
12144
12145 * Makefile.in (strerror.o): Add rule so that broken Sun make can
12146 work in subdirs.
12147
5373c439
SC
12148Wed Feb 26 19:26:28 1992 Steve Chamberlain (sac at thepub.cygnus.com)
12149
12150 * read.c, obj-coffbfd.c : fix h8300 specific bit rot
12151
12152 * expr.c (operand): if can't work out what sort of operand it is,
12153 then look through FLT_CHARS for a hint.
12154
8c1b25e4
RP
12155Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com)
12156
12157 * Makefile.in, configure.in: removed traces of namesubdir,
12158 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
12159 copyrights to '92, changed some from Cygnus to FSF.
12160
0cca30f3
KR
12161 * doc/Makefile.in, doc/configure.in: removed traces of namesubdir,
12162 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
12163 copyrights to '92, changed some from Cygnus to FSF.
12164
f24f7577
SC
12165Tue Feb 25 14:17:15 1992 Steve Chamberlain (sac at rtl.cygnus.com)
12166
14d3e47b
SC
12167 * expr.c: If an expression is single comma, then return with
12168 SEG_ABSENT rather than an error - since the sparc front end does
132239bf 12169 really strange things with things like fbge,a
14d3e47b 12170
f24f7577
SC
12171 * as.h: include bfd.h if using many sections
12172 * expr.c: LOCAL_LABELS_FB had been changed to lower case - so
12173 local labels didn't work.
12174 * listing.c (list_symbol_table): don't core dump when there's no
12175 symbol there.
12176 * write.c, write.h: call fix_new with the right number of args on
12177 the H8.
12178 * config/tc-h8300.[ch] : fix bugs reported by HMSI, and make
12179 errors nices
12180
c593cf41
SC
12181Sat Feb 22 12:26:28 1992 Steve Chamberlain (sac at rtl.cygnus.com)
12182
12183 * app.c: MRI compatibility - allow single quote to start a string.
12184 * as.c: fix typo recently introduced.
12185 * as.h : Don't include aout/reloc.h - it's not right for COFF!
12186 * expr.c: Much rewriting, to accomodate MRI syntax for
12187 expressions. Also easier to read now.
12188 * listing.c: Put back defuns
12189 * read.c: modified to accept MRI syntax, put back listing pseudo
12190 ops so that an assembler built with NO_LISTING ignores list ops
12191 rather than pukes.
12192 * write.c, write.h: fixs - only keep a reloc type in a fix if the target
12193 machine is a SPARC or a 29K.
12194 * config/obj-aout.c: added s_sect pseudo op
12195 * config/obj-coffbfd.c: lints, set the filehdr flags right and
12196 fill in the timestamp.
12197 * config/obj-coffbfd.h: Since we don't include aout/reloc.h
12198 anymore, define all the relocs which the tc-<x> bit will use so we
12199 can translate from them to the coff types.
12200 * config/tc-a29k.c: reloc_type isn't ane enum any more
12201 * config/tc-m68k.c: Added NO_RELOC definition.
12202
2d97273c
RP
12203Fri Feb 21 06:21:07 1992 K. Richard Pixley (rich@rtl.cygnus.com)
12204
c593cf41
SC
12205 * Makefile.in: put header files before C source for TAGS; remove
12206 references to non-existent syscalls.h.
12207
2d97273c
RP
12208 * read.c, write.c subsegs.c: back out the .bss changes.
12209
7f2cb270
KR
12210 * obj-aout.c: do not include stab.gnu.h if NO_LISTING.
12211
12212 * tc-i860.c, a.out.gnu.h: move i860 relocs to a proper place.
12213
12214 * a.out.h: removed.
12215
6d5460ab
RP
12216Fri Feb 21 01:08:48 1992 Minh Tran-Le (TRANLE@INTELLICORP.COM)
12217
12218 * symbols.c (local_label_name): symbols now start with ^A.
12219
12220 * read.c, subsegs.c, write.c obj-coff.c: added handling of
12221 `.bss` pseudo op for unitialized data. The new gcc (1.37.9x)
12222 generate these sections. .align: will use NOP_OPCODE or 0
12223 for padding. This is just for being nice to the
12224 disassembler.
12225
12226 * expr.c (operand): changed to generate local label "\001L0"
12227 starting with a ^A so that it is recognized as a local label.
12228
12229 * as.c (perform_an_assembly_pass): zero bss_fix_root, too.
12230
7f2cb270
KR
12231 * tc-i386.c: tc-i386.c: added handling of the following opcodes:
12232 i/o opcodes - inb, inw, outb and outw. string manipulation with
12233 att syntax - scmp, slod, smov, ssca, ssto.
12234
12235 * obj-coff.c: (for aix386) Moved the symbols .text, .data and .bss
12236 to just after .file .
12237
12238 In obj_crawl_symbol_chain() where it tries to put the external
12239 symbols apart, with the condition:
12240 (!S_IS_DEFINED(symbolP) &&
12241 !S_IS_DEBUG(symbolP) &&
12242 !SF_GET_STATICS(symbolP))
12243 it was moving too many symbols out. So I switch it back to the
12244 condition:
12245 (S_GET_STORAGE_CLASS(symbolP) == C_EXT && !SF_GET_FUNCTION(symbolP))
12246
12247 In obj_emit_relocations() added the conditional on KEEP_RELOC_INFO
12248 so that we don't use the F_RELFLG which make the linker complain
12249 that somebody has stripped the relocation info.
12250
12251 Also, the AIX ld program require that the relocation table
12252 is sorted by r_vaddr like the standard ATT assembler does.
12253
12254 [he also changed the sizeof(struct ...)'s into the coff
12255 style FOOSZ macros. I'm not sure this is right, but I can't
12256 remember why. xoxorich.]
12257
d6e344db
RP
12258Fri Feb 21 01:08:48 1992 K. Richard Pixley (rich@cygnus.com)
12259
12260 * Makefile.in, configure.in, doc: use the doc. Build it, install
12261 it, clean it, etc.
12262
eb9eacd3
RP
12263Tue Feb 18 02:21:25 1992 K. Richard Pixley (rich at cygnus.com)
12264
aa3782d2
RP
12265 * read.c: white space and comments only.
12266
f816adbc
RP
12267 * configure.in: use the new atof-ns32.c for ns32k.
12268
eb9eacd3
RP
12269 * write.c: comment change only.
12270
7f2cb270
KR
12271 * tc-m88k.[hc]: pulled in from hack's unfinished work. These
12272 aren't yet integrated.
12273
12274 * tc-i860.[hc]: blew off the dust. Something must still be done
12275 about conflicting relocation types.
12276
12277 * tc-ns32k.c: Replaced previous tc_aout_fix_to_chars stub with the
12278 real thing.
12279
12280 * tc-i960.c, tc-sparc.c: white space and comments only.
12281
12282 * tc-a29k.h: delete duplicate macro definition.
12283
12284 * new file atof-ns32k.c copied from hack's last unreleased gas.
12285
542e1629 12286Mon Feb 17 07:51:06 1992 K. Richard Pixley (rich at cygnus.com)
b3ca913f 12287
eb9eacd3
RP
12288 * config/tc-ns32k.c: actually make tc_aout_fix_to_chars work
12289 rather than abort.
132239bf 12290
542e1629
RP
12291 * nearly everything. flush ChangeLog, package as gas-1.92.1.
12292 ChangeLog's prior to this are sketchy at best. I have logs.
12293 They just aren't ChangeLogs.
This page took 0.701701 seconds and 4 git commands to generate.