Commit Graph

290 Commits

Author SHA1 Message Date
Ian Lance Taylor
918692a5cc * config/mips-opcode.h: Moved to opcode/mips.h.
* config/tc-mips.c: Include opcode/mips.h rather than
	mips-opcode.h.
	(append_insn): An extra NOP is only needed after instructions
	which set HI or LO, not after instructions which read it.
	(macro_build, mips_ip): Support new 'E', 'G' and 'B' arguments.
	(macro): cfc1 and ctc1 now take "t,G" rather than "t,d".
	* config/tc-mips.h (struct mips_opcode): Don't define.
	* config/mips-big.mt, config/mips-lit.mt (TARG_CPU_DEPENDENTS):
	Set to $(srcdir)/../include/opcode/mips.h.

	Get the MIPS assembler up to speed with other gas changes:

	* config/obj-ecoff.c (ecoff_set_vma, ecoff_frob_symbol):
	Removed; don't change the symbol value.
	(ecoff_build_symbols, ecoff_build_procs, ecoff_frob_file): Use
	bfd_asymbol_value rather than S_GET_VALUE to include section
	vma in symbol value.
	(ecoff_frob_file): Ignore BSF_SECTION_SYM symbols, since ECOFF
	doesn't output them.  Set the vma of sections.
	* config/obj-ecoff.h: Don't define obj_frob_symbol.
	* config/tc-mips.c (tc_gen_reloc): Adjustment by section vma is no
	longer necessary.
	(various): use valueT rather than long.
1993-07-07 17:23:39 +00:00
Ken Raeburn
125f0b0d84 (sparc_ip): Initialize `len' variable to make gcc shut up.
(md_create_short_jump, md_create_long_jump, md_number_to_chars,
md_section_align): Adjusted for new interface.

(s_reserve): Permit use for other than a.out format.
(s_common): Handle Solaris-2 version.

(s_xword): For numbers, call big_cons.
(sparc_ip, md_apply_fix, tc_gen_reloc): Handle some sparc64 reloc types.
(md_number_to_chars): Handle 8-byte values.
1993-07-07 16:58:29 +00:00
Ken Raeburn
3c8df4ba76 (md_create_short_jump, md_create_long_jump,
md_number_to_chars, md_section_align): Adjusted for new interface.
1993-07-07 16:56:24 +00:00
Ken Raeburn
6e3785155d Change various calls (e.g., to symbol_new, md_number_to_chars) to cast
valueT or addressT arguments to correct types.
1993-07-07 16:40:30 +00:00
Ken Raeburn
bd4d4b8aca (obj_elf_frob_symbol, elf_frob_file, elf_file_symbol): Declare.
(elf_symbol): For sparc v9, use 64-bit symbol type.
1993-07-07 16:22:12 +00:00
Ken Raeburn
dee576a0a7 clean v9 from obj-elf.h 1993-07-07 16:19:59 +00:00
Ken Raeburn
25c09bbf44 Define ENV64 for sparc v9. 1993-07-07 16:17:29 +00:00
Ken Raeburn
7d0ed38fc3 (free): Returns void if __STDC__. 1993-07-07 16:14:44 +00:00
David D. Zuhn
bb554e9423 fix decls 1993-07-02 01:33:33 +00:00
Ian Lance Taylor
267389df6d * read.c (cons): Conditionalize parsing of expression. Move
putting value into object file into separate function.  Separate
	out MRI and WANT_BITFIELDS cases into separate functions.
	(emit_expr): New function to write data into object file.
	Conditionalize on TC_CONS_FIX_NEW and TC_CONS_RELOC rather than on
	processor types.
	(parse_bitfield_cons): New function to parse bitfield expressions
	as used by i960 assemblers.  Only compiled if
	BITFIELD_CONS_EXPRESSIONS is defined.
	(parse_mri_cons): New function to parse MRI style strings.  Only
	compiled if MRI is defined.
	(parse_repeat_cons): New function to parse repeat counts.  Only
	compiled if REPEAT_CONS_EXPRESSIONS is defined.
	* read.h (emit_expr): Added declaration of new function.
	* config/tc-a29k.h (TC_CONS_RELOC): Define to be RELOC_32.
	* config/tc-h8300.h (TC_CONS_RELOC): Define to be R_RELWORD.
	* config/tc-hppa.c (parse_cons_expression_hppa): New function to
	parse a HPPA expression, rather than special case in cons
	function.
	(cons_fix_new_hppa): New function to emit an HPPA fixup, rather
	than special case in emit_expr function.
	* config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION, TC_CONS_FIX_NEW):
	Define to use new functions from tc-hppa.c.
	* config/tc-i960.h (BITFIELD_CONS_EXPRESSIONS): Define.
	(WANT_BITFIELDS): Removed; now obsolete.
	* config/tc-mips.h (REPEAT_CONS_EXPRESSIONS): Define.
	* config/tc-ns32k.c (cons_fix_new_ns32k): New function to emit an
	NS32K fixup, rather than special case in emit_expr function.
	* config/tc-ns32k.h (TC_CONS_FIX_NEW): Define to be
	cons_fix_new_ns32k.  Also use PARAMS rather than checking
	__STDC__.
	* config/tc-sparc.h (TC_CONS_RELOC): Define to RELOC_32.

	* write.c (relax_and_size_seg, adjust_reloc_syms, write_contents):
	Don't core dump if gas has no information about a section.
1993-06-30 18:27:41 +00:00
Ken Raeburn
d4ac2d09fd New files for sparc64 cpu. 1993-06-30 10:30:54 +00:00
Ken Raeburn
ed9638af53 (tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP22 relocation.
(s_local) [OBJ_ELF]: New function.
(md_pseudo_table) [OBJ_ELF]: Call it for "local".
(s_common): Rearrange to handle Solaris .common pseudo, which may sometimes use
bss space instead of common.
(md_parse_option) [OBJ_ELF]: Print version id for -V.  Ignore -Q and -s options
for now.
1993-06-25 09:51:47 +00:00
Ken Raeburn
17145ba27a Sun Jun 20 02:34:04 1993 Ashley Saulsbury (ans@sics.se)
* m88k-opcode.h : fixed tiny tiny mistake - xcr was incorrectly
	specified, should have both S1 and S2 fields identical
	If only finding the problem was as fast as fixing the bug !!!!
1993-06-20 21:56:23 +00:00
Steve Chamberlain
115147fbb0 * config/obj-coffbfd.c (fill_section): Don't allow fills backwards.
* config/tc-sh (get_specific, md_convert_frag,
	md_estimate_size_before_relax): Add support for rest of opcodes.
1993-06-17 21:58:28 +00:00
Ken Raeburn
610648001b I don't think this file is needed any more 1993-06-10 01:35:17 +00:00
Ken Raeburn
9317b3fad8 patches from tege 1993-06-10 01:33:42 +00:00
Steve Chamberlain
ad86fa7047 * config/h8300.c: Support for H8/300-H opcodes.
* config/obj-coffbfd.c (w_strings): String table length is 4
	bytes, no matter what the host int size is.
1993-06-04 23:03:00 +00:00
Ken Raeburn
31fb7d23a0 keep ho-hppabsd.h 1993-06-03 21:23:53 +00:00
Ken Raeburn
f853f5435d new file, from utah 1993-06-03 19:58:32 +00:00
Ken Raeburn
0c6eb684cc don't bother checking return value from hash_new 1993-06-01 22:46:47 +00:00
Ken Raeburn
49864cfa6c read.c (s_align_bytes): Properly record alignment.
expr.c (__): Undefine before defining.
as.c (got_sig): Don't return anything; return type might be void.
Whitespace/comment cleanup in frags.c.
Some patches for `-pedantic' or `-fno-common' compilation.
(Some of these changes are from Michael Meissner; see change log.)
1993-05-27 19:42:23 +00:00
Ian Lance Taylor
9a7d824a26 * app.c (do_scrub_begin): Let line_comment_chars override
comment_chars.
	(do_scrub_next_char): If a line comment character is not at the
	start of a line, treat it as a comment character if it is one.
	For a CPP line comment use pseudo-op .appline rather than .line.
	* input-scrub.c (logical_input_line): Make int rather than
	unsigned.
	(input_scrub_push, input_scrub_begin): Initialize
	logical_input_line to -1 rather than 0.
	(bump_line_counters): Increment logical_input_line.
	(new_logical_line): If line_number is -2, decrement
	logical_input_line.
	(as_where): Use logical_input_line even if it is 0.
	* read.h (s_app_file prototype): Now takes an int argument.
	* read.c (potable): Make .appfile call s_app_file with 1.  New
	.appline pseudo-op calls s_app_line.
	(s_app_file): If .appfile, call new_logical_line with -2 to
	account for newline inserted by do_scrub_next_char.  If listing,
	call listing_source_file.
	(s_app_line): New function to handle fake pseudo-op .appline.
	* config/obj-coff.c (obj_pseudo_table): Make .appline call
	obj_coff_ln.
	(obj_coff_ln): Added argument to indicate whether .appline.
	* config/obj-coffbfd.c (obj_pseudo_table): Make .appline call
	obj_coff_ln.
	(obj_coff_ln): Added argument to indicate whether .appline.
	* config/tc-mips.c (s_file): Pass argument to s_app_file.
1993-05-27 19:29:38 +00:00
K. Richard Pixley
87756e15db added things-to-lose sections 1993-05-27 06:44:29 +00:00
Ian Lance Taylor
61f14fb0da * config/obj-bout.h (S_GET_VALUE): Removed unnecessary cast. 1993-05-25 19:16:16 +00:00
Steve Chamberlain
1f55e556cc (build_bytes): Understand @rd mode and build relocations correctly. 1993-05-19 14:44:00 +00:00
Ken Raeburn
74fa454788 override obj_header_append from obj-aout.c 1993-05-14 10:56:24 +00:00
Ken Raeburn
bbbb0da30e discard empty rs6000 files 1993-05-14 10:54:34 +00:00
Ken Raeburn
54f10da0da whitespace changes; rely on default initialization for a var 1993-05-10 19:07:57 +00:00
Ken Raeburn
daae8c92f1 keep new files 1993-05-06 02:03:00 +00:00
Ken Raeburn
b27caf27c8 PR fix for debug symbols referring to other symbols, then same name defined
as common.
(crawl_symbols): Don't clear sy_forward field.
(yank_symbols): Merge symbols only if sy_forward is null.
1993-05-05 20:32:12 +00:00
Ken Raeburn
80fa125df7 hppa configuration 1993-05-05 12:43:06 +00:00
Ken Raeburn
c77809b592 hp300 hpux configuration 1993-05-05 12:41:52 +00:00
Ken Raeburn
d6f72574a2 include ctype.h, and some special-purpose regs for 29050 1993-04-28 23:12:04 +00:00
Steve Chamberlain
4a1bbbe75b Support for Hitachi SH 1993-04-27 01:32:09 +00:00
Ken Raeburn
db4e0f90ba Get version string from config.h now.
Fix several functions to compile under traditional C.  Deleted _doprnt.
Moved some VMS-specific code here from ../symbols.c.
1993-04-21 04:54:05 +00:00
Ian Lance Taylor
349f20de4e * config/obj-ecoff.h (ecoff_build_lineno): Make ilineMax in
symbolic header match cline in FDR; the native liinker seems to
	want that.
1993-04-09 16:08:29 +00:00
Ian Lance Taylor
d565311f22 * config/ho-decstatn.h: Define BROKEN_ASSERT if not __GNUC__,
rather than undefining know.
1993-04-08 19:55:44 +00:00
Ken Raeburn
cbcf557273 include string.h 1993-04-05 18:00:40 +00:00
Ian Lance Taylor
d5bc321563 * config/te-irix.h: New file; irix needs a different LOCAL_LABEL
definition from other MIPS targets.
	* configure.in (mips-*-irix): Use emulation irix.
1993-04-05 16:44:21 +00:00
Steve Chamberlain
3adb6ca918 * config/tc-h8500.c: Get relax size of branch instructions right,
(get_operand): Parse @sp+ correctly.
1993-04-04 22:23:24 +00:00
Ian Lance Taylor
c209295fa5 Include ho-generic.h. 1993-04-02 18:42:37 +00:00
Ian Lance Taylor
ed364bb694 * config/ho-irix.h: New file; if not gcc, define BROKEN_ASSERT.
* configure.in (mips-sgi-irix*): Set gas_host to irix.
1993-04-02 16:57:17 +00:00
Ian Lance Taylor
670a50ebf6 * subsegs.c (subseg_new): Set output_section of new section.
* as.c (perform_an_assemly_pass): Don't set output_section here.
	* expr.c (expr_part, expr): Turn off section assertions for ECOFF,
	since it has additional sections.
	* read.c (s_lcomm): For MIPS ECOFF, put small objects in .sbss,
	not bss_section.
	* config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Added
	ecoff_undefined field.
	* config/obj-ecoff.c (obj_symbol_new_hook): Initialize
	ecoff_undefined field.
	(add_file): If using stabs, just output a stabs symbol rather than
	creating a new fdr.
	(obj_ecoff_begin, obj_ecoff_bend): Ignore line number by reading
	it with get_absolute_expression, rather than skipping it by hand.
	(obj_ecoff_loc): If using stabs, just output a stabs symbol rather
	than ECOFF line number information.
	(obj_ecoff_stab): Accept non-zero values for stabs line number.
	(ecoff_build_symbols): Set ifilesym correctly.  Set storage class
	to small, undefined and/or readonly sections if appropriate.
	Don't output symbol names containing \001 characters.
	(ecoff_frob_file): Make sure at least one fdr is output.
	* config/tc-mips.h: Define TC_MIPS.
	* config/tc-mips.c (g_switch_value): New static variable.
	(md_assemble): Set gp size of output BFD.
	(gp_reference): New function; returns 1 if expression can be
	accesssed via gp.  Always returns 0 if not using ECOFF.
	(macro_build): Convert BFD_RELOC_LO16 to BFD_RELOC_MIPS_GPREL if
	possible.
	(macro): Generate sequences using gp if possible.
	(md_parse_option): Ignore -EL and -EB.  Parse -G.
	(md_apply_fix): Added BFD_RELOC_MIPS_GPREL to ignored case.
	(s_change_sec): Handle .rdata and .sdata for ECOFF.
	(s_extern): Mark symbol as external.  Set ecoff_undefined field.
1993-04-01 02:14:29 +00:00
Ken Raeburn
c0f1bbb6d0 build file symbol fwd pointers properly, don't deref symbol #s as pointers 1993-03-30 15:22:27 +00:00
Steve Chamberlain
e02eaa5943 * config/obj-coffbfd.c (do_relocs_for): Fix bug where nrelocs
wasn't being stored into scnhdr.
	* config/obj-coffbfd.h: Add prototype of s_get_segment.
	* read.c (TC_START_LABEL): Default definition.
	(read_a_source_file): Use TC_START_LABEL macro to work out
	if a label has been seen.
1993-03-29 21:56:49 +00:00
Steve Chamberlain
10a3e37493 Numerous bug fixes 1993-03-29 21:45:50 +00:00
Ian Lance Taylor
543d88e4fd * config/obj-coffbfd.c (fill_section): Don't set NOLOAD bit for
a29k .bss section; the mondfe program doesn't like it.
1993-03-29 20:58:34 +00:00
Ian Lance Taylor
61001d969d * config/obj-coffbfd.c (do_relocs_for): Remove a29k special case.
(fixup_segment): Add a29k special case; the linker is not prepared
	to see a segment offset here.
1993-03-25 22:09:27 +00:00
Ken Raeburn
30d17c7e22 updated for obj-bfd-sunos, ho-decst* changes 1993-03-23 13:37:15 +00:00
Ken Raeburn
155e7bc479 (do_relocs_for): Don't allocate storage or process relocs if there aren't any
relocs to process.  Avoids malloc/free bug on SCO too.
1993-03-23 13:34:55 +00:00