Commit graph

404 commits

Author SHA1 Message Date
Ken Raeburn
8d3be8030e * messages.c (as_fatal): Do mention that it's the assembler that
got the fatal error.
1993-10-11 20:17:28 +00:00
Ian Lance Taylor
1aa6938eb3 * config/tc-mips.c (mips_gprmask, mips_cprmask): New variables to
hold register masks.
	(md_begin): Initialize them to zero.
	(append_insn): Update mips_gprmask and mips_cprmask.  Also add
	register variables pinfo and prev_pinfo.
	* config/tc-mips.h (mips_gprmask, mips_cprmask): Declare.
	* config/obj-ecoff.c (ecoff_frob_file): If TC_MIPS, set gprmask
	and cprmask from mips_gprmask and mips_cprmask.
1993-10-08 20:01:10 +00:00
Ian Lance Taylor
8822543394 * config/tc-mips.h: Define TARGET_FORMAT if OBJ_ELF.
* config/tc-mips.c (GPOPT): Define if OBJ_ECOFF or OBJ_ELF.
	(various): Change all references to GP references to apply if
	GPOPT, not if OBJ_ECOFF.
	(s_change_sec): Rearrange somewhat.  If OBJ_ELF, use .rodata
	instead of .rdata.  If OBJ_ELF, set section flags for .rodata and
	.sdata sections.
	(s_frame, s_loc, s_mask): Comment out entire functions, rather
	than just body.  They're not used anyhow.
	* configure.in: Set cpu_type to mips for mips*.  Accept
	mips-*-elfl* and mips-*-elf*.
1993-10-08 18:24:41 +00:00
Ian Lance Taylor
17a0da33ca Thu Oct 7 18:36:29 1993 Michael Meissner (meissner@osf.org)
* config/obj-elf.c (obj_elf_common): Allow the alignment field to
	not be specified.
1993-10-08 17:15:03 +00:00
Ian Lance Taylor
abdad6bc5f * config/tc-mips.c (cons_fix_new_mips): New function. Turn
BFD_RELOC_64 into BFD_RELOC_32.
	* config/tc-mips.h (TC_CONS_FIX_NEW): Define.
	(cons_fix_new_mips): Declare.
1993-10-06 18:36:20 +00:00
Ian Lance Taylor
80aab57939 Changes to let cons handle bignums like general expressions.
* expr.h (expressionS): New field X_unsigned.
	* expr.c (operand): Initialize X_unsigned to 1.  Set it to 0 for
	unary minus case.
	(expr) Fix typo resultP to right if missing operand.  Set
	X_unsigned to 1 when building new expression.
	* read.c (potable): Make "octa" and "quad" call cons, not
	big_cons.
	(cons): Handle bignums.  If given an O_constant (small integer) to
	fill a big space, turn it into a bignum.
	(parse_bitfield_cons): Set X_unsigned field.
	(bignum_low, bignum_limit, bignum_high, grow_bignum, big_cons):
	Removed.
	* read.h (big_cons): Remove prototype.
	* symbols.c (resolve_symbol_value): Don't give a warning if a
	symbol in expr_section can not be resolved.
	(S_SET_VALUE): Clear X_unsigned.
	* write.c (write_object_file): If resolve_symbol_value failed on a
	symbol we are writing out, give a warning.
	* config/tc-h8500.c (parse_reglist): Set X_unsigned.
	* config/tc-hppa.c (md_pseudo_table): Change "octa" and "quad" to
	call pa_cons, not pa_big_cons.
	(pa_big_cons): Remove.
	* config/tc-hppa.h (pa_big_cons): Remove declaration.
	* config/tc-i960.c (md_pseudo_table): Change "quad" to call cons,
	not big_cons.
1993-10-06 17:31:31 +00:00
Ian Lance Taylor
4f5666c520 * read.c (big_cons): Handle "0" correctly.
* config/tc-mips.c (md_begin): Set target_big_endian correctly.
1993-10-04 21:13:48 +00:00
Ken Raeburn
31909d4099 configure.in: Alphabetize list of cpu type alternatives. Enable OS values of
"linux*elf*" and "linux*coff*" to select those formats, with linux emulation.
Don't bother checking for upper- or mixed-case versions of "ose".
1993-10-04 20:17:30 +00:00
Ken Raeburn
8208ab5a91 tc-m68k.c change 1993-10-04 20:10:50 +00:00
K. Richard Pixley
6cc87fbb75 correct a few mistakes found while extending the dissassembler. 1993-09-29 23:18:06 +00:00
Stan Shebs
8f3956b328 More Lynx support, plus better stabs-in-coff generation. 1993-09-28 19:22:08 +00:00
Ken Raeburn
43029a8f84 Whitespace/comment cleanup. Use PARAMS in tc-vax.c.
Make various routines return null pointer instead of empty string for
success indication.
1993-09-28 04:47:32 +00:00
Ken Raeburn
b9790da889 expr.c (expr) [DIFF_EXPR_OK]: Permit subtraction of symbols in different segs. 1993-09-27 04:23:13 +00:00
Ken Raeburn
b7318ac442 some 68k pic stuff 1993-09-27 03:57:58 +00:00
Ken Raeburn
c996b1994e minor tc-m68k.c changes 1993-09-25 09:32:32 +00:00
K. Richard Pixley
58f3e8a9db * config/tc-m88k.c (get_o6): new function.
(get_bf, get_cmp, get_cnd, get_cr, get_fcr, get_imm16, get_reg,
	  get_vec9, getval, get_pcr, calcop, match_name): make static and
	  prototype.
	  (s_file): remove extraneous forward decl.
	  (md_begin): add const to retval decl.
	  (calcop): cope with instructions without arguments.  Handle 'o'
	  type argument, the o6 field of the prot insn.
	  (md_estimate_size_before_relax): return a dummy value.
1993-09-24 19:47:59 +00:00
K. Richard Pixley
6d6b97b749 * config/m88k-opcode.h (m88k_opcodes): comment change; o6 field is
in bits 10 through 7.  flt.[dxs]s requires an r register in the
	  second argument.  New instruction lda.x.  New instruction muls
	  (alias for mul).
1993-09-24 19:41:51 +00:00
Ken Raeburn
6110df28cd obj-coffbfd relax_align change 1993-09-23 17:24:51 +00:00
Ian Lance Taylor
9bd0d6499c * read.c (get_stab_string_offset): Make non-static. Make
arguments const.  Don't align strings to 4 byte boundaries.
	* read.h: Declare get_stab_string_offset.
	* config/obj-elf.c (obj_elf_section): Set SEC_ALLOC as well as
	SEC_LOAD for progbits section.
	(obj_elf_init_stab_section): New function.
	(adjust_stab_sections): Add casts to avoid warnings.
	* config/obj-elf.h (INIT_STAB_SECTION): Call
	obj_elf_init_stab_section.
	(OBJ_PROCESS_STAB): Removed definition.
1993-09-20 23:29:42 +00:00
Ian Lance Taylor
80903ca67b * config/obj-elf.h (S_GET_SIZE): Define.
(obj_frob_forward_symbol): Define.
	* config/tc-i386.c (line_comment_chars): Initialize in all cases.
1993-09-17 22:16:29 +00:00
Ian Lance Taylor
1399802122 * tc.h: Declare tc_gen_reloc differently depending upong
RELOC_EXPANSION_POSSIBLE.
	* config/obj-elf.c (obj_elf_section): Only set flags when first
	creating the section.
1993-09-16 18:26:36 +00:00
Ian Lance Taylor
90397ff823 * config/obj-elf.c (obj_elf_data, obj_elf_text): New functions;
set previous_section and previous_subsection and then call s_data
	and s_text, respectively.
	(obj_pseudo_table): Add data and text.
	(obj_elf_section): Add SEC_LOAD to default initialization of
	flags.  Treat .rodata1 like .rodata.  Set SEC_LOAD as well as
	SEC_ALLOC for "alloc" string.  Don't bother trying to find the
	section; just use subseg_new.
1993-09-14 22:28:22 +00:00
Ian Lance Taylor
4f0bccc7d8 Some more gcc lint, and:
* read.c (change_to_section): Removed.  This is now done by
	subseg_new.
	(get_stab_string_offset): Rearranged somewhat.  Create the section
	using subseg_new.  Store the string index in seg_info, rather than
	in a static variable.  Force the first string to be empty.  Use
	frag_more rather than FRAG_APPEND_1_CHAR.
	(s_stab_generic): Rewrote.
	* subsegs.h (segment_info_type): Added stabu union.
	* subsegs.c (subseg_new): Initialize stab_string_size to 0.
	* config/obj-aout.c: Don't include aout/stab_gnu.h.
	(obj_aout_stab, obj_aout_desc): Removed.
	(obj_pseudo_table): Removed desc and stabX entries.
	* config/obj-bout.c: Same changes as config/obj-aout.c.
	* config/obj-bout.h (S_SET_TYPE): Define.
	(tc_bout_fix_to_chars): Declare.
	* config/obj-coff.c (obj_coff_stab): Removed.
	(obj_pseudo_table): Removed desc and stabX entries.
	* config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define.
	* config/obj-coffbfd.c (current_stab_symbol): Removed.
	* config/obj-coffbfd.h (obj_symbol_type): Removed n_strx, n_type,
	n_other, n_desc and n_value fields.
	(S_{S,G}ET_{OFFSET,OTHER,TYPE,DESC}): Removed.
	(MAKE_STAB_SYMBOL): Removed.
	* config/obj-ecoff.c (obj_ecoff_stab): Renamed to ecoff_stab.
	Changed arguments and removed parsing code.
	(obj_pseudo_table): Removed stabX entries.
	* config/obj-ecoff.h (ecoff_stab): Declare.
	(OBJ_PROCESS_STAB): Define.
	* config/obj-elf.c: Don't include aout/stab_gnu.h.
	(obj_elf_stab, obj_elf_xstab, obj_elf_desc,
	elf_stab_symbol_string, elf_stab_symbol, obj_elf_stab_generic):
	Removed.
	(obj_pseudo_table): Removed desc, stabX and xstabs entries.
	(obj_elf_version): Use subseg_new, not bfd_make_section.  Don't
	set SEC_LOAD for .note section.
	(adjust_stab_sections): Get frag pointer from seg_info, rather
	than looking through frags.
	* config/obj-elf.h (S_{S,G}ET_{OTHER,TYPE,DESC}): Removed.
	(SEPARATE_STAB_SECTIONS, INIT_STAB_SECTION, OBJ_PROCESS_STAB):
	Define.
	* config/obj-vms.c (obj_aout_stab): Removed.
	(obj_pseudo_table): Removed stabX entries.
	* config/obj-vms.h (S_SET_TYPE): Define.
1993-09-14 17:58:35 +00:00
Ian Lance Taylor
604633aeca * subsegs.c: Renamed non-BFD_ASSEMBLER subseg_new to subseg_set.
Wrote non-BFD_ASSEMBLER subseg_new.  Now subseg_new always takes a
	section name, and subseg_set always takes a segT.  Changed all
	callers as appropriate.
	* config/obj-coffbfd.c 	(change_to_section): Renamed to
	obj_coff_add_segment.  Corrected.  Made callers use subseg_new.
	* config/obj-coffbfd.h (obj_segment_name, obj_add_segment):
	Define.

Also some more gcc warning removal.
1993-09-13 21:32:07 +00:00
David Edelsohn
54e3e909d2 config/tc-sparc.h (LOCAL_LABEL): Remove test for name[0] == 'L'. 1993-09-13 20:16:03 +00:00
Ian Lance Taylor
58d4951d00 gcc lint. See ChangeLog for details. Also:
* config/obj-elf.h (S_SET_SIZE): Actually set the size.
1993-09-10 16:01:07 +00:00
Ken Raeburn
892a3ff190 gcc -Wall cleanups from Utah 1993-09-09 21:53:03 +00:00
Ian Lance Taylor
abdd08c97c * read.c (get_stab_string_offset, s_stab_generic): If
BFD_ASSEMBLER, call subseg_set rather than subseg_new.
1993-09-09 19:09:23 +00:00
Ian Lance Taylor
414b2c8f7a * config/obj-elf.c (obj_elf_section): Set SEC_LOAD when using
default flag values.
1993-09-08 19:11:47 +00:00
Stan Shebs
1531386bca Add missing ifdef to make m68k-aout targets happy. 1993-09-08 00:20:59 +00:00
Stan Shebs
4064305ec0 Changes to support stabs-in-coff 1993-09-07 17:39:56 +00:00
Ken Raeburn
81b407c990 PA and ELF changes 1993-09-03 22:38:18 +00:00
Ian Lance Taylor
ff3a5c1866 Reverted previous change, and added this one instead:
* config/tc-mips.c (macro_build): Accept 'z', and ignore it.
	(macro): Use "z,s,t" for div instructions to match corresponding
	change in opcode table.
	(mips_ip): Added 'z'--must be zero register.
1993-09-02 17:19:14 +00:00
Ian Lance Taylor
1849d6464f * config/tc-mips.c (macro): If $0 is destination of divide, just
generate the simple machine instruction, for compatibility with
	the MIPS assembler.
1993-09-02 14:46:54 +00:00
Ken Raeburn
e96d50d03c write.c, configure.in changes 1993-09-01 19:58:44 +00:00
K. Richard Pixley
56607c4e13 add an alias for data section type 1993-09-01 19:20:54 +00:00
K. Richard Pixley
37d719bb44 recognize m88110 1993-08-25 23:16:39 +00:00
Ken Raeburn
2834499323 more hppa elf support from utah 1993-08-25 20:15:17 +00:00
Ian Lance Taylor
6e8dda9c46 * config/tc-mips.c (set_at): Added unsignedp argument. Use
load_register.
	(set_at_unsigned): Removed; changed callers to use set_at.
	(load_register): Removed unused ip argument.  Changed callers.
	(append_insn): Don't swap branch and branch likely.
	(macro_build): Handle 'u'.
	(load_register): Handle 64 bit constants.
	(macro): Added M_DABS, removed M_ABSU.  Numerous changes to
	support 64 bit constants.
	(mips_ip): Use hex constants in range checks for clarity.
	(md_number_to_chars): Support 8 byte values.
1993-08-23 17:04:49 +00:00
K. Richard Pixley
1e35cd8f6d comments for tc-m88k.h change 1993-08-20 23:52:35 +00:00
Ian Lance Taylor
8358c818ff * config/tc-mips.c (mips_isa): New static variable.
(md_begin): Initialize mips_isa based on TARGET_CPU.  Don't sanity
	check macros.  Set text alignment and GP size here.
	(md_assemble): Don't set text alignment and GP size here.
	(append_insn): Don't insert NOPs for load delays if mips_isa >= 2.
	Use the right mask and shift for WRITE_FPR_T and WRITE_FPR_S.  Add
	a NOP after a branch likely.
	(mips_emit_delays): Don't insert NOPS for load delays if mips_isa
	>= 2.
	(macro): Support r6000 and r4000 macros.
	(mips_ip): Check insn ISA level against mips_isa before using it.
	Added 'x' case for ignored register.
	(md_parse_option): Handle -mipsN and -mcpu=XX.
1993-08-20 15:45:50 +00:00
Ken Raeburn
c8d4cda17c tc-i386, tc-sparc, obj-elf, tc.h changes 1993-08-20 05:29:56 +00:00
Ken Raeburn
4915cac01d obj-elf, write, symbols, read changes 1993-08-18 21:21:23 +00:00
Ian Lance Taylor
19ed896035 * config/tc-mips.c (append_insn): Don't swap branch instructions
if .set nobopt or .set volatile.
	(gp_reference): .lit8 and .lit4 are accessed via the GP register.
	(macro): Added cases M_LI_S, M_LI_SS.  Fixed M_LI_D and M_LI_DD.
	(mips_ip): Added cases 'F', 'L', 'f', 'l' for floating point.
	* config/obj-ecoff.c: Renamed some variables to avoid shadow
	warnings.
1993-08-18 19:45:17 +00:00
David D. Zuhn
ae8c28f8fc use coffbfd for z8k 1993-08-16 21:17:04 +00:00
Ian Lance Taylor
0aa07269cf * config/tc-mips.c (mips_ip): Suggested by
davidj@ICSI.Berkeley.EDU (David Johnson): Don't accept symbolic
	names for 'E' and 'G' argument types (coprocessor registers) and
	don't warn if $1 is used on the coprocessor.
1993-08-12 15:52:57 +00:00
Ken Raeburn
6a9cf6fa53 * write.c (merge_data_into_text): Define only if BFD_ASSEMBLER is
defined or BFD is not.
	(relax_and_size_all_segments): Declare local variable fragP.
1993-08-09 17:40:58 +00:00
Ken Raeburn
b114e49215 changes to write.c, obj-elf.c, tc-sparc.c 1993-08-06 19:27:43 +00:00
Ian Lance Taylor
3d2330f897 * configure.in (mips-*-riscos*, mips-*-sysv*): New (untested)
targets, using ecoff and mips-big.
1993-08-06 18:46:17 +00:00
Ian Lance Taylor
ac32a7e7df * config/tc-mips.c (mips_ip): From davidj@ICSI.Berkeley.EDU (David
Johnson): Added case for 'C' for coprocessor instruction codes.
1993-08-06 15:14:31 +00:00
Ken Raeburn
273aa9471d read.c change; yesterdays elf/sparc changes 1993-08-05 17:14:11 +00:00
Ian Lance Taylor
4573d18601 * config/obj-ecoff.c: Updated for BFD ECOFF changes. Now gets the
swapping routines and external structure sizes via the
	ecoff_backend information.  No longer includes coff/mips.h.
1993-08-03 20:25:58 +00:00
Ian Lance Taylor
4c7ff23d32 * config/obj-ecoff.c (get_tag): Save tag name in permanent memory
and in hash_ptr->string.
1993-08-02 22:28:25 +00:00
Ian Lance Taylor
b4703fa618 * app.c (do_scrub_next_char): Reset state to 0 after .appline if
file name is not seen.
1993-08-02 21:39:05 +00:00
Ian Lance Taylor
ced16de6bd * write.c: Don't use short int in a prototype. 1993-07-30 05:22:12 +00:00
Ian Lance Taylor
ab4d34cd91 * expr.c (operand): Make return value simply depend on contents of
returned expression.
1993-07-30 05:06:58 +00:00
David D. Zuhn
0ccc65ec79 fix ANSI decl conflicts 1993-07-30 01:40:25 +00:00
Ian Lance Taylor
7fe1797032 * config/tc-m68k.c (m68k_ip): If we have a normal constant when we
expect a bignum, turn it into a bignum.  Output extra zeroes
	before a short bignum, rather than after.
1993-07-28 15:36:45 +00:00
Ken Raeburn
0c2734c384 symbols.c: Use DEBUG_SYMS instead of DEBUG. 1993-07-27 19:58:39 +00:00
Ian Lance Taylor
e9f108bcba mips_optimize is also affected by -g. 1993-07-27 18:36:19 +00:00
Ian Lance Taylor
4fe45d2254 * config/tc-mips.c (mips_optimize): New static variable.
(append_insn): If ! mips_optimize, don't swap branches.
	(md_parse_option): If -Ox, set mips_optimize accordingly.
1993-07-27 15:47:11 +00:00
K. Richard Pixley
de9310b92b * Makefile.in (clean): if testsuite does not exist, then skip it. 1993-07-27 01:05:23 +00:00
Ken Raeburn
7767e7e9c8 obj-elf.c, tc-sparc.c, symbols.c changes 1993-07-23 17:18:20 +00:00
Ian Lance Taylor
2a2d3d08d6 * write.c (fix_new_exp): Handle a O_uminus expression. 1993-07-23 03:32:57 +00:00
Ian Lance Taylor
e979ea0409 * expr.c (expr): Don't let absolute_section override
undefined_section for the return value.
1993-07-23 03:02:17 +00:00
Ian Lance Taylor
cf897ce253 * read.c (read_a_source_file): In NO_PSEUDO_DOT case, if we find a
pseudo-op with a poc_handler field of NULL, ignore it and treat it
	as an instruction instead.
	* config/tc-m88k.c (md_pseudo_table): Add "set" with a NULL
	poc_handler field.
1993-07-23 02:55:25 +00:00
Ian Lance Taylor
88b457e59a * config/tc-h8500.c (md_begin): Use a local variable when
initializing md_relax_table to avoid warnings about modifying a
	supposedly const data structure.
1993-07-22 19:11:48 +00:00
Brendan Kehoe
88e124608b * config/obj-aout.c: Only include aout/aout64.h if BFD_ASSEMBLER
is defined.
1993-07-22 18:00:17 +00:00
Fred Fish
86a6ada2fd * configure.in (case ${host}): Map *-*-sysv4* to gas_host=sysv.
* configure.in (case ${generic_target}):  Add i[34]86-*-sysv4*
	case to set obj_format=elf.  Must go before i386-*-sysv* case that
	sets obj_format=coffbsd.  Add *-*-sysv4* to *-*-elf and
	*-*-solaris case, and move to before *-sysv* case that wants to
	set obj_format to coff.
	* config/tc-i386.c (i386_operand): Change all 'exp.X_op' to
	'exp->X_op'.
	* config/tc-i386.c (md_apply_fix):  Fix valp to be 'valueT *' for
	BFD_ASSEMBLER case.
1993-07-22 00:43:13 +00:00
Ian Lance Taylor
2c5c299f93 * config/obj-aout.c: Include aout/aout64.h.
(obj_aout_frob_symbol): Set BSF_DEBUGGING for a constructor
	symbol, so that BFD doesn't tamper with the type.
1993-07-21 19:26:20 +00:00
Ian Lance Taylor
8ff6f40e74 * read.c (read_a_source_file): If NO_PSEUDO_DOT is defined, look
up opcodes as pseudo-ops even if they don't start with '.'.
	* config/tc-m88k.h (NO_PSEUDO_DOT): Define.
	* config/tc-m88k.c (md_assemble): Removed special pseudo-op
	handling.
	(md_apply_fix): Set fx_offset to the upper 16 bits of the reloc.
	Output the low 16 bits for RELOC_HI16, not the high 16 bits.
	* config/obj-coffbfd.c (do_relocs_for): If TC_M88K, set the
	r_offset field of the reloc to the fixup offset.
	(fixup_segments): If TC_M88K, don't warn about fixup overflows.
	* doc/as.texinfo: Minor updates.
1993-07-21 17:19:33 +00:00
Ian Lance Taylor
5ac34ac37e * Extensive changes to permit symbols to contain any expression
type and to delay the computation of the expression until the
	value is actually needed.  This permits setting symbols to values
	calculated based on object code size.  Expressions were changed to
	no longer be in a section, to stop the overloading of segment and
	expression type that previously occurred.

	* as.c (big_section, pass1_section, diff_section, absent_section):
	Removed.
	(expr_section): Added (used for dummy symbols which hold
	intermediate expression values).
	(perform_an_assembly_pass): Create expr_section, do not create the
	sections now removed.
	* as.h (segT): Removed SEG_ABSENT, SEG_PASS1, SEG_BIG, and
	SEG_DIFFERENCE.  Added SEG_EXPR.
	(SEG_NORMAL): Corresponding changes.
	* subsegs.c (seg_name, subsegs_begin): Changed accordingly.
	* write.c (write_object_file): Ditto.
	* config/obj-aout.c (seg_N_TYPE): Ditto.
	* config/obj-bout.c (seg_N_TYPE): Ditto.
	* config/obj-coff.c (seg_N_TYPE): Ditto.
	* config/obj-coffbfd.c (seg_N_TYPE): Ditto.
	* config/obj-vms.c (seg_N_TYPE): Ditto.

	* expr.h (operatorT): Moved in from expr.c, added some values.
	(expressionS): Added X_op field, removed X_seg field; renamed
	X_subtract_symbol to X_op_symbol.
	* expr.c: Extensive changes to assign expression types rather than
	sections and to simplify the parsing.
	* write.c (fix_new_internal): New static function.
	(fix_new): Removed sub_symbol argument.
	(fix_new_exp): New function, takes expression argument.
	* write.h: Prototype changes for fix_new and fix_new_exp.
	* cond.c (s_if): Changed accordingly.
	* read.c (s_lsym, pseudo_set, emit_expr, parse_bitfield_cons,
	parse_repeat_cons, get_segmented_expression,
	get_known_segmented_expression, get_absolute_expression): Ditto.
	* symbols.c (resolve_symbol_value, S_GET_VALUE, S_SET_VALUE):
	Ditto.
	* write.c (write_object_file): Ditto.
	* config/obj-coff.c (obj_coff_def, obj_coff_val): Ditto.
	* config/obj-coffbfd.c (obj_coff_def, obj_coff_val,
	obj_coff_endef, yank_symbols): Ditto.
	* config/obj-elf.c (obj_elf_stab_generic, obj_elf_size): Ditto.
	* config/tc-a29k.c (md_assemble, parse_operand, machine_ip,
	print_insn, md_operand): Ditto.
	* config/tc-h8300.c (parse_exp, colonmod24, check_operand,
	do_a_fix_imm, build_bytes): Ditto.
	* config/tc-h8500.c (parse_exp, skip_colonthing, parse_reglist,
	get_specific, check, insert, md_convert_frag): Ditto.
	* config/tc-hppa.c (the_insn, fix_new_hppa, cons_fix_new_hppa,
	md_assemble, pa_ip, getExpression, getAbsoluteExpression,
	evaluateAbsolute, pa_build_unwind_subspace, pa_entry,
	process_exit): Ditto.
	* config/tc-hppa.h (STAB_FIXUP, is_DP_relative, is_PC_relative,
	is_complex): Ditto.
	* config/tc-i386.c (pe, md_assemble, i386_operand,
	md_estimate_size_before_relax, md_create_long_jump): Ditto.
	* config/tc-i860.c (md_assemble, getExpression, print_insn):
	Ditto.
	* config/tc-i960.c (parse_expr, subs, segs, md_convert_frag,
	get_cdisp, mem_fmt, parse_ldconst, relax_cobr, s_sysproc,
	i960_handle_align): Ditto.
	* config/tc-m68k.c (struct m68k_exp, struct m68k_it, seg, op,
	subs, add_fix, isvar, m68k_ip, md_assemble, md_convert_frag_1,
	md_estimate_size_before_relax, md_create_long_jump, get_num):
	Ditto.
	* config/tc-m88k.c (md_assemble, get_imm16, get_pcr,
	md_create_short_jump, md_create_long_jump): Ditto.
	* config/tc-mips.c (md_assemble, append_insn, gp_reference,
	macro_build, macro, my_getExpression): Ditto.  Also removed
	get_optional_absolute_expression; just use get_absolute_expression
	instead.
	* config/tc-ns32k.c (get_addr_mode, evaluate_expr, convert_iif,
	fix_new_ns32k, fix_new_ns32k_exp, cons_fix_new_ns32k): Ditto.
	* config/tc-ns32k.h (fix_new_ns32k prototype): Ditto.
	* config/tc-sh.c (parse_exp, check, insert, md_convert_frag):
	Ditto.
	* config/tc-sparc.c (md_assemble, sparc_ip, getExpression,
	print_insn): Ditto.
	* config/tc-tahoe.c (struct top, md_estimate_size_before_relax,
	tip_op, md_assemble): Ditto.
	* config/tc-vax.c (seg_of_operand, md_assemble,
	md_estimate_size_before_relax, md_create_long_jump): Ditto.
	* config/tc-z8k.c (parse_exp, check_operand, newfix): Ditto.
1993-07-21 00:41:42 +00:00
David D. Zuhn
84873870d7 add i386-lynx support 1993-07-20 19:18:13 +00:00
Ken Raeburn
623d6e9ab8 various changes 1993-07-19 20:05:41 +00:00
Ian Lance Taylor
ce2ad89aca * config/tc-m68k.c (m68k_ip_op): Don't decrement strend when
calculating opP->isiz; this permits the expression size to be
	determined as well, later on.

Fixes PR 2911.
1993-07-19 19:13:30 +00:00
Ian Lance Taylor
ffffc8fb5c * expr.c (clean_up_expression): Don't cancel the subtraction of
undefined symbols.

Fixes PR 2997.

	* read.c (s_data), config/obj-coffbfd.c (obj_coff_data): If -R,
	switch to text section rather than data section.

Fixes PR 2971.
1993-07-19 18:46:39 +00:00
Ken Raeburn
9d4dfbf379 fix net-equip pr 2975: tm-m68k.c(m68k_ip): adjust for pc-rel offset before using value, not after 1993-07-19 16:49:01 +00:00
Ian Lance Taylor
1e9cf56586 * read.c (float_cons): Simplified parsing logic. If
REPEAT_CONS_EXPRESSIONS is defined, accept a repeat count.

	* symbols.c (colon): Rather than a special case for TC_HPPA,
	use new macro tc_frob_label.
1993-07-16 16:26:03 +00:00
Ian Lance Taylor
04acd059ee * config/obj-ecoff.c (ecoff_build_symbols, ecoff_build_procs,
ecoff_frob_files): Consistently use S_GET_VALUE rather than
	bfd_asymbol_value.  Warn if taking difference of symbols in
	different segments.
1993-07-16 15:58:08 +00:00
Ian Lance Taylor
cb441b387e * config/tc-m88k.c (omagic): Removed unused variable. 1993-07-15 22:16:39 +00:00
Ian Lance Taylor
5276e361db * config/obj-ecoff.c (ecoff_frob_file): Discard all open scopes,
with a warning.
1993-07-15 22:01:27 +00:00
Ian Lance Taylor
2368ec638a * config/obj-coffbfd.c (fixup_segment): If TC_M88K, don't adjust
by md_pcrel_from if we are relocating against a symbol (we still
	need md_pcrel_from for a PC relative relocation within the same
	file).
	* config/tc-m88k.c (md_pcrel_from): Corrected return value.
1993-07-15 20:23:43 +00:00
Ian Lance Taylor
c978e704a9 * Preliminary support for m88k-coff.
* configure.in (m88k-*-coff*): New target.  Use coffbfd and
	m88kcoff.
	* config/m88kcoff.mt: New file.
	* read.c (lex_type): New macro LEX_AT to set lex type of '@'.
	(pseudo_set): Handle difference of symbols in different fragments
	by saving the entire expression as the value of the symbol.
	* symbols.c (resolve_symbol_value): Resolve difference
	expressions.
	* config/obj-coffbfd.c (obj_pseudo_table): If TC_M88K, accept
	"sdef" as a synonym for "def".
	* config/obj-coffbfd.h: If TC_M88K, include coff/m88k.h and set
	TARGET_FORMAT.
	(S_IS_LOCAL): Any symbol which includes \001 in the name is local.
	* config/tc-m88k.c, config/tc-m88k.h: Numerous changes to bring
	m88k port up to date, and to add COFF support.
1993-07-15 16:02:21 +00:00
Ian Lance Taylor
5868b1fe68 * Removed sy_forward and replaced it with an undefined expression
as the value of a symbol.
	* struc-symbol.h (struct symbol): Removed sy_forward field.  Added
	sy_resolved and sy_resolving single bit fields.
	* symbols.c (symbol_new): Don't initialize sy_forward field.
	(resolve_symbol_value): New function to adjust symbol value by
	fragment address, using recursion to resolve forward symbols.
	* symbols.h: Added prototype for new function.
	* read.c (pseudo_set): Set symbolP->sy_value to an undefined
	expression rather than setting symbolP->sy_forward.
	* write.c (write_object_file): Use resolve_symbol_value on
	symbols, keeping the common case (the old behaviour) inline.
	* config/obj-aout.c (obj_aout_frob_symbol): Removed sy_forward
	handling (subsumed by write.c change).
	* config/obj-coff.c, config/obj-coffbfd.c (obj_coff_val): Set
	sy_value rather than sy_forward.
	* config/obj-coffbfd.c (obj_coff_endef, yank_symbols): Check
	expression segment rather than sy_forward.
	(yank_symbols): Use resolve_symbol_value.
	(crawl_symbols): Removed extra pass over symbols.
	* config/obj-aout.c, config/obj-bout.c, config/obj-coff.c,
	config/obj-vms.c (obj_crawl_symbol_chain): Removed extra pass over
	symbols which handled sy_forward; use resolve_symbol_value
	instead.
	* config/obj-coff.h, config/obj-coffbfd.h (obj_frob_forward_symbol):
	Define.
	* config/obj-elf.c (obj_elf_stab_generic): Check expression
	segment rather than sy_forward.
	* config/obj-vms.c (VMS_Check_For_Main): Don't initialize
	sy_forward; do initialize sy_resolved and sy_resolving.
	* config/tc-hppa.h (STAB_FIXUP): Use sy_value, not sy_forward.
1993-07-14 22:21:25 +00:00
Ian Lance Taylor
85051959f4 * Changes to keep a full expression as the value of a symbol, not
just a longword:
	* struc-symbol.h: New field sy_value.
	* as.h: Include expr.h before struc-symbol.h.
	* expr.h: Use struct symbol rather than symbolS.
	* symbols.c (S_GET_VALUE, S_SET_VALUE): Rewrote to retrieve value
	of sy_value field; compile unconditionally, not just if
	BFD_ASSEMBLER.
	* symbols.h: Compile S_{SG}ET_VALUE prototypes unconditionally.
	* write.c (write_object_file): Set BFD symbol value to gas symbol
	value.
	* config/obj-aout.h, config/obj-bout.h, config/obj-coff.h,
	config/obj-coffbfd.h, config/obj-generic.h, config/obj-vms.h
	(S_GET_VALUE, S_SET_VALUE): Removed macro definitions.
	* config/obj-ieee.c (S_GET_VALUE, S_SET_VALUE): Removed.
	* config/obj-coff.h, obj-coffbfd.h: Rewrote several macros to use
	S_GET_VALUE rather than ost_entry.n_value.
	* config/obj-aout.c (obj_symbol_to_chars), config/obj-bout.c
	(obj_symbol_to_chars), config/obj-coff.c (obj_symbol_to_chars),
	config/obj-coffbfd.c (symbol_to_chars): Get value to write out
	using S_GET_VALUE--don't assume it is already set.
	* config/obj-ieee.c (do_symbols): Set BFD symbol value to gas
	symbol value.
	* config/obj-vms.c (various): Don't assign directly to
	S_GET_VALUE; use S_SET_VALUE instead.
1993-07-14 19:35:45 +00:00
David Edelsohn
b50401c93c * configure.in: Recognize h8300h. 1993-07-14 16:37:27 +00:00
Steve Chamberlain
489a93f3c3 * config/tc-h8500.c (line_comment_chars): Add hash.
(parse_exp, skip_colonthing, build_bytes): Add support for
	R_H8500_HIGH16 relocation type.
1993-07-13 19:12:10 +00:00
Ken Raeburn
5d4ef2968b config/obj-elf.c (obj_elf_section): Allow `@' to introduce an attribute name.
Handle `execinstr' attribute.
1993-07-12 15:17:10 +00:00
Ian Lance Taylor
99c24539c5 * config/tc-mips.c (mips_ip): Don't warn on 'i' or 'j' mismatch if
there is another alternative for the instruction.
1993-07-12 14:24:20 +00:00
Roland Pesch
ec1c752b34 doc/as.texinfo 1993-07-10 00:32:18 +00:00
Ken Raeburn
b25654337a Oops, not all of the tc-sparc.c change was format-independent.
Still handles both syntaxes independent of format.
1993-07-08 19:09:19 +00:00
Mark Eichin
d358969d94 changelog for tc-i960 change 1993-07-08 18:50:43 +00:00
Ken Raeburn
ff4cac3854 config/tc-sparc.c (s_common): Revamp to handle both syntaxes, and not be
target-specific.
1993-07-08 18:40:50 +00:00
David Edelsohn
422069965b config/tc-h8300.h (TC_CONS_RELOC): Use R_RELLONG if h8/300h. 1993-07-08 14:26:17 +00:00
David D. Zuhn
e9baeb4606 define CROSS is cross compilation 1993-07-08 02:55:22 +00:00
Ian Lance Taylor
e154ecf4ab * symbols.c (fb_label_instance, fb_label_instance_inc): Don't dump
core just because somebody uses a label before it is defined.
1993-07-07 20:07:12 +00:00
Ian Lance Taylor
76c64db09f Various entries. 1993-07-07 17:22:56 +00:00
Ken Raeburn
e28e0b95ed Typedef changes. V9 work. 1993-07-07 17:16:02 +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
David D. Zuhn
a828550492 fix HPUX hosting problems 1993-06-29 17:22:03 +00:00
David D. Zuhn
9126738c04 canonicalize install.sh location 1993-06-17 23:56:08 +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
David D. Zuhn
a00ee52267 remove parentdir support 1993-06-16 01:00:29 +00:00
Ian Lance Taylor
47fcc4f54a * configure.in (mips-*-ecoffl*): New target; use ecoff and
mips-lit.
	(mips-*-ecoff*): Added trailing '*'.
1993-06-04 19:39:20 +00:00
Ian Lance Taylor
68ad4c9269 * config/obj-ecoff.c (ecoff_build_procs): Force the adr of the
first FDR in a file to be zero.
1993-06-04 14:53:02 +00:00
Ken Raeburn
b7067d7f8a bump version number 1993-06-03 21:29:15 +00:00
Ken Raeburn
7577669525 today's changes 1993-06-03 20:39:20 +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
Ian Lance Taylor
61f14fb0da * config/obj-bout.h (S_GET_VALUE): Removed unnecessary cast. 1993-05-25 19:16:16 +00:00
Steve Chamberlain
6eef4543ca * config/tc-h5000.c (build_bytes): Understand @rd mode and build
relocations correctly.
1993-05-19 14:44:12 +00:00
Ken Raeburn
f8f6147851 updated 1993-05-17 19:25:48 +00:00
Ian Lance Taylor
204ff785f8 Fix stuff broken when sh support was checked in.
* tc.h (TC_COFF_SIZEMACHDEP): Don't define here.
	* config/tc-sh.h (TC_COFF_SIZEMACHDEP): Define here instead.
1993-05-13 14:52:59 +00:00
Ken Raeburn
65824763af configure.in: treat m68*-*-sysv* target like m68k-*-coff 1993-05-10 19:05:04 +00:00
Ian Lance Taylor
21bb48b9b9 * config/tc-mips.c (macro): Correct floating point double word
loads and stores for big endian target.
1993-05-05 21:02:11 +00:00
Ken Raeburn
e7c2f9431c lots o' changes 1993-05-05 20:51:35 +00:00
Ian Lance Taylor
5d6cfa60ae * config/obj-ecoff.c (init_file): Set fMerge to 0 since dbx seems
to want it that way.
	(ecoff_build_symbols): Turn local st_Proc symbols into
	st_StaticProc symbols.  Set index field of external st_Proc and
	st_staticProc symbols correctly.
	* config/tc-mips.h (NO_LISTING): Don't define.  People might want
	listings.
1993-05-05 20:18:38 +00:00
Ian Lance Taylor
a13872602a * config/obj-ecoff.c (obj_symbol_new_hook): Make up a .file if one
hasn't been seen yet.
	(add_ecoff_symbol): Don't refer to cur_file_ptr if it is NULL.
1993-04-28 20:44:05 +00:00
Steve Chamberlain
4a1bbbe75b Support for Hitachi SH 1993-04-27 01:32:09 +00:00
Ian Lance Taylor
be2f6bd65b * expr.c (operand): Fix unary plus operator (previously was the
same as '~' operator!).
1993-04-26 19:29:58 +00:00
Roland Pesch
97a6070c83 as.texinfo, Makefile.in 1993-04-15 23:27:39 +00:00
Ian Lance Taylor
55ff56bdb2 Fix typo. 1993-04-09 16:10:30 +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
David D. Zuhn
5316696f0d as.texinfo lives in $(srcdir) 1993-04-08 22:53:01 +00:00
Roland Pesch
8ac18b21c3 doc/Makefile.in 1993-04-08 22:17:13 +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
Roland Pesch
0742a6fded Record abolition of last m4 conditional markup holdout manual. 1993-04-08 03:20:44 +00:00
Ian Lance Taylor
84e4920fc1 * config/tc-mips.c (gp_reference): Certain magic symbols can never
be referenced off the GP register.
1993-04-06 00:56:53 +00:00
Ian Lance Taylor
367fc8358a * app.c (do_scrub_next_char): Handle states 9 and 10 correctly
when dealing with characters of type LEX_IS_TWOCHAR_COMMENT_1ST,
	LEX_IS_STRINGQUOTE, and LEX_IS_ONECHAR_QUOTE.
1993-04-05 19:02:20 +00:00
Steve Chamberlain
dd4227d392 *** empty log message *** 1993-04-04 22:23:12 +00:00
Ian Lance Taylor
0433135db4 * config/tc-mips.h (LOCAL_LABEL): Treat any label starting with
'$' as local, for any object file format.
1993-04-02 21:34:56 +00:00
Ian Lance Taylor
477b4b040e * config/tc-mips.c (macro): Optimizations to branching code and a
couple of bug fixes from ralphc@pyrps5.eng.pyramid.com (Ralph
	Campbell).
1993-04-02 21:25:20 +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
4b061a2a1a log doc change 1993-03-31 00:51:59 +00:00
Ken Raeburn
4478def83a go back to const instead of CONST 1993-03-30 16:23:32 +00:00
Ken Raeburn
2b1b569795 checkpoint, for lots of recent changes 1993-03-30 16:18:16 +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
Ian Lance Taylor
c39b3eba78 * configure.in: Set BFDDEF and BFDLIB at the top of Makefile, not
the bottom (make expands variables in dependencies when the
	dependencies are read, not when they are used).
1993-03-29 21:49:44 +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
Ian Lance Taylor
2c19a57c44 * app.c (do_scrub_next_char): Added new state, 10, modifying state
9 to only keep a space in between identifier characters.
1993-03-25 17:18:23 +00:00
David D. Zuhn
2d4bef5ef6 doc last changes 1993-03-25 08:32:55 +00:00
David D. Zuhn
afcc637a43 add dvi target 1993-03-24 21:51:04 +00:00
David D. Zuhn
80c8fd72ed add installcheck 1993-03-23 08:03:44 +00:00
Ian Lance Taylor
1369949e5e * config/tc-mips.c (macro): Use $AT for any floating point load.
Also get the debugging information right in obj-ecoff.c.
1993-03-22 22:18:43 +00:00
Ken Raeburn
63cdddadd7 fix an m68k 0r0... bug 1993-03-20 20:54:00 +00:00
Jim Wilson
69498fa243 Make targ-cpu.o depend on config.h so gas will build from scratch. 1993-03-20 05:03:31 +00:00
Ian Lance Taylor
f6a91cc0f7 * app.c (do_scrub_next_char): Added new state, 9, to avoid
dropping a space immediately following an identifier.
	* expr.c, write.c: Rewrote assert expressions to not use multiple
	lines; I don't think that can be done portably.
	* config/tc-mips.c (macro): Use $AT if target register is zero in
	load instruction, which it can be for a floating point load.

Also a bunch more changes to config/obj-ecoff.c, still in flux.
1993-03-18 00:52:37 +00:00
Ian Lance Taylor
3d3c503955 * write.c (write_contents): Compute the relocs before writing out
the section contents.
	* config/obj-ecoff.h, config/obj-ecoff.c: Numerous changes to get
	symbol table and values right.
	* config/tc-mips.h (LOCAL_LABEL): If OBJ_ECOFF, any label starting
	with $L is local.
	* config/tc-mips.c (tc_gen_reloc): If OBJ_ECOFF, adjust the addend
	by the section vma.

	* config/z8k.mt (TARG_CPU_DEPENDENTS): The relevant file is
	z8k-opc.h, not z8k.h.
1993-03-15 23:58:22 +00:00
Ian Lance Taylor
a36f6645fb * config/obj-coffbfd.c (obj_coff_endef): Correct test for .bf
symbol.
1993-03-15 20:21:13 +00:00
David D. Zuhn
2a697fa47f consistent use of -solaris2* 1993-03-13 02:52:21 +00:00
Ian Lance Taylor
f2f7d044cd * expr.c, write.c: Ultrix native 4.2 cc requires assert condition
to be on a single line.
1993-03-12 20:01:28 +00:00
Ken Raeburn
ed0998749a today's changes -- version number handling, config.h, as.c, EXIT_*, 68k changes 1993-03-12 03:10:49 +00:00
Ken Raeburn
c5d4bc889f bump main trunk to version 2.0.1 1993-03-09 15:44:37 +00:00
Ian Lance Taylor
fefba3a514 * write.c (chain_frchains_together): Check that seg_info (section)
is not NULL.
	(write_object_file): Call obj_frob_file after setting the symbols,
	not before.
1993-03-09 15:42:14 +00:00
Steve Chamberlain
bf44929331 * read.c (s_space): Multiply repeat count by mult, not fill. 1993-03-04 19:55:59 +00:00
Ken Raeburn
9471a360d7 read.c needs ctype.h 1993-03-04 13:21:19 +00:00
Ken Raeburn
1101551c9c SUB_SEGMENT_ALIGN now takes an argument.
VMS fixes from Eric Youngdale.
1993-03-03 19:46:12 +00:00
Ian Lance Taylor
5e4cddb77d * listing.c: Cleaned up a bit, added prototypes, made NO_LISTING
case compile again.
1993-03-02 19:57:53 +00:00
Ken Raeburn
f3ca2a6421 changes this morning & yesterday 1993-03-02 17:14:43 +00:00
John Gilmore
7687d89bfb Update Gilmore entry 1993-03-02 08:51:08 +00:00
Ian Lance Taylor
160b7f0fef * app.c (do_scrub_next_char): In LEX_IS_LINE_COMMENT_START case:
Don't unget ch2 if we didn't get it.
1993-02-24 18:34:26 +00:00
Ken Raeburn
0cca30f32a BFD branch merging.
Misc optimizations, a couple of bugfixes.
Merged doc/ChangeLog.
Ralph Campbell's MIPS support.
And any other changes I've been putting in, save whitespace/comment adjustments.
1993-02-24 12:59:26 +00:00
Ken Raeburn
0bd77bc4fc expr.c (operand): handle logical end-of-line characters line newline 1993-01-05 14:17:21 +00:00
Ken Raeburn
6c5f99985e look for --with_bfd_assembler option 1993-01-05 13:44:58 +00:00
Ken Raeburn
9d76a19580 log for changes checked in this morning; deleted some duplicate entries 1993-01-04 13:28: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
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