Commit graph

219 commits

Author SHA1 Message Date
Ken Raeburn
22a8927a96 Move VMS version of SUB_SEGMENT_ALIGN to obj-vms.h from write.h. 1993-02-08 19:22:18 +00:00
Ken Raeburn
51d8eae92d from Ralph Campbell's work 1993-02-08 19:20:27 +00:00
Ken Raeburn
debb85610b delete silly fake-as target stuff 1993-02-08 19:18:54 +00:00
Ken Raeburn
1b0e816029 don't specify comopiler here 1993-02-08 19:17:29 +00:00
Ken Raeburn
73e05a6e78 The z8k code doesn't appear too depend on include/opcode/h8300.h.
List it as depending on opcodes/z8k.h instead.
1993-02-08 19:15:26 +00:00
Steve Chamberlain
033400ec8d * config/{h8500.mt, tc-h8500.c, tc-h8500.h, obj-coffbfd.c,
obj-coffbfd.h}: support for the H8/500
1993-02-04 20:47:48 +00:00
Ken Raeburn
5a61aea99c not used 1993-01-27 22:58:05 +00:00
Ken Raeburn
23daa41e49 not used 1993-01-27 22:58:04 +00:00
Ken Raeburn
eeeaa7780b whitespace/comment changes 1993-01-20 22:22:21 +00:00
Ken Raeburn
494a6c056e Lots of changes from Eric Youngdale, mostly for VAX and VMS support. 1993-01-07 10:49:48 +00:00
Ken Raeburn
0124412e4c delete decls of segment_name, seg_name 1993-01-04 13:14:53 +00:00
Steve Chamberlain
c24e7321a6 Replace T in TC_H8300 1993-01-01 22:21:33 +00:00
Ian Lance Taylor
9a75dc1f76 A bunch of changes to COFF support. See the ChangeLog. 1992-12-30 21:39:51 +00:00
Ian Lance Taylor
85825401dc Wed Dec 30 10:18:57 1992 Ian Lance Taylor (ian@cygnus.com)
* app.c, config/tc-*.c: Don't include read.h, since it is already
	included by as.h.

	* These are based on patches from Minh Tran-le
	<mtranle@paris.intellicorp.com>.
	* configure.in (i[34]86-ibm-aix*): Accept i486 for host.  Use
	obj_format coffbfd and gas_target i386coff for target.
	(i[34]86-*-isc*): New host (uses sysv).
	* config/i386aix.mt: Removed (no longer used).
	* config/mh-i386aix (RANLIB): Use true rather than /bin/true.
	(MINUS_G): Removed.
	(LDFLAGS): Added, defined as -shlib.
	* config/te-i386aix.h (REVERSE_SORT_RELOCS): Undefine.
	* config/te-sco386.h (LOCAL_LABEL): Don't define.
	(DOT_LABEL_PREFIX): Define.
	* expr.c (operand): If DOT_LABEL_PREFIX, use .L0\001 as a label
	name rather than L0\001.
	* read.c (s_lcomm): Make a frag in SEG_BSS rather than using
	local_bss_counter.
	* symbols.c, symbols.h (local_bss_counter): Removed.
	* write.c (write_object_file): bss no longer uses
	local_bss_counter.  Pass correct data and bss size to
	VMS_write_object_file.
	* config/obj-vms.c (VMS_write_object_file): Accept bss size as
	argument, rather than using local_bss_counter.
	* config/tc-m88k.c (s_bss): Don't use local_bss_counter.
	* config/tc-sparc.c (s_reserve): Don't use local_bss_counter.
	* config/obj-coffbfd.c (had_lineno, had_reloc): Removed.
	(size_section): Restored sanity check.
	(do_relocs_for): Base section address on s_paddr rather than
	computing it.  Adjust a29k R_IHIHALF special case to account for
	section paddr (used to require paddr to be zero).  If there are no
	reclos, set s_relptr to 0.  Set relocation size in object_headers.
	(fill_section): Always set s_vaddr here, removing
	ZERO_BASED_SEGMENTS case.  Force s_scnptr for bss to 0.  Don't set
	NOLOAD for i386 .bss, because it confuses the SVR3 native linker.
	Set STYP_INFO for .comment.
	(coff_header_append): Use object headers and H_{SET,GET}_* macros.
	Make aouthdr writing depend on OBJ_COFF_OMIT_OPTIONAL_HEADER.
	(crawl_symbols): Handle 8 character section name correctly.  Use
	H_{SET,GET}_* macros.
	(do_linenos_for): Set lineno size in object_headers.
	(write_object_file): Use H_{SET,GET}_* macros.  Don't bother to
	set s_vaddr here.  If string_byte_count remains 4, set it back to
	0, and only write strings out if there are some.  Call
	fill_section before do_relocs_for and do_linenos_for.
	(obj_coff_section): Handle optional quoted second argument giving
	section characteristics.
	(obj_coff_bss): Added to handle .bss.
	(obj_coff_ident): Added to handle .ident (puts string in .comment
	section).
	(obj_coff_lcomm): Put common symbols in .bss, not .data.
	(fixup_mdeps): Change to segment.  Call frag_wane after
	md_convert_frag.
	(fixup_segment): Explicitly check S_IS_COMMON before making 386
	adjustment (already happened only for common symbols, but this is
	clearer).
	* config/obj-coffbfd.h (OBJ_COFF_OMIT_OPTIONAL_HEADER): Define.
	* config/tc-i386.c (s_bss): Don't use if I386COFF.
	(md_pseudo_table): Ignore .optim and .noopt.
	(tc_coff_sizemachdep): New function.
	* config/tc-i386.h (REVERSE_SORT_RELOCS): Undef, for SVR3
	compatibility.
	(LOCAL_LABEL): Removed definition.
	(DOT_LABEL_PREFIX): Defined.
1992-12-30 20:34:14 +00:00
Ken Raeburn
ba75c1ed58 avoid #elif 1992-12-28 18:38:32 +00:00
Ken Raeburn
476a57b9a0 SunOS 4.0.3 has no sys/stdtypes.h 1992-12-28 18:38:10 +00:00
Ian Lance Taylor
3eb802b53a Wed Dec 16 12:12:33 1992 Ian Lance Taylor (ian@cygnus.com)
* write.c, obj-ieee.c: don't define SUB_SEGMENT_ALIGN if it is
	already defined.
1992-12-16 20:13:53 +00:00
Steve Chamberlain
2cb0bdc75b lints 1992-12-15 22:49:55 +00:00
Steve Chamberlain
7e8892c382 checkpoint 1992-12-15 20:41:16 +00:00
Jim Wilson
8fc0776d4e For SPARC V9, for RELOC_WDISP2_14, upper 2 bits start at bit 20 now, instead
of bit 19.
1992-12-15 03:46:14 +00:00
Ian Lance Taylor
016e0d4207 Sat Dec 12 15:26:34 1992 Ian Lance Taylor (ian@cygnus.com)
* listing.c: Call xmalloc, not malloc; don't declare malloc.

	* Changes to support SCO 3.2v4:
	* read.c (s_align_bytes, s_align_ptwo): If not SEG_DATA or
	SEG_BSS, fill with NOP_OPCODE.
	* config/i386coff.mt: Add opcode/i386.h to TARG_CPU_DEPENDENTS.
	* config/obj-coffbfd.c (do_relocs_for): Increment addr even if not
	using ZERO_BASED_SEGMENTS.
	(fill_section): If ZERO_BASED_SEGMENTS, set segment addresses, but
	never set segment address for SEG_E2 (.bss) and don't write out
	SEG_E2 contents.  Set .init and .fini sections to STYP_TEXT.
	(obj_coff_endef): Don't merge labels or symbols awaiting forward
	definitions, and don't merge tags with non-tags.  Check for .bf
	rather than just checking whether the second character is b and
	the third character is f.
	(obj_coff_val): gcc can generate values which we don't handle
	correctly; discard information for now, since it only affects the
	debugging information.
	(tag_find_or_name): Don't insert tags in the symbol table.
	(yank_symbols): Don't merge labels.
	(write_object_file): Don't define SUB_SEGMENT_ALIGN if it is
	already defined.  Fill subsegments with NOP_OPCODE, not 0.  Don't
	set segment address if ZERO_BASED_SEGMENTS.
	(obj_coff_section): Accept and ignore a trailing quoted string, as
	used in AT&T i386 syntax.
	(fixup_segment): Take segment as argument.  On the i386, adjust PC
	relative addends by the segment vaddr.
	* tc-i386.h: Define SUB_SEGMENT_ALIGN.
	* tc-a29k.h: Define ZERO_BASED_SEGMENTS.
	* tc-i386.c: (i386_operand): If I386COFF, accept any segment type.
1992-12-13 00:56:14 +00:00
Ken Raeburn
af3b5ad238 missed tc-tahoe files 1992-12-08 09:42:06 +00:00
Ken Raeburn
6c2b38e087 replaced with newer code 1992-12-08 09:31:57 +00:00
Ken Raeburn
b41390d23d updated for current list of files 1992-12-08 09:30:28 +00:00
Ken Raeburn
30d9fb5730 obj-coffbfd.c: include libcoff.h 1992-12-08 08:48:16 +00:00
K. Richard Pixley
43bbd567f2 recording file death 1992-12-08 04:59:31 +00:00
Ken Raeburn
1f624b2117 changes for traditional C 1992-12-07 08:37:36 +00:00
Ken Raeburn
f42c91bb42 deleted local-vars comment 1992-12-07 08:37:23 +00:00
Ken Raeburn
c5dd66a13a mostly whitespace/comment changes 1992-12-03 23:52:26 +00:00
Ken Raeburn
082e9570f1 defined NEED_FX_R_TYPE 1992-12-03 23:50:45 +00:00
Ken Raeburn
baa018ced4 guesses for i860 relocs, from fsf code 1992-12-03 23:49:30 +00:00
Ken Raeburn
56a89eca33 delete M_VAX 1992-12-03 23:48:47 +00:00
Ken Raeburn
2ccf24f4c7 delete HO_USG and setbuffer macros 1992-12-03 23:45:34 +00:00
Ken Raeburn
dcc54cad96 declare malloc, realloc 1992-12-03 23:45:13 +00:00
Ken Raeburn
88db8f81f2 more tahoe code 1992-12-03 23:42:16 +00:00
Ken Raeburn
7943af02d9 tahoe code from fsf - untested 1992-12-03 23:41:18 +00:00
Ken Raeburn
be9618de59 vms stuff from fsf version - untested 1992-12-03 23:38:49 +00:00
Jim Wilson
0d44b3d1f0 For SPARC V9, change icc to %icc, xcc to %xcc, fccX to %fccX. 1992-11-23 23:40:18 +00:00
Ken Raeburn
355afbcd8b Ran "indent", for GNU coding style; some code & comments still need fixup.
Removed some unneeded files.

obj-coff.c (obj_coff_endef): Use as_warn, not fprintf.
tc-m68k.c (md_assemble): 68000+68881 is okay -- could be emulating.
1992-11-23 20:42:33 +00:00
Steve Chamberlain
8ab2202135 checkpoint 1992-11-12 23:38:51 +00:00
Ian Lance Taylor
b62a08d606 tc-m68k.c (insert_reg): put REGISTER_PREFIX before register
names before putting them in the symbol table.
1992-11-10 21:21:33 +00:00
Ian Lance Taylor
0069b1f670 These are actually Ken's patches--I told him I'd take move them from
p3 into devo.

	* tc-m68k.c (m68k_reg_parse): If REGISTER_PREFIX isn't defined,
	still accept (but don't require) OPTIONAL_REGISTER_PREFIX before
	the register name.
	* tc-m68k.h (OPTIONAL_REGISTER_PREFIX): Define to be "%", if not
	M68KCOFF.
1992-11-10 20:09:23 +00:00
Ian Lance Taylor
587c4264e0 These changes clean things up a bit, and improve Solaris cross
support when using /opt/SUNWspro/SC2.0/acc.

Tue Nov 10 09:50:25 1992  Ian Lance Taylor  (ian@cygnus.com)

	* obj-coffbfd.c (fill_section): set STYP_NOLOAD bit for .bss
	section.

	* atof-ieee.c, atof-ns32k.c, tc-*.c: made EXP_CHARS, FLT_CHARS,
	comment_chars, line_comment_chars and line_seperator_chars
	consistently const, and always initialized them.  Included read.h.
1992-11-10 18:17:00 +00:00
Jim Wilson
0cef0e20f9 Flag error if absolute constant is too large for an immediate field. 1992-11-06 01:59:36 +00:00
Ken Raeburn
f3f45b1047 this morning's check-ins... 1992-11-04 16:01:54 +00:00
Ian Lance Taylor
1045c20b4d Fri Oct 23 14:40:38 1992 Ian Lance Taylor (ian@cygnus.com)
* obj-coffbfd.c (write_object_file): check return value of
	bfd_close_all_done.
1992-10-23 21:42:04 +00:00
Ian Lance Taylor
6142210d1d Tue Oct 20 13:02:25 1992 Ian Lance Taylor (ian@cygnus.com)
* Support for i386-sysv.
	obj-coffbfd.c (do_relocs_for, write_object_file): set segment
	addresses to reasonable sizes.  New define ZERO_BASED_SEGMENTS can
	be used to set them all to zero as was done before.
	(fill_section): segment addresses now set in write_object_file.
	(fill_section): Don't set STYP_NOLOAD for .bss section.
	(fixup_segment): 386 uses strange common symbol format.
	tc-i386.c (tc_coff_fix2rtype): use R_DIR32, not R_RELLONG, for
	compatibility with SVR3.2 linker.
1992-10-20 20:10:34 +00:00
Ian Lance Taylor
4b77b129c6 Added #include <ctype.h> to several files. It's often more efficient,
and on some systems it's required.
1992-10-14 20:20:03 +00:00
Steve Chamberlain
c116445e02 fix i960+non-bfd coff bit rot.
* obj-coff.c (c_dot_file_symbol, obj_coff_ln, obj_coff_line):
	support for C source listings. (obj_coff_endef): look in the right
	part of the symbol for the symbol name
1992-10-06 00:03:20 +00:00
Steve Chamberlain
4f4476787a Mon Oct 5 09:28:57 1992 Steve Chamberlain (sac@thepub.cygnus.com)
* tc-m68k.c (get_num): make it work for all segments, not just the
	first three.
1992-10-05 16:30:05 +00:00