Commit Graph

250 Commits

Author SHA1 Message Date
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
Steve Chamberlain
2f68cb548c * obj-coffbfd.c (write_object_file): don't fixup for the z8k
* tc-z8k.[ch]: lots of bug fixes
1992-09-29 19:25:33 +00:00
Ian Lance Taylor
7c42ad77f3 Tue Sep 29 10:51:55 1992 Ian Lance Taylor (ian@cygnus.com)
* tc-i960.h, tc-i960.c: avoid the ANSI preprocessor addition
	#elif, since it is not supported by old compilers.
	ho-rs6000.h, tc-m68k.c: the native RS/6000 compiler miscompiles a
	couple of expressions in tc-m68k.c.
1992-09-29 18:38:20 +00:00
Ken Raeburn
fdc6ba6423 tc-i960.c: use NO_RELOC 1992-09-29 01:27:27 +00:00
Ian Lance Taylor
fe86a81703 Fri Sep 25 18:18:52 1992 Ian Lance Taylor (ian@cygnus.com)
* tc-m68k.h: if M68KCOFF, define DOT_LABEL_PREFIX (to require
	local labels to start with a .) and set REGISTER_PREFIX to %.
	tc-m68k.c (m68k_reg_parse): accept REGISTER_PREFIX if defined.
1992-09-26 01:20:04 +00:00
Sean Eric Fagan
b066f445bb Tue Sep 22 13:02:07 1992 Sean Eric Fagan (sef@cygnus.com)
* obj-coffbfd.c (do_relocs_for,fill_section): now allocate all
	sections starting from zero, rather than making them consecutive.
	This makes subsequent reloc calculations easier, esp if the
	object format doesn't understand addends. (obj_coff_lcomm): (maybe
	temporarily) allocate lcomm in .data rather than in .bss.  It
	seems that some tools can't cope with a non-zero sized bss
	before linkage.
1992-09-22 20:07:55 +00:00
Ken Raeburn
df3768fb6c cpu32 and -mno-688?1 support from p3 1992-09-22 19:24:33 +00:00
Ken Raeburn
ae9c717ec6 cpu32 and -mno-688?1 support from p3 1992-09-22 19:19:02 +00:00
Ian Lance Taylor
065b6303d0 Roll bask the WRS change, since it had already been applied, and the
reversed patch they sent blew my mind.
1992-09-22 15:32:03 +00:00
Ian Lance Taylor
25fb44628a Patches from WRS:
Mon Sep 21 14:44:17 1992  Ian Lance Taylor  (ian@cygnus.com)

	* tc-m68k.c (m68k_ip): fixed move16 operand handling, from WRS.
1992-09-21 22:31:41 +00:00
Steve Chamberlain
04b07d16c7 * tc-m68k.c (m68k_ip): An(disp) is not pc relative. 1992-09-18 15:03:59 +00:00
Ian Lance Taylor
e41474b77d Sun Sep 13 20:29:39 1992 Ian Lance Taylor (ian@cygnus.com)
* obj-coffbfd.h: define WARN_SIGNED_OVERFLOW_WORD.
	obj-coffbfd.c (fixup_segment): check for signed .word overflow if
	WARN_SIGNED_OVERFLOW_WORD.
1992-09-14 05:25:56 +00:00
Ian Lance Taylor
76bf2d5d61 Sun Sep 13 20:29:39 1992 Ian Lance Taylor (ian@cygnus.com)
* obj-coffbfd.c (fixup_segment): fixed missing parens in
	expression checking for byte or word overflow.
1992-09-14 03:34:44 +00:00
Steve Chamberlain
6066ebada2 Whoops, forgot this one 1992-09-11 22:02:52 +00:00
Steve Chamberlain
28c8c50b43 Support for 386 coff 1992-09-11 17:23:31 +00:00
Ian Lance Taylor
3ad9ec6a7b Wed Sep 9 11:10:24 1992 Ian Lance Taylor (ian@cygnus.com)
* tc-m68k.c (m68k_ip, m68k_ip_op, get_num, try_moto_index): merge
	 Motorola and MIT syntax; gas can now assemble either type of
	 file.
	tc-m68kmote.c, tc-m68kmote.h: removed now superfluous files.
	From Steve Chamberlain:
	m68kcoff.mt: for m68k COFF.
	obj-coffbfd.c: (fixup_mdeps) added
	 (size_section) removed bad sanity check
	 (fill_section) added rs_machine_dependent case
	 (write_object_file) call fixup_mdeps
	 (fixup_segment) set fx_subsy to 0.
	obj-coffbfd.h: define WORKING_DOT_WORD (too hard to support) and
	 handle m68k.
	tc-m68k.c, config/tc-m68k.h: added m68k COFF support and Motorala
	 pseudo ops.
1992-09-09 18:38:16 +00:00
Ken Raeburn
e53ab768f4 from p3: +0.0 is a small integer, at least for moveq 1992-09-04 23:25:16 +00:00
Steve Chamberlain
cfb48ce52d #include file moved 1992-08-31 22:53:15 +00:00
Jim Wilson
71703b0735 Update to SPARC Version 9 Draft 1.0.4. 1992-08-31 17:14:50 +00:00
Jim Wilson
01aec199eb Keep sparc.mt. 1992-08-31 00:27:23 +00:00
Jim Wilson
c6b16054ea Resolve someone else's CVS update conflict. 1992-08-31 00:01:22 +00:00
Ian Lance Taylor
8ae35e5919 Fri Aug 28 16:25:22 1992 Ian Lance Taylor (ian@cygnus.com)
* obj-bout.h, obj-bout.c (obj_header_append, obj_symbol_to_chars),
	tc-i960.c (md_ri_to_chars): Always output bout object file in
	little endian byte order (used to use endianness of host).
1992-08-29 00:16:47 +00:00
Ken Raeburn
4134a793c7 * config/tc-m68k.c (init_table): Now const. Always include 68851
data, so that "bc" is available to 68040 cache instructions.  Added
"tt0", "tt1", and 68ec030 variants.
(md_assemble): Complain if 68000 (only) and 68881 are specified.
(enum _register): Added TT0, TT1.
(m68k_ip, cases '3' and 't'): Handle new operand type codes.  Pass
line number correctly in "internal error" messages.  Don't print
architecture-mismatch message for operand errors.

From Colin Smith (colin@wrs.com):
* config/tc-m68k.c (m68k_ip, case '_'): Use addword twice rather than
install_operand.
1992-08-26 04:08:45 +00:00
Steve Chamberlain
163107a143 Support for the Z8k 1992-08-25 22:12:54 +00:00
Ian Lance Taylor
148eb5dd61 Mon Aug 24 12:45:12 1992 Ian Lance Taylor (ian@cygnus.com)
* tc-m68k.c: use TARGET_CPU to choose default cpu type.

	* te-generic.h: default to LOCAL_LABELS_DOLLAR and LOCAL_LABELS_FB
	so that we can assemble hand-written libgcc code.
1992-08-24 19:48:54 +00:00
Ian Lance Taylor
c50140c86b This is for PR 628.
Wed Aug 19 11:20:59 1992  Ian Lance Taylor  (ian@cygnus.com)

	* tc-m68k.c, tc-m68kmote.c: the cas2 instruction is supposed to be
	written with indirection on the last two operands, which can be
	either data or address registers.  Added a new operand type 'r'
	which accepts either register type.  Added '(' to notend stuff in
	tc-m68kmote.c to accept (a0):(a2) in cas2 instruction.
1992-08-19 18:27:48 +00:00
Ken Raeburn
09952cd955 mainly link-relax changes 1992-08-19 14:42:21 +00:00
Ken Raeburn
8be74775cd * config/tc-m68k.c (m68k_ip): If instruction is invalid for the
selected architecture, print a message saying so and listing what
processors support it, rather than saying "operands mismatch".
1992-08-15 02:57:12 +00:00
Ken Raeburn
c8c7e0bf25 make it compile on rs6k: declare free, disable assertions, don't define M_RS6000 1992-08-13 20:55:03 +00:00
Ken Raeburn
0e7d3df73a fix up hostname in log entry 1992-08-11 17:04:54 +00:00
Ken Raeburn
f101ac57c0 grab bfd lib for opcode table 1992-08-11 17:00:47 +00:00
Per Bothner
bec66218fc * tc-m68k.c: ".align N" means align to N-byte boundary *only*
if TN_SUN3; otherwise align to 2**N-byte bounary.
1992-08-10 21:40:49 +00:00
Steve Chamberlain
1eaf4dd64d * config/tc-h8300.c: if a :8 is seen after an operand, fill top
two bytes of any constant with 0xff:
1992-08-06 19:09:57 +00:00
Steve Chamberlain
9e43698e16 * config/tc-m68k.c (md_pseudo_table): fix the .align thing
the right way; for just the 68k. Sun 3 .align is nbytes, not ptwo.
1992-08-05 19:05:43 +00:00
John Gilmore
934afcd434 * tc-m68k.c (try_index): Error if index scaling specified and
assembling for an older CPU than a 68020.

This bug was found at Adobe because GAS did not diagnose incorrect
68020 code generated by GCC when compiling for 68010.  We had to debug it
in the target system as failing instructions.
1992-08-05 08:59:10 +00:00
Ken Raeburn
680227f309 fix for pr1371: heed fx_offset in pcrel relocs 1992-08-01 23:20:55 +00:00
Ken Raeburn
6d27d3a205 * config/tc-m68k.c (m68k_ip): Mismatch error could also indicate
processor/opcode mismatch, so reword the error message.
        (md_assemble): If no CPU has been set (even if FPU/PMMU
        characteristics have been), default to 68020.  Don't need extra
        quotes around error string.
1992-08-01 02:26:13 +00:00
David Henkel-Wallace
cd625bf3f9 Keep OSE support 1992-07-23 18:23:44 +00:00
K. Richard Pixley
ebe30eae41 removed rcsids 1992-07-18 04:12:48 +00:00
Steve Chamberlain
462088b886 * write.c (fixup_segment): if relaxing, don't do anything.
* config/obj-bout.[ch] : maintain the a_relaxable file header info
	* config/tc-i960.c: new option -linkrelax
1992-07-16 15:22:26 +00:00
Steve Chamberlain
a933d598b6 * expr.c (expr): allow SEG_BSS in expressions
* read.c (potable): align should be nbytes, not ptwo!
	* write.c (write_object_file): extra glue for new bss attributes
	(relax_segment): SEG_BSS is ok now
	* config/tc-m68k.c (m68k_ip_op): can now parse more @( modes
1992-07-13 21:32:05 +00:00
Steve Chamberlain
f264b1f575 *** empty log message *** 1992-07-07 00:11:55 +00:00
Steve Chamberlain
7c2d4011a4 Wed Jun 24 10:57:54 1992 Steve Chamberlain (sac@thepub.cygnus.com)
* app.c (process_escape): new function to handle escapes the right
	way, (do_scrub_next_char): use new function
	* cond.c (s_ifdef): do ifdef/ifndef right
	* read.c (s_fill): make the , expressions optional like the doc
	says
	* config/tc-h8300.[ch]: better warnings
1992-06-24 18:02:38 +00:00
Steve Chamberlain
a1765cf0fe * subsegs.c (subseg_change): allow and handle a change into SEG_BSS.
* tc-m68k.c (m68kip): Fix typo so that only arch's >=68020 do
	pcrel data stuff. (md_estimate_size_before_relax): when relaxing a
	68010 bxx into a bra+6 jmpxx, put the bytes of the jmp opcode into
	the right place. (s_bss): Don't put .bss stuff into SEG_DATA, put
	it into SEG_BSS
1992-06-09 14:57:42 +00:00
Steve Chamberlain
f8701a3ff8 Thu Jun 4 11:59:13 1992 Steve Chamberlain (sac@thepub.cygnus.com)
* expr.c(expr): allow SEG_REGISTER in expressions.
	* read.c(pseudo_set): register expressions can be the source of a
	set.
	* subsegs.c (subseg_new): Now -R forces all changes to SEG_DATA to
	goto SEG_TEXT (if a.out)
	* write.c (write_object_file): If a.out don't use the old way for
	-R.
	* config/obj-a.out (s_sect): complain if the user tries to use a
	subsegment with a value which might interfere with out -R hackery.
	* config/tc-m68k.c (m68k_reg_parse): lookup names in symbol table
	rather than use ugly if tree. (init_regtable): insert register
	names into symbol table.
1992-06-04 19:21:58 +00:00
Jim Wilson
a0fffd0d45 Add sparclite support. 1992-05-28 18:21:39 +00:00
Steve Chamberlain
d312e231b5 Fixes from Andrew Smith 1992-05-26 23:49:49 +00:00
Steve Chamberlain
a7f90969ec Keep the 29k config file 1992-05-07 00:24:39 +00:00
Steve Chamberlain
939a343342 Yet more 29k configury 1992-05-05 14:23:33 +00:00
Steve Chamberlain
c58dbabf26 * obj-coffbfd.c: use is a synonym for section, (do_relocs_for):
calc the base of relocs correctly.
	* tc-a29k.c (parse_operand): allow expressions to be in any section.
1992-05-05 01:59:04 +00:00
Steve Chamberlain
b38479171a Added "sect" as synonym for "section" 1992-05-05 00:51:50 +00:00
Steve Chamberlain
d752f749c8 Align lcomm addresses 1992-05-02 02:34:21 +00:00
Steve Chamberlain
a63dc14da1 tc-i386: lint
h8300.mt: configurey
1992-05-01 22:03:35 +00:00
Sean Eric Fagan
86582e8d6c The Apollo compiler doesn't like assigning variables to enum's. So,
add a new enum to the class, with a value of 0.
1992-04-07 22:20:00 +00:00
K. Richard Pixley
df7204ad89 * tc-m68k.h, te-sun3.h: moved LOCAL_LABELS_FB definition from
tc-m68k.h to te-sun3.h.

	* te-sun3.h: add LOCAL_LABELS_DOLLAR.
1992-03-12 12:44:22 +00:00
Steve Chamberlain
3e6e09c068 Dos File renaming 1992-02-27 18:52:18 +00:00
Steve Chamberlain
5373c4396a H8 bitrot fixes 1992-02-27 03:37:37 +00:00
Michael Tiemann
806147fd5c Keep a.out.gnu.h, not a.out.h (which no longer exists). 1992-02-26 08:54:09 +00:00
Steve Chamberlain
40f7081323 Don't remove underlines 1992-02-24 18:25:19 +00:00
Steve Chamberlain
c593cf412b * app.c: MRI compatibility - allow single quote to start a string.
* as.c: fix typo recently introduced.
	* as.h : Don't include aout/reloc.h - it's not right for COFF!
	* expr.c: Much rewriting, to accomodate MRI syntax for
	expressions. Also easier to read now.
	* listing.c: Put back defuns
	* read.c: modified to accept MRI syntax, put back listing pseudo
	ops so that an assembler built with NO_LISTING ignores list ops
	rather than pukes.
	* write.c, write.h: fixs - only keep a reloc type in a fix if the target
	machine is a SPARC or a 29K.
	* config/obj-aout.c: added s_sect pseudo op
	* config/obj-coffbfd.c: lints, set the filehdr flags right and
	fill in the timestamp.
	* config/obj-coffbfd.h: Since we don't include aout/reloc.h
	anymore, define all the relocs which the tc-<x> bit will use so we
	can translate from them to the coff types.
	* config/tc-a29k.c: reloc_type isn't ane enum any more
	* config/tc-m68k.c: Added NO_RELOC definition.

Now compiles for sparc aout, 68k aout (MRI and MIT syntax),
29k coff.

So far works as replacement for sparc and 68k /bin/as.
1992-02-22 20:45:24 +00:00
Steve Chamberlain
3b548344d0 Made less things defined by default, now builds on sun3 and sun4. 1992-02-22 17:30:50 +00:00
Steve Chamberlain
ed90b99590 Tandem/MRI syntax bit rot 1992-02-22 03:06:02 +00:00
Steve Chamberlain
abca39c14a How to compile gas on a PC 1992-02-22 00:24:13 +00:00
K. Richard Pixley
1a9e2cf89e cvs bug, these files should not have been checked in. 1992-02-21 14:28:34 +00:00
K. Richard Pixley
2d97273c8b be more cautious with tranle's patches 1992-02-21 14:21:54 +00:00
K. Richard Pixley
ed6bfe6d75 moved from gas/a.out.gnu.h to gas/config/a.out.gnu.h 1992-02-21 11:58:52 +00:00
K. Richard Pixley
879982e63f minor reorg of tranlee's stuff 1992-02-21 11:37:01 +00:00
K. Richard Pixley
011ed8a686 new files from tranlee 1992-02-21 11:06:41 +00:00
K. Richard Pixley
6d5460ab89 changes from Minh Tran-Le <TRANLE@INTELLICORP.COM> to support i386
coff as it appears to be used on aix386.
1992-02-21 11:04:51 +00:00
K. Richard Pixley
e39469d91a from hack's unfinished work 1992-02-21 09:10:45 +00:00