Commit Graph

87 Commits

Author SHA1 Message Date
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
6d331d7151 app.c (app_push): Use memcpy, not bcopy.
(do_scrub_next_char): For \", return " not '.
(symbol_chars): Now const.
1992-12-29 23:53:52 +00:00
Ken Raeburn
4539aa02b2 expr.c (0$), obj-coff.h (#elif), ho-sunos.h (sys/stdtypes) changes 1992-12-28 18:40: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
be06bdcdd7 * app.c (do_scrub_begin): allow single quote strings if so
configured.
1992-12-15 22:55:01 +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
db33220fbd tonight's changes 1992-12-08 08:11:15 +00:00
Ken Raeburn
dde624eff9 recent changes to as.h, Makefile.in, write.c, obj-vms.c 1992-12-07 08:43:34 +00:00
Ken Raeburn
7f2cb2702a Some cleanup.
Deleted some unused code.
Fixed some declarations to use PARAMS macro.
Fixed up configure.in for new targets.
Some whitespace/comment fixes.
Merged config/ChangeLog.
1992-12-03 23:54:54 +00:00
Ken Raeburn
6efd877de5 Ran "indent", for GNU coding style; some code & comments still need fixup.
Removed some unneeded files.

configure.in: Don't look for te-386bsd.h, which doesn't exist...
1992-11-23 20:39:57 +00:00
Ian Lance Taylor
559d9aac44 Tue Oct 20 12:18:08 1992 Ian Lance Taylor (ian@cygnus.com)
* app.c (do_scrub_next_char): discard whitespace after a label.
1992-10-20 19:20:58 +00:00
David D. Zuhn
0f8b9790a1 use sysv config for solaris2 hosting 1992-10-12 02:10:51 +00:00
Mark Eichin
984cf2d71a support 386bsd target, from p3 1992-10-05 08:33:10 +00:00
John Gilmore
5a0fc1d4b8 Comment changes. 1992-09-26 00:55:33 +00:00
Ken Raeburn
4959cb7bf9 defined(__STDC__) / __STDC__==1 changes recommended by gnu 1992-09-25 21:14:46 +00:00
Brendan Kehoe
5e9d510ea6 * listing.c (debugging_pseudo): Add stabs and stabn as things to ignore. 1992-09-24 19:43:45 +00:00
Jim Wilson
569dac152d Make as.new depend on LIBS not the never set LIBDEPS, so that we get an
opcodes directory dependence.
1992-09-16 00:26:24 +00:00
Ian Lance Taylor
efbfb612f4 Changes to make an installed cross-compiler find everything correctly.
Tue Sep 15 15:32:02 1992  Ian Lance Taylor  (ian@cygnus.com)

	* Makefile.in (install): if $(tooldir) exists, install as in
	$(tooldir)/bin.
1992-09-15 23:27:10 +00:00
Ian Lance Taylor
ca5e9d49dd Sun Sep 13 20:30:10 1992 Ian Lance Taylor (ian@cygnus.com)
* Added WARN_SIGNED_OVERFLOW_WORD define to give an error if any
	.word is < -32768 or > 32767.  The -J flag causes the error to be
	ignored.  This is to catch over-sized switches generated by gcc on
	systems which don't support the broken .word hack.
	as.c (main): permit -J if WARN_SIGNED_OVERFLOW_WORD.
	write.c (fixup_segment): check for signed .word overflow if
	WARN_SIGNED_OVERFLOW_WORD.
1992-09-14 05:25:24 +00:00
Ian Lance Taylor
987b14913a Sun Sep 13 20:30:10 1992 Ian Lance Taylor (ian@cygnus.com)
* write.c (fixup_segment): fixed missing parens in expression
	checking for byte or word overflow.
1992-09-14 03:34:19 +00:00
Ian Lance Taylor
b1520b1f70 Thu Sep 10 09:23:15 1992 Ian Lance Taylor (ian@cygnus.com)
* input-scrub.c (input_scrub_push): call input_file_begin, not
	input_scrub_begin.
	messages.c (as_perror): print ": " between the passed in error and
	the strerror, like perror does.
1992-09-10 16:25:31 +00:00
Ian Lance Taylor
b53ccaacae Wed Sep 9 11:06:25 1992 Ian Lance Taylor (ian@cygnus.com)
* Makefile.in: use gas_target instead of modifying target_cpu.
	From Steve Chamberlain:
	Makefile.in: Handle m68*-*-coff*.
	read.c, read.h: add mult argument to s_space
1992-09-09 18:37:27 +00:00
Ken Raeburn
db4d20e5bf include opcode library 1992-09-09 01:27:27 +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
Ian Lance Taylor
7e10f53ccf Brought forward from p3:
Sun Aug 30 21:24:46 1992  Ian Lance Taylor  (ian@cygnus.com)

	* Makefile.in: map "as" through program_transform_name when
	installing.
1992-09-01 01:14:04 +00:00
Jim Wilson
b0952e128d Make as.new depend on LOCAL_LOADLIBES. 1992-08-29 19:12:04 +00:00
Ken Raeburn
b2f221a944 * 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:02:42 +00:00
Steve Chamberlain
ab737e518d * listing.c (buffer_line): rewind to the start of include
files, they might be included twice.
1992-08-25 22:16:39 +00:00
Ian Lance Taylor
7121231fbf Mon Aug 24 12:45:43 1992 Ian Lance Taylor (ian@cygnus.com)
* Makefile.in: defined TARGET_CPU for C code so that it can choose
	one element of a family.
1992-08-24 19:48:24 +00:00
Ken Raeburn
4772861e5b From p3:
* messages.c (as_warn): Use fputs, not fprintf, with a buffer that
has already been formatted (but may still contain %-characters).
(as_bad): Likewise.
1992-08-21 19:21:52 +00:00
Ken Raeburn
09952cd955 mainly link-relax changes 1992-08-19 14:42:21 +00:00
Ken Raeburn
a457f4d997 ChangeLog entry for sparc.mt added last week. 1992-08-18 22:20:44 +00:00
Ian Lance Taylor
4b85771064 Moved in from p3:
Tue Aug 18 14:16:38 1992  Ian Lance Taylor  (ian@cygnus.com)

	* Makefile.in: always create installation directories.  Removed
	MINUS_G, set CFLAGS to default to -g, added FLAGS_TO_PASS, passed
	FLAGS_TO_PASS to recursive makes.
1992-08-18 21:24:59 +00:00
Steve Chamberlain
f7e9bc5a2b * input-scrub.c (input_scrub_pop, input_scrub_push): memcpy was
being used with args swapped, causing occasional lossage when
	refilling buffers after an include file.
1992-08-17 22:12:02 +00:00
Ken Raeburn
c1c28543bc * messages.c (as_tsktsk): Use correct ANSI form for stdarg version.
Discard bogus DONTDEF version.
(as_warn, as_bad, as_fatal): Likewise.
1992-08-17 20:20:54 +00:00
Ken Raeburn
2e20e59abc * 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:50:47 +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
Steve Chamberlain
7fd3560a6a * read.c (s_fill): make the .fill size clamped error a warn and
fix bug where 0's were always placed.
1992-08-06 19:11:19 +00:00
Steve Chamberlain
4f3569faad Fix typo, I ment sun 3 .align is nbytes 1992-08-05 19:06:28 +00:00
Steve Chamberlain
62594bd73c * config/tc-m68k.c (md_pseudo_table): fix the .align thing
the right way; for just the 68k. Sun4 .align is nbytes, not ptwo.
1992-08-05 19:05:21 +00:00
Ken Raeburn
c7a535938e delete cvs merge cruft 1992-08-04 21:41:14 +00:00
Ken Raeburn
680227f309 fix for pr1371: heed fx_offset in pcrel relocs 1992-08-01 23:20:55 +00:00
Ken Raeburn
c51ccfd50a * configure.in (mips host): Accept "ultrix" with version number.
* expr.c (floating_constant): Separate "=-" to avoid confusing
        ancient or broken compilers.

        * 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:12:55 +00:00
Jim Wilson
14f1fc24fa * read.c (potable): Revert sac's incorrect change made Jul 13.
Align really is supposed to be ptwo not nbytes.
1992-07-31 19:29:14 +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
David Henkel-Wallace
0b0b5dbac1 Support -program_suffix (and make -program_prefix actually work). 1992-07-10 18:37:35 +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
65bfcf2e61 * subsegs.c (subsegs_begin): create bss0_frchainP in the same was
as data0_frchainP

	* write.c (write_object_file): various changes to handle data in
	the BSS segment in much the same was as stuff in the DATA segment.

	* subsegs.c (subseg_change): allow and handle a change into SEG_BSS.
1992-06-09 19:36:49 +00:00
Steve Chamberlain
90d4945716 * subsegs.c (subseg_change): allow and handle a change into SEG_BSS. 1992-06-09 14:57:23 +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