Commit Graph

1404 Commits

Author SHA1 Message Date
Ian Lance Taylor 4d9e33e490 * configure.in: Make sure we only add m68k-parse.o to
${extra_objects} once, no matter how many m68k targets have been
	enabled.
	* configure: Rebuild.
1996-02-01 20:36:23 +00:00
Steve Chamberlain 0ff513d912 * configure.in (i386-*-cygwin32, ppc-*-cygwin32): New.
* configure: Rebuild.
1996-02-01 02:42:51 +00:00
Ian Lance Taylor 615c0a79da * config/obj-coff.h (S_IS_LOCAL): Check for \001 as well as \002. 1996-01-31 22:40:55 +00:00
Ian Lance Taylor c174fb5c71 Wed Jan 31 14:03:17 1996 Richard Henderson <rth@tamu.edu>
* config/tc-m68k.c (md_pseudo_table): Add "extend" and "ldouble".
	* doc/c-m68k.texi: Document .extend and .ldouble.
1996-01-31 19:31:29 +00:00
Ian Lance Taylor 66b935dace Wed Jan 31 14:03:17 1996 Richard Henderson <rth@tamu.edu>
* configure.in (m68*-apple-aux*): New target.
	* config/te-aux.h: New file.
	* config/obj-coff.c (compare_external_relocs): New static function
	if TE_AUX.
	(do_relocs_for): Sort relocs if TE_AUX.
	(fixup_segment): If TE_AUX, store common symbol value in segment.
	* config/tc-m68k.h (TARGET_FORMAT): Define if TE_AUX.
1996-01-31 19:06:17 +00:00
Ian Lance Taylor 30c2a08e89 * config/tc-mips.c (s_mips_globl): Set BSF_OBJECT if it is not
BSF_FUNCTION.
	(s_cpload): Set BSF_OBJECT for _gp_disp symbol.
	* read.c (s_lcomm): If S_SET_SIZE is defined, set the size of the
	symbol.
	* ecoff.c (add_procedure): Set the BSF_FUNCTION flag.
	(ecoff_build_symbols): If S_SET_SIZE is defined, set the size of
	an undefined symbol and the size of a function symbol.
	* config/obj-elf.c (elf_frob_symbol): If TC_MIPS, set BSF_OBJECT
	for all common symbols.
1996-01-31 17:28:44 +00:00
Ken Raeburn 0e6f2f82d2 * config/tc-i960.c (parse_memop): In MRI mode, don't use implicit scaling of
index.

* expr.c (operand): Accept 0x hex constants in MRI mode if not on m68k.

(PR 8836)
1996-01-30 18:12:41 +00:00
Ian Lance Taylor 3e78d07241 * config/obj-elf.c (obj_elf_type): Set BSF_OBJECT flag for a type
of object.  From Ronald F. Guilmette <rfg@monkeys.com>.
1996-01-29 22:11:12 +00:00
Ian Lance Taylor 8e3ff08126 * ecoff.c (localsym_t): Add addend field.
(add_ecoff_symbol): Add addend argument.  Change all callers.
	(coff_sym_value): Make static.
	(coff_sym_addend): New static variable.
	(ecoff_directive_def): Initialize coff_sym_addend.
	(ecoff_directive_val): Accept symbol + constant.
	(ecoff_directive_endef): Pass coff_sym_addend to add_ecoff_symbol.
	(ecoff_build_symbols): Include the addend in the symbol value.
1996-01-29 17:25:26 +00:00
Kim Knuttila 79edc8468f Ignore overflow on toc relocs 1996-01-27 00:31:16 +00:00
David Edelsohn 6cbc4e35bd * config/tc-sparc.c (default_compatible): New static local.
(md_begin): Initialize it.  Rewrite warn_on_bump handling.
	(sparc_ip): If no architecture or -bump specified, don't mark as
	mismatched those in default_compatible.
1996-01-26 04:37:04 +00:00
Ian Lance Taylor 4fe0fdddfb SCO ELF support from Robert Lipe <robertl@arnet.com>:
* configure.in (i386-*-sco*elf*): Use fmt elf, targ sco5.
	* configure: Rebuild.
	* config/sco5.mt: New file; set TDEFINES to -DSCO_ELF.
	* config/tc-i386.c (sco_id): New function, if SCO_ELF.
	* config/tc-i386.h (tc_init_after_args): Define if SCO_ELF.
	(sco_id): Declare if SCO_ELF.
1996-01-25 17:25:25 +00:00
David Edelsohn e70ad5d561 * config/tc-sparc.c (initial_architecture,can_bump_v9_p): Deleted.
({max,warn_after}_architecture): New static locals.
	(md_begin): Replace NUMOPCODES with sparc_num_opcodes.
	If both architecture and -bump requested, set max_architecture to max.
	(sparc_md_end): Simplify.
	(sparc_ip): Replace references to can_bump_v9_p with max_architecture.
	Rewrite code to bump architecture and check for conflicts.
	(md_longopts): Recognize -xarch={v8plus,v8plusa} for compatibility
	with Solaris assembler.
	(md_parse_option): Likewise.  Call sparc_opcode_lookup_arch.
	(md_show_usage): Update.
1996-01-25 11:20:06 +00:00
David Edelsohn a82488318b * Makefile.in (RUNTEST): Fix reference to $${srcdir}. 1996-01-25 06:11:23 +00:00
David Edelsohn 7fcb31916d * conf.in: Regenerated. 1996-01-22 19:25:36 +00:00
Ian Lance Taylor 16ce20d4d7 * symbols.c (resolve_symbol_value): If a symbol is equated to an
undefined symbol, preserve the X_op of O_symbol.
	(S_GET_VALUE): Fix check to permit this case.
	* write.c (write_relocs): If a reloc is against an undefined
	symbol equated to another symbol, change the reloc to be against
	the latter symbol.
	* config/obj-coff.c (do_relocs_for): Likewise.
If the MRI assembler sees
foo EQU bar
	call foo
where bar is not defined, it generates a reloc against bar rather than
against foo.  Since the gas documentation does not define this case,
this change makes gas compatible.
1996-01-22 18:00:01 +00:00
David Edelsohn 6df07e7f7e * config/tc-sparc.h (TARGET_FORMAT): Use #ifdef SPARC_ARCH64 instead of
#ifdef sparcv9 when choosing value.
	(ENV64): Delete.
	(md_end): Define.
	(sparc_md_end): Declare.
	* config/tc-sparc.c (SPARC_V9): Renamed from sparcv9.
	(initial_architecture): New static local.
	(can_bump_v9_p): Likewise.
	(NO_V9): Delete all occurrences.
	(sparc_md_end): New function.
	(sparc_ip): New local v9_arg_p.  Rework fp reg number test.
	Don't bump architecture to v9 unless can_bump_v9_p set.
	(md_parse_option): -A<arch> passed, set can_bump_v9_p accordingly.
	* configure.in (sparc64 target cpu): Don't set obj_format here.
	(SPARC_V9): Renamed from sparcv9.
	(sparc64-*-elf*): Define SPARC_ARCH64.
	* configure: Regenerated.
	* acconfig.h (SPARC_V9): Renamed from sparcv9.
	(SPARC_ARCH64): Add.
	* config/vmsconf.h: Update.
1996-01-22 17:53:34 +00:00
Jackie Smith Cashion c9c7c1d777 Mon Jan 22 17:24:47 1996 James G. Smith <jsmith@cygnus.co.uk>
* config/tc-mips.c (load_register): Optimise "dli" loads.
	(md_show_usage): add "-mcpu=vr4100" to help text.

Provide code to check for either the hi32, or lo32 bits of a 64bit
"dli" constant being 0xffffffff. Also for bit15 of a 16bit constant
being set, so that sign-extension can be used to fill the higher order
bits if required.
1996-01-22 17:30:23 +00:00
Ian Lance Taylor 07ce72c9bb * config/tc-ppc.c (ppc_csect): An unnamed csect is storage class
XMC_PR.
1996-01-22 16:53:42 +00:00
Michael Meissner d971d39e46 Add support for eabi relocations and sections 1996-01-22 16:02:29 +00:00
Kim Knuttila 0291f0f543 Changed alignment on .pdata and .reldata 1996-01-18 23:03:48 +00:00
Michael Meissner c682be533c Add more relocation suffixes 1996-01-15 22:46:10 +00:00
Michael Meissner ee4fdbb93d Allow .gcc_except_table to have unfixed pointers with -mrelocatable 1996-01-15 02:34:07 +00:00
Michael Meissner 747b98fe5d Make elf section functions ELF specific 1996-01-13 16:10:33 +00:00
Ian Lance Taylor 2a4e49a925 * subsegs.c (section_symbol): Don't try to look up the section
symbol in the hash table.  It should be possible to have a symbol
	with the same name as a section, but no connection to it.
1996-01-12 21:11:43 +00:00
Michael Meissner f99d287b2a Add support for exclude section flag and ordered section type 1996-01-12 20:35:38 +00:00
Ian Lance Taylor d9f4dec191 * read.c (cons_worker): Only call mri_comment_end from flag_mri.
From James Carlson <carlson@xylogics.com>.
1996-01-12 17:10:24 +00:00
Ian Lance Taylor 347a705b78 * expr.c (operand): Skip whitespace after a close parenthesis.
From James Carlson <carlson@xylogics.com>.
1996-01-12 17:07:04 +00:00
Jim Wilson 10c8c95ec0 For SH port, make relocation overflow an error instead of a warning. 1996-01-02 20:45:49 +00:00
Jeff Law cb84431489 * ecoff.c (ecoff_stab): Simplify. Correctly handle sym + offset
addresses for static variables.
So we can access statics in the static block on mips/alpha when using
gas.
1995-12-31 06:41:24 +00:00
Michael Meissner 36cb0e7c73 Make @got be real GOT reloc; make @xgot be old TOC16 reloc 1995-12-21 17:54:31 +00:00
Ian Lance Taylor 5e69b693c9 * config/tc-mips.c (load_address): Correctly handle a constant in
SVR4_PIC case.  From Richard Kenner <kenner@vlsi1.ultra.nyu.edu>.
1995-12-20 19:56:41 +00:00
J.T. Conklin 29861dd01a * config/tc-sh.c (parse_reg): Recognize SH3 registers.
(get_specific): Handle A_SSR, A_SPC and A_REG_B.
(build_Mbytes): Handle REG_B.
1995-12-15 22:30:33 +00:00
Ian Lance Taylor 432b8fa87a * ecoff.c (ecoff_build_aux): Use new bfd_big_endian macro. 1995-12-15 21:12:36 +00:00
Raymond Jou ee68a042d2 * mpw-make.sed: If linking, edit ALL_CFLAGS to CFLAGS. 1995-12-15 20:17:52 +00:00
Ian Lance Taylor b14630f2df * config/obj-coff.c (write_object_file): Set the s_align field to
the number of bytes, rather than to the power of 2.
PR 8674, 8678.
1995-12-14 20:12:31 +00:00
Ian Lance Taylor 4a3d48fc1e * Makefile.in (DISTCLEAN_HERE): New variable.
(distclean): Use it.
	(maintainer-clean): Depend upon clean-here rather than clean,
	distclean, and clean-info.  Run make maintainer-clean in doc.
	Remove files listed in DISTCLEAN_HERE.
	* doc/Makefile.in (maintainer-clean realclean): Split out from
	distclean.  Depend upon clean-info and distclean.
1995-12-12 17:21:31 +00:00
Stan Shebs 7e5e83cfb4 * mac-as.r: Fix copyright and version strings.
(cfrg): Use PROG_NAME instead of literal name.
1995-12-12 00:27:29 +00:00
Ian Lance Taylor 1b10f50d90 * read.c (read_a_source_file): If tc_unrecognized_line is defined,
call it.
	* config/tc-a29k.h (tc_unrecognized_line): Define.
	* config/tc-a29k.c (a29k_unrecognized_line): New function.
	(md_operand): Handle a29k style local dollar labels.
1995-12-11 19:23:10 +00:00
Ian Lance Taylor 2f3bbb1b70 * config/obj-multi.h: If OBJ_MAYBE_ELF, define OBJ_SYMFIELD_TYPE. 1995-12-07 02:04:14 +00:00
Ken Raeburn 624c91d1e7 * read.c (s_fill): If md_flush_pending_output is defined, call it. 1995-12-05 22:28:25 +00:00
Ken Raeburn 9e4b3a2329 * config/obj-coff.c (size_section, fill_section, fixup_mdeps): Treat
rs_align_code like rs_align.
1995-12-04 23:11:02 +00:00
David Edelsohn 3554987a2f * config/tc-arm.c (cp_address_required_here): Set pre_inc when
converting an absolute address into a PC-relative one.
1995-12-03 23:26:32 +00:00
Stan Shebs 90f543f684 * mpw-config.in: Don't always use te-generic.h for emulation.
(powerpc-apple-macos): Use emulation te-macos.h.
start-sanitize-gm
	(mips-gm-magic): New configuration.
end-sanitize-gm
	* mpw-make.sed (install, install-only): Edit in Mac-specific
	install procedure.
1995-12-01 22:40:56 +00:00
Ian Lance Taylor 2eec871057 * configure.in: Improve message about unsupported ELF targets.
* configure: Rebuild.
1995-12-01 19:38:40 +00:00
Ian Lance Taylor d4c8a45ee7 * config/tc-m88k.c (m88k_do_align): Correct check for whether fill
pattern is zero.  From Manfred Hollstein.
1995-12-01 15:56:25 +00:00
Kim Knuttila 531a1af274 idata alignment in .s files 1995-11-30 18:47:11 +00:00
Ian Lance Taylor 464070de43 Thu Nov 30 11:23:42 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
* config/obj-coff.c (fixup_segment): If TC_M88K is defined, do not
	add section's paddr to add_number; compatibility to native as and
	ld forbids.
1995-11-30 16:25:27 +00:00
Ken Raeburn 9d5aef8075 configure.in: handle m68k-sysv4 correctly 1995-11-30 04:24:08 +00:00
Ken Raeburn ac9ef8eef1 Move struct hash_entry from hash.h to hash.c. 1995-11-30 04:22:27 +00:00
Ken Raeburn 6a08732583 (elf_frob_symbol): Don't free and clear sy_obj if it's already known to be null. 1995-11-30 04:19:13 +00:00
Michael Meissner 77fa4d98a8 Fix -mrelocatable 1995-11-29 18:17:24 +00:00
Ken Raeburn c6e4e83496 Various Thanksgiving weekend hacks: clean up hash table, reduce various
structure sizes, stabs string memory use cleanup, statistics dump.
1995-11-28 19:23:15 +00:00
Ian Lance Taylor 6a4667f4dc * configure: Rebuild with autoconf 2.7. 1995-11-27 18:19:15 +00:00
Ian Lance Taylor 330add8ac5 * aclocal.m4 (AC_PROG_CC): Remove local definition.
* configure: Rebuild with autoconf 2.6.
1995-11-21 23:39:59 +00:00
Ian Lance Taylor 520dd8d5d9 * config/tc-ppc.c (ppc_debug_name_section_size): Remove.
(ppc_stabx): Don't increment ppc_debug_name_section_size.
	(ppc_bc): Likewise.
	(ppc_frob_file): Remove.
	* config/tc-ppc.h (tc_frob_file): Don't define.
	(ppc_frob_file): Don't declare.
1995-11-20 22:27:49 +00:00
Ken Raeburn d6c4a3fa80 alpha fixes 1995-11-20 22:02:32 +00:00
Ken Raeburn 880b742924 rename te-delta88.h to avoid 8.3 conflict 1995-11-20 18:48:32 +00:00
Ian Lance Taylor aa8a6656ee * config/m68k-parse.y (yylex): In MRI mode, '@' can start an octal
number.
	* expr.c (operand): Handle MRI suffixes after unadorned 0.
1995-11-16 17:51:35 +00:00
Ken Raeburn da9b55af46 version 2.6 1995-11-16 09:58:27 +00:00
Ken Raeburn 7b889f5eed * config/obj-coff.c (write_object_file): Change use of md_do_align to pass a
pointer rather than a fill value, to match other uses.

* config/tc-ns32k.h (TC_FIX_TYPE): Add missing semicolon.
1995-11-16 05:38:58 +00:00
Ken Raeburn 46618ae6e7 move md_end use, and make use of it in cpu back ends. clean up empty, unused
md_end functions.

i386 changes from Alan Modra for using multi-byte sequences instead of
single nops for code alignment.
1995-11-15 10:56:07 +00:00
Stan Shebs 51bc513e4e * configure.in (ppc-*-macos*, ppc-*-mpw*): New configurations.
* configure: Update.
	* mpw-make.sed: Reorder commands to make sed happier.
	* config/te-macos.h: New file.
	* config/tc-ppc.h (TARGET_FORMAT): Set correctly for PowerMac.
1995-11-14 04:45:54 +00:00
Jeff Law 8b39c5df0e * config/tc-hppa.c (pa_ip): Fix off-by-2 bug in length check for
conditional branches.
        (md_apply_fix): Likewise.
1995-11-13 04:17:57 +00:00
Ian Lance Taylor a071b8e9b3 * config/obj-coff.c (fixup_segment): Don't subtract md_pcrel_from
from a PC relative reloc if TC_A29K.
1995-11-09 02:28:57 +00:00
Ian Lance Taylor 6a649eda40 * config/tc-a29k.c (md_operand): Handle $float, $double, and
$extend.  Based on code from Eric Freudenthal
	<freudenthal@nyu.edu>.
	* config/tc-a29k.h (LEX_DOLLAR): Define.
	* read.c (LEX_DOLLAR): Define if not defined.
	(lex_type): Use LEX_DOLLAR.
1995-11-09 01:01:44 +00:00
Ian Lance Taylor 6364a18837 Wed Nov 8 16:38:14 1995 Eric Freudenthal <freudenthal@nyu.edu>
* configure.in (a29k-nyu-sym1): New target, just like other a29k
	targets.
1995-11-08 21:39:38 +00:00
Ian Lance Taylor 0fa6f8f66a * config/obj-coff.c (c_dot_file_symbol): Cast xmalloc return. 1995-11-08 16:39:28 +00:00
Ian Lance Taylor eec2cfefb2 * config/tc-alpha.c: Undefine inline if not __GNUC__.
(md_pseudo_table): Don't define "extern".
1995-11-06 23:52:27 +00:00
Ian Lance Taylor a3d1c56107 * config/tc-ppc.c (ppc_biei): Force symbol into text_section. 1995-11-05 04:54:52 +00:00
Ian Lance Taylor df7504dc52 * config/tc-ppc.c (md_show_usage): Put backslash at end of line. 1995-11-04 05:52:15 +00:00
Ian Lance Taylor 36e80ac6ee * macro.c (macro_expand_body): Don't warn about == with a
nonexistent parameter, in case it is in a comment field.
1995-11-03 20:53:44 +00:00
Ian Lance Taylor 07d012f66c * as.c (main): On TC_A29K, call macro_init with macro_alternate
set to 1.
	* macro.c (get_any_string): Don't keep quotes if macro_strip_at is
	set, even if macro_alternate is set.
	(get_apost_token): If macro_strip_at, only skip kind if it is '@'.
	(sub_actual): If macro_strip_at, and kind is '@', don't look up
	the token unless it ended in '@'.
	* config/tc-a29k.c (line_separator_chars): Remove '@'.
	* doc/c-a29k.texi: Document macro usage on A29K.
1995-11-03 18:31:25 +00:00
Ian Lance Taylor 01f108bc4a x 1995-11-03 04:13:58 +00:00
Ken Raeburn 7954cc14d9 * config/tc-i386.c (md_assemble): For a jump instruction with non-constant
target, require 7 available bytes in the current frag, not 6.
1995-11-01 21:14:44 +00:00
Ian Lance Taylor b629f62767 * config/tc-ppc.c (ppc_lglobl): Do the right thing. 1995-11-01 00:00:47 +00:00
Fred Fish d033806fda * config/obj-elf.h: Include bfd/elf-bfd.h rather than
bfd/libelf.h.
1995-10-31 23:40:03 +00:00
Ian Lance Taylor 59c80ca243 Tue Oct 31 16:34:28 1995 David Mosberger-Tang <davidm@azstarnet.com>
* ecoff.c (ecoff_frob_symbol): Warn about weak common symbols.
1995-10-31 23:30:21 +00:00
Ian Lance Taylor 7ab1edc8f0 * config/tc-ppc.c (ppc_bb): Call SF_SET_PROCESS.
(ppc_eb): Likewise.  Set the storage class to C_BLOCK, not C_FCN.
	(ppc_frob_symbol): Don't change C_BLOCK symbols to C_HIDEXT.
	* config/obj-coff.c (coff_frob_symbol): Don't call
	SA_SET_SYM_ENDNDX with the current symbol; call it with the next
	one.  If OBJ_XCOFF, try to figure out whether the symbol is going
	to be dropped.
1995-10-31 22:55:22 +00:00
Ian Lance Taylor d7b2038fac Tue Oct 31 16:34:28 1995 David Mosberger-Tang <davidm@azstarnet.com>
* configure.in (alpha-*-linux*): Use ecoff.
	* configure: Rebuild.
	* ecoff.c (ecoff_directive_extern): New function.
	(ecoff_directive_weakext): New function.
	(ecoff_build_symbols): Handle weak symbols.
	(ecoff_setup_ext): Likewise.
	* ecoff.h (ecoff_directive_extern): Declare.
	(ecoff_directive_weakext): Declare.
	* symbols.c (S_IS_WEAK): New function.
	* symbols.h (S_IS_WEAK): Declare.
	* config/obj-ecoff.c (obj_pseudo_table): Add "extern" and
	"weakext".
	* config/tc-mips.c (mips_pseudo_table): Remove "extern".
	(s_extern): Remove.
1995-10-31 21:41:59 +00:00
Ian Lance Taylor 0e3dd9a071 * config/tc-ppc.c (ppc_frob_symbol): Set BSF_NOT_AT_END for
symbols with csect aux entries.
1995-10-31 20:22:04 +00:00
Ian Lance Taylor 31751d9d3e * config/tc-ppc.c (md_pseudo_table): Add "bc" and "ec".
(ppc_stab_symbol): New static variable.
	(ppc_change_csect): Check that ppc_toc_csect is not NULL.
	(ppc_stabx): Set ppc_stab_symbol around call to symbol_make.  Set
	sy_tc.real_name to the stab string.
	(ppc_bc, ppc_ec): New static functions.
	(ppc_canonicalize_symbol_name): If ppc_stab_symbol is set, don't
	do anything.
	(ppc_symbol_new_hook): If ppc_stab_symbol is set, don't look for a
	suffix.
1995-10-31 19:16:02 +00:00
Ian Lance Taylor cbdf59ad43 * input-scrub.c (input_scrub_push): Reset sb_index. 1995-10-31 18:30:02 +00:00
Ian Lance Taylor 91123dbe02 * listing.c (listing_newline): Don't create a frag in the absolute
section.
1995-10-30 23:30:24 +00:00
Ian Lance Taylor df72d2a576 * config/tc-ppc.c (md_pseudo_table): Add "data" and "text".
(ppc_csect): Move most of the code to ppc_change_csect, and call
	it.
	(ppc_change_csect): New static function, taken from ppc_csect.
	(ppc_section): New static function.
	(ppc_saw_abs): New static varable.
	(ppc_frob_symbol): Create aux entry for absolute symbols.  Warn if
	a symbol has no csect.
	(ppc_adjust_symtab): New function.
	* config/tc-ppc.h (tc_adjust_symtab): Define if OBJ_XCOFF.
	(ppc_adjust_symtab): Declare if OBJ_XCOFF.
1995-10-28 05:50:14 +00:00
Ian Lance Taylor 73255941ff * symbols.c (symbol_find_or_make): Change name to be const.
* symbols.h (symbol_find_or_make): Update declaration.
1995-10-28 05:05:46 +00:00
Ken Raeburn 9bfaf1b952 doc fixes from Roland 1995-10-26 23:48:41 +00:00
David Edelsohn ae143278fc * tc-arm.c (do_ldst): Assemble ldr/str r0, [r1] as a pre-increment
instruction.
1995-10-26 18:46:28 +00:00
Per Bothner 270433ccae * Makefile.in (diststuff): Also make info.
(maintainer-clean realclean):  Also make clean-info.
1995-10-25 18:59:59 +00:00
Jeff Law 18a1140191 * config/tc-hppa.c (md_pseudo_table): Add new ".nsubspa" opcode.
(pa_subspace): For ".nsubspa", always create a new subspace
        with the given attributes, even if one already exists with the
        same name.

So we can put every function into its own $CODE$ subspace.
1995-10-24 21:26:51 +00:00
Michael Meissner 96fe71e1d5 Fix PR 8255 1995-10-24 18:59:05 +00:00
Ken Raeburn 1d75481b33 changes for input file open error, not printing filename when not available 1995-10-23 20:40:09 +00:00
Jackie Smith Cashion c625fc23ba Added command-line support for NEC VR4100, to allow support for
4100-specific instructions.
1995-10-23 11:20:02 +00:00
Ken Raeburn 3366a224eb obstack-per-frchain changes
stabs.c caching changes
obstack chunksize changes
1995-10-18 21:23:09 +00:00
Ken Raeburn de5ebe2eba frag/obstack handling in tc-*.c; ignore -g for Alpha 1995-10-18 17:33:24 +00:00
Ken Raeburn dd1a53167c keep testsuite when doing "make distclean" 1995-10-18 17:25:31 +00:00
Ken Raeburn 625f4e4830 * stabs.c (aout_process_stab): Insert debug symbol into symbol chain after
parsing value expression, if any, to avoid separating continued .stabs lines.
1995-10-18 16:26:46 +00:00
Ian Lance Taylor 33a8c1b6cf * config/tc-mips.c (mips_elf_pseudo_table): Remove.
(mips_pop_insert): Don't call pop_insert on mips_elf_pseudo_table.
1995-10-16 14:57:35 +00:00
Michael Meissner b6b8f91187 Allow duplicate cmp instructions for -mcom 1995-10-16 11:10:22 +00:00
Michael Meissner 958e09079d For -mcom, do not allow only POWER|PPC instructions. 1995-10-16 10:27:49 +00:00
Michael Meissner 4c2935f4c0 Add -mcom support. 1995-10-16 02:09:01 +00:00
Ian Lance Taylor 7db865dcad * config/tc-mips.c: Correct s_cons arguments. From Michael
Joosten <joost@ori.cadlab.de>.
1995-10-10 15:35:30 +00:00
Ian Lance Taylor 1b13e6fc49 * config/tc-ppc.c (ppc_macro): Make count unsigned.
(ppc_biei): Set segment to now_seg and value to coff_n_line_nos.
	(ppc_frob_symbol): Handle C_BINCL and C_EINCL symbols by setting
	the fix_line field.
	* config/obj-coff.c (coff_n_line_nos): Rename from n_line_nos, and
	make non-static.  Change all users.
	* config/obj-coff.h (coff_n_line_nos): Declare.
1995-10-10 00:25:16 +00:00
Ken Raeburn cdc49cba99 split change log 1995-10-06 22:39:14 +00:00
Ken Raeburn 9e3e3d4cff Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* configure.in (AC_ARG_WITH(bfd-assembler)): Fix help message.

* config/obj-elf.c (obj_elf_common): Convert specified byte alignment to power
of two.  Set size of local bss symbol.

* config/tc-m68k.c (tc_gen_reloc): Fix typo in variable name.
1995-10-06 21:39:20 +00:00
Ian Lance Taylor 13a6c75374 * sb.c, macro.c: Decide whether to include <string.h> or
<strings.h> just as as.h does.
1995-10-06 19:25:15 +00:00
David Edelsohn f6ec8c4664 * config/tc-arm.h (ARM_BI_ENDIAN): Move definition so defined for
all coff targets.
1995-10-06 18:33:20 +00:00
David Edelsohn a75aafcd47 * Makefile.in (site.exp): Fix setting of $srcdir.
* config/tc-arm.c (md_atof): Fix little-endian output.
1995-10-06 17:28:33 +00:00
Ken Raeburn 70aeac05ee more vms work (mostly whitespace/comment cleanup) from Pat Rankin 1995-10-06 02:29:16 +00:00
Ken Raeburn 4d2ba393c1 split out ns32k doc like other cpus 1995-10-06 01:39:35 +00:00
Ken Raeburn 2c5eb48d3a * sb.c, macro.c: Include string.h. 1995-10-06 01:37:30 +00:00
Ken Raeburn 6b0a6eaa68 * Makefile.in (comparison): Only check *.o; we don't care if timestamps
inserted by the native linker differ.
1995-10-06 00:57:16 +00:00
Ken Raeburn d89861c7c4 * config/tc-alpha.c (alpha_align): Only fill with a no-op pattern if alignment
stricter than 4 bytes is requested; in that case, align to a 4-byte boundary
first.
1995-10-06 00:54:53 +00:00
Kim Knuttila eaaa2a42bc Better parsing, tocd, tocv started 1995-10-04 21:43:23 +00:00
Ian Lance Taylor cd557d83d6 * config/tc-ppc.c (ppc_frob_symbol): Don't create an aux entry for
an absolute symbol.
1995-10-04 18:05:59 +00:00
Ian Lance Taylor 42ac8fa83d * cond.c (s_endif): Call demand_empty_rest_of_line. In MRI mode,
skip characters after the pseudo-op.
	(s_else): Likewise.
	* read.c (get_line_sb): Don't look past buffer_limit.
	(s_include): In MRI mode, skip characters after the file name.
1995-10-03 16:43:45 +00:00
Ian Lance Taylor eef6693478 * config/m68k-parse.y (m68k_reg_parse): In MRI mode, permit
periods in register names.
1995-10-02 21:00:22 +00:00
Jeff Law 130f53ae7a * config/tc-hppa.c (hppa_fix_adjustable): DP relative relocs
are not adjustable in SOM to avoid confusing the optimizing
	linker.
1995-10-01 05:08:05 +00:00
Stan Shebs 6144e9a945 * mpw-config.in: Translate "powerpc" into "ppc", remove gen of
VERSION, move gen of "conf" here from makefile.
	* mpw-make.sed: New file, sed commands to translate Unix makefile
	into MPW syntax.
	* mpw-make.in: Remove.
	* mac-as.r: New file, Mac resource file.
	* as.h (inline): Don't decide about defining if __MWERKS__,
	remove redundant conditional and definition.

	* stabs.c (s_stab_generic): Fix syntax for OBJ_PROCESS_STAB.
1995-09-29 02:37:17 +00:00
Kim Knuttila 1446dd7266 updated changes 1995-09-28 20:21:36 +00:00
Ian Lance Taylor 11b072f46c * config/tc-ppc.h (tc_fix_adjustable): Define.
(ppc_pe_fix_adjustable): Declare.
	* config/tc-ppc.c (ppc_pe_fix_adjustable): New function.
1995-09-28 16:17:53 +00:00
David Edelsohn 277c7a9919 * config/tc-arm.h (TARGET_FORMAT): Define for arm-coff. 1995-09-28 08:13:18 +00:00
Ian Lance Taylor 2a0f64a535 * symbols.c (S_IS_LOCAL): All symbols in reg_section are local. 1995-09-27 20:21:07 +00:00
Ian Lance Taylor 18c9057f2b * config/tc-ppc.h (OBJ_XCOFF): Define if OBJ_COFF and not TE_PE.
Change OBJ_COFF checks to check OBJ_XCOFF instead.
	(TARGET_FORMAT): Fully parenthesize.
	(LEX_QM): Define if TE_PE.
	* config/tc-ppc.c: Replace OBJ_COFF by OBJ_XCOFF throughout.
	Remove checks of TE_PE within #ifdef OBJ_XCOFF sections.
	(init_regtable): Make i unsigned.
	(ppc_set_current_section): Rename from setCurrentSection.  Change
	all callers.
	(ppc_arch): Return after as_fatal to avoid gcc warning.
	(md_assemble): Only declare reloc if OBJ_ELF.  Add default to
	switch on fixups[i].reloc to avoid gcc warning.
	(IMAGE_SGN_LNK_OTHER): Fix nested comment.
	(ppc_pe_function): Don't call ppc_canonicalize_symbol_name.
	(ppc_frob_symbol): Remove TE_PE section checks.
	(md_estimate_size_before_relax): Return after abort to avoid gcc
	warning.
	(md_apply_fix3): Add BFD_RELOC_16_GOT_PCREL to switch.
	* read.c (LEX_QM): Define as 0 if not defined.
	(lex_type): Use LEX_QM for '?'.
1995-09-27 19:02:16 +00:00
Ian Lance Taylor 4cbbec3182 * configure.in: No need to check whether ${cpu_type} is powerpc;
it never will be.
	* configure: Rebuild.
1995-09-27 16:56:23 +00:00
Kim Knuttila 01c7fb71de Details of more fixes to earlier fixes 1995-09-27 16:33:05 +00:00
Michael Meissner 0e31d0ce8a Undo md_apply_fix3 changes 1995-09-27 15:37:54 +00:00
Kim Knuttila d577efdd5f Initial asm support for ppc/PE 1995-09-27 14:52:16 +00:00
Michael Meissner 65c91be516 Support all of the V.4 relocations 1995-09-26 19:17:10 +00:00
Michael Meissner 4ecbc1efea Better reloc support 1995-09-25 20:15:13 +00:00
Ian Lance Taylor 800172405a * config/tc-arm.c (md_atof): Output little endian constants in
little endian mode.
1995-09-25 16:29:30 +00:00
Ian Lance Taylor 057a4d414e * configure.in: Fix typo: fmt-elf to fmt=elf. 1995-09-25 04:26:30 +00:00
Michael Meissner 25b1cdd0f3 start at handling branch taken/branch not taken hints. 1995-09-22 20:42:38 +00:00
Michael Meissner 4493af6636 do not set EF_PPC_RELOCATABLE for -mrelocatable-lib 1995-09-22 01:19:53 +00:00
Ian Lance Taylor 52e1cf9d01 * subsegs.c (subseg_set): Permit SEG_ABSOLUTE in know expression.
* expr.c (expr): Account for new operatorT values in know
	expression.

	* write.c (fixup_segment): Clear fixp->fx_subsy if the relocation
	is fully resolved.
1995-09-21 20:42:11 +00:00
Michael Meissner 2c4747540f add -mrelocatable-lib, -memb support 1995-09-21 20:23:15 +00:00
Ian Lance Taylor af9310299f * config/tc-m68k.c (m68k_ip): Reject immediate operands for '%'. 1995-09-19 19:50:59 +00:00
Ian Lance Taylor 9adcd78108 * config/tc-m68k.c (m68k_ip): Reject immediate operands for '|'.
Replace 'P' with '0', '1', and '2'.
1995-09-19 19:33:48 +00:00
Ian Lance Taylor e1c0287d1c * config/tc-m68k.c (parse_mri_control_operand): Change leftstop
and rightstop to not be const.
	(parse_mri_control_expression): Likewise.
	(build_mri_control_operand): Likewise.  Use m68k_ip_op to examine
	the operand, not m68k_reg_parse.
	(s_mri_if): In MRI mode, stop at the first '*'.
	(s_mri_while): Likewise.
	(s_mri_else): In MRI mode, ignore trailing characters.
	(s_mri_endi, s_mri_break, s_mri_next, s_mri_for): Likewise.
	(s_mri_endf, s_mri_repeat, s_mri_until, s_mri_endw): Likewise.
	* config/m68k-parse.y: Revert yesterday's change.
	* config/m68k-parse.h: Revert yesterday's change.
1995-09-19 15:36:38 +00:00
Ian Lance Taylor b3625fe62c * config/tc-m68k.c (parse_mri_control_operand): Change leftstart
and rightstart to not be const.
	(parse_mri_control_expression): Likewise.
	(build_mri_control_operand): Likewise.  If the left side of the
	comparison is a register, and the right side is not, swap the two
	sides.
	* config/m68k-parse.y (m68k_reg_parse): Make globally visible.
	* config/m68k-parse.h (m68k_reg_parse): Declare.
1995-09-18 22:25:54 +00:00
Ian Lance Taylor f9680a0598 * read.c (mri_comment_field): New function.
(mri_comment_end): New function.
	(s_align_bytes): Use mri_comment_field.
	(s_align_ptwo, s_comm, s_mri_common, s_fail, s_globl): Likewise.
	(s_float_space, s_struct): Likewise.
	(s_space): Use mri_comment_field rather than doing it by hand.
	(cons_worker, equals): Likewise.
	(s_end): Ignore comments starting with '*' or '!'.
	* read.h (mri_comment_field): Declare.
	(mri_comment_end): Declare.
	* cond.c (s_if): Use mri_comment_field.
	* config/tc-m68k.c (s_chip, s_reg): Likewise.
1995-09-18 21:53:40 +00:00
Ian Lance Taylor 3b06beb757 * write.c (fixup_segment): Handle ABS-sym in -sym case rather than
sym-sym case.
	* config/obj-coff.c (fixup_segment): Likewise.  Permit negative
	symbols if TC_M68K.
	* config/tc-m68k.c (tc_coff_fix2rtype): If fx_tcbit is set, return
	R_RELLONG_NEG.
	(tc_gen_reloc): If fx_tcbit is set, abort.
	(md_apply_fix_2): For a negative reloc, move fx_subsy to fx_addsy,
	and set fx_tcbit.
Permits generating negative relocs for m68k COFF.
1995-09-18 21:11:34 +00:00
Ian Lance Taylor 85f341221b * config/tc-m68k.c (s_reg): Ignore comment field in MRI mode. 1995-09-18 19:23:53 +00:00
Ian Lance Taylor e4c3b47593 Mon Sep 18 14:44:04 1995 Arne H. Juul <arnej@pvv.unit.no>
* configure.in (mips-dec-netbsd*): New target.
	* configure: Rebuild.
1995-09-18 18:45:56 +00:00
Ian Lance Taylor 70f4dbce64 * configure.in: Set endian to little for mips-*-ultrix*.
* configure: Rebuild.
1995-09-18 02:20:06 +00:00
Jeff Law 326b087c89 * config/tc-m68k.c: Change some "CONST" references to "const".
Just changed those which caused redefinition errors on a system where
CONST != const.  Many more remain.
1995-09-16 03:44:03 +00:00
Ken Raeburn d069ef6ff1 vms updates 1995-09-15 21:47:19 +00:00
Ian Lance Taylor 5f757edc84 * Makefile.in (EXPECT): New variable.
(CHECKFLAGS): Remove.
	(site.exp): New target.
	(check): Rewrite to invoke runtest directly, rather than recurring
	down into testsuite.
	(clean-here): Remove testsuite directory.
	(clean, distclean): Don't recur into testsuite.
	* configure.in: Don't call AC_CONFIG_SUBDIRS(testsuite).
	* configure: Rebuild.
1995-09-13 20:35:17 +00:00
Ian Lance Taylor f00f5ecd1d * write.c (relax_and_size_seg): Change to the segment we are
relaxing, in case md_convert_frag, called by cvt_frag_to_fill,
	wants to call fix_new.
	* config/tc-m68k.c (m68k_ip): Permit PC relative code if the
	segment of the symbol is the current segment, not just in
	text_section.
	(md_convert_frag_1): Don't call subseg_change.
	(md_estimate_size_before_relax): Likewise.
1995-09-13 17:19:27 +00:00
David Edelsohn 58a4f585f7 * config/tc-arm.c (md_atof): Fix debugging printf, and leave it
out by default.
1995-09-12 17:39:15 +00:00
Ian Lance Taylor 812e4a9bc2 * doc/configure.in: Remove unused file. 1995-09-11 20:53:46 +00:00
Ian Lance Taylor 33bd5d6153 * app.c (do_scrub_chars): Grab all available spaces at start of
line before preserving a single space.  Remove state == 0 test
	which will never succeed.
	* macro.c (macro_expand_body): Delete local variables from the
	formal hash table.
	(macro_expand): In MRI mode, stop when whitespace is seen in the
	argument list.
1995-09-11 18:34:55 +00:00
Ian Lance Taylor e325f98f13 * sb.c: Include "libiberty.h".
* macro.c: Likewise.  Also include <stdlib.h> if it exists.
1995-09-11 15:48:13 +00:00
Ian Lance Taylor 92a25e12ff * app.c (do_scrub_chars): In MRI mode, keep a space before a
possible comment character.
	* config/tc-m68k.c (m68k_ip): In MRI mode, ignore anything after
	an instruction which takes no operands.
1995-09-08 19:17:46 +00:00
Ian Lance Taylor 138b11d825 * Makefile.in (install): Don't install gasp in $(tooldir). 1995-09-08 18:43:50 +00:00
Ian Lance Taylor ee14a559e3 * config/tc-mips.c (macro): Handle a non zero base register for
M_U{L,S}{D,W,H}_A.
PR 7947.
1995-09-08 05:06:45 +00:00
Ian Lance Taylor 1359db1b8c * gasp.c (show_usage): Put program_name argument in first fprintf,
not second.
1995-09-08 04:30:24 +00:00
Ian Lance Taylor 3dce804d95 * expr.c (operand): Handle 08 and 09 in MRI mode.
* macro.c (ISSEP): Remove duplicated `"' character.
 	(get_any_string): Copy some characters for which ISSEP is true:
	';', '>', '(', ')'.  Otherwise we can get in an infinite loop.
	* read.c (s_space): In MRI mode, the expressions stop at the first
	unquoted space.
	(cons_worker): In MRI mode, restore the terminating character at
	the end of the function.
1995-09-07 21:54:13 +00:00
Ian Lance Taylor 94a7312289 * read.c (cons_worker): Don't use #elif; old compilers don't
support it.
1995-09-07 16:35:37 +00:00
Ian Lance Taylor 86038ada17 * app.c (do_scrub_chars): In MRI mode, silently end quoted strings
at newline characters.  In MRI mode, always keep spaces in the
	operands field.  In MRI mode, treat a line comment character as a
	regular comment character following a space.
	* cond.c (ignore_input): Use strncasecmp rather than strncmp when
	looking for special pseudo-ops.
	* read.c (cons_worker): In MRI mode, the expressions stop at the
	first unquoted space.
	(equals): Likewise.
1995-09-07 01:17:16 +00:00
Stan Shebs dcf62f7359 * config/tc-mips.c: Remove CYGNUS LOCAL comments.
(md_begin): Use 0/1 instead of TRUE/FALSE.
	(md_show_usage): Break up long format string for the benefit
	of lame compilers.
	* config/tc-m68k.c (md_show_usage): Ditto.
	* gasp.c (show_usage): Ditto.
	* macro.c (check_macro): Cast result of hash_find.
1995-09-06 00:33:55 +00:00
Ken Raeburn 0ee4870895 * configure.in: When testing for a free() declaration in system header files,
cast the address to a function pointer, not to an integer.

* write.c (fix_new_internal): Call TC_INIT_FIX_DATA if TC_FIX_TYPE is defined.
Don't initialize fx_bsr.  Verify that fx_size field is wide enough to hold
stored value.
* write.h (struct fix): Change tc_fix_data to type TC_FIX_TYPE if that is
defined, otherwise omit it.  Delete fx_bsr.  Change fx_size to unsigned char.
* config/tc-i960.h (TC_FIX_TYPE, fx_bsr, TC_INIT_FIX_DATA): New macros.
* config/tc-ns32k.h (TC_FIX_TYPE, fx_bsr, TC_INIT_FIX_DATA): New macros.
* config/tc-hppa.h (TC_FIX_TYPE): Define as PTR.

* config/tc-i860.c (md_apply_fix): Delete code for checking fx_im_disp, and for
handling non-zero values, since it never gets set after being initialized to
zero.

* write.h (struct fix): Make fx_im_disp always 2 bits, since the only tc-*
files actually using it need that much.

NS32K changes from Ian Dall:
* configure.in: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
ns32k-pc532-lites* like ns32k-pc532-netbsd*.
* config/tc-ns32k.h (LOCAL_LABELS_FB): Define to 1.
1995-09-05 22:36:41 +00:00
Jackie Smith Cashion 8343d9d806 This change does not affect the MIPS instruction assembly. It is
present only to stop gas complaining when gcc passes through the
"-mcpu=vr4300" switch.

Fri Sep  1 08:20:19 1995  James G. Smith  <jsmith@beauty.cygnus.com>

        * config/tc-mips.c (md_parse_option, md_begin, md_show_usage):
        Add support for "-mcpu=vr4300" as processor identifier.
1995-09-01 15:22:29 +00:00
Steve Chamberlain 305a3af6e3 Thu Aug 31 16:41:06 1995 steve chamberlain <sac@slash.cygnus.com>
* write.c (fixup_segment): Remove change of 29th.
	* config/tc-{i386,arm}.h (TC_FORCE_RELOCATION): Keep RVA relocs.
1995-08-31 23:46:47 +00:00
Ian Lance Taylor f2f232cde2 Tue Aug 29 19:42:58 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* config/tc-m68k.c (m68k_ip) [case POST/PRE/BASE]: Fix typo when
 	looking at outer displacement.  Don't set the postindex bit if the
 	index suppress bit is set (for memory indirect addressing mode).
1995-08-31 17:50:20 +00:00
David Edelsohn 7408a167bd * config/tc-arm.c (tc_gen_reloc): Delete duplicated code. 1995-08-31 13:50:56 +00:00
Ian Lance Taylor ebcb9b6d4e * app.c (do_scrub_chars): Free saved_input when the from buffer
exactly fills the to buffer.
1995-08-31 03:53:43 +00:00
David Edelsohn 93dea4e685 * config/tc-sparc.c (parse_keyword_arg, parse_const_expr_arg): New fns.
(sparc_ip): Call them for asi, membar, and prefetch parsing.
1995-08-30 20:49:28 +00:00
David Edelsohn 593d18d36c * config/tc-sparc.c (sparc_ip): Clean up ASI support. 1995-08-29 22:48:54 +00:00
Steve Chamberlain 8c5560f25e Tue Aug 29 13:20:27 1995 steve chamberlain <sac@slash.cygnus.com>
* read.c (potable): Rva is new entry.
	(cons_worker): New, split from cons.  Handles rva.
	(cons, s_rva): Call cons_worker.
	* read.h (s_rva): New declaration.
	* write.c (fixup_segment): Don't throw away rva relocs.
	* config/tc-arm.c (md_apply_fix, tc_gen_reloc): Handle RVA.
	* config/tc-i386.c (tc_coff_fix2type): Handle RVA.
	* config/tc-i386.h (TC_COUNT_RELOC): Remember RVAs.
	(TC_RVA_RELOC): New definition.
1995-08-29 20:28:15 +00:00
David Edelsohn 338a706070 * config/tc-arm.c (do_swi): Allow optional leading '#'. 1995-08-28 00:45:44 +00:00
Ian Lance Taylor d634f0a8af * config/te-delta.h: Include obj-format.h.
* config/te-sco386.h: Likewise.
	* config/te-sysv32.h: Likewise.
1995-08-27 01:18:28 +00:00
Ian Lance Taylor 26743df55b * app.c (scrub_file): Remove.
(scrub_from_file, scrub_to_file): Remove.
	(scrub_string, scrub_last_string): Remove.
	(scrub_from_string, scrub_to_string): Remove.
	(saved_input, saved_input_len): New static variables.
	(struct app_saved): Remove scrub_string, scrub_last_string, and
	scrub_file fields.  Add saved_input and saved_input_len fields.
	(app_push): Adjust saved fields for changes in struct app_save.
	Initialize state and saved_input.
	(app_pop): Adjust saved fields for changes in struct app_save.
	(do_scrub_chars): Rename from do_scrub_next_char and rewrite to
	process a buffer at a time rather than a character at a time.
	(main, as_warn): Remove obsolete testing code.
	* as.h (do_scrub_next_char): Don't declare.
	(do_scrub_chars): Declare.
	(scrub_from_file, scrub_from_string): Don't declare.
	(scrub_to_file, scrub_to_string): Don't declare.
	* input-file.c (input_file_get): New static function.
	(input_file_give_next_buffer): Call do_scrub_chars rather than
	do_scrub_next_char.
	* read.c (scrub_string, scrub_string_end): New static variables.
	(scrub_from_string): New static function.
	(read_a_source_file): Call do_scrub_chars rather than
	do_scrub_next_char.
(and comment change in input-scrub.c)
1995-08-27 00:33:56 +00:00
Ian Lance Taylor 69cc18d2f0 * gasp.c (as_abort): New function.
* sb.c (sb_build): Revert yesterday's patch.
1995-08-25 02:00:39 +00:00
Ian Lance Taylor 791ee51949 * Makefile.in (gasp.new): Depend upon ../libiberty/libiberty.a.
Just link against libiberty, not against $(LIBS).
1995-08-25 01:51:14 +00:00
Ian Lance Taylor bd36216202 * sb.c (sb_build): Undefine abort before calling it, since gasp
does not provide as_abort.
1995-08-23 22:21:51 +00:00
Michael Meissner 6d93b96e48 Fix -mlittle/-mbig so that it really does override the default endianess 1995-08-23 14:59:16 +00:00
Ken Raeburn 06997b9a10 new routine xstrerror for better vms error handling; gas fixed to use it 1995-08-22 07:34:00 +00:00
Ken Raeburn 53499500e0 vms changes 1995-08-22 07:06:13 +00:00
Ian Lance Taylor a5e03353ae * as.c (parse_args): Accept --defsym SYM=VALUE.
* doc/as.texinfo, doc/as.1: Document --defsym.
1995-08-21 21:18:57 +00:00
Ian Lance Taylor 95074dc362 * doc/as.texinfo: Document irp, irpc, macro, and rept. MRI mode
now supports macros, ifc, ifnc, irp, irpc, rept, and endr, without
	using gasp.
1995-08-21 18:37:10 +00:00
Ian Lance Taylor 7e047ac2c1 Add support for macros.
* as.c: Include sb.h and macro.h.
	(max_macro_next): New global variable.
	(main): Call macro_init.
	(macro_expr): New static function.
	* as.h (max_macro_nest): Declare.
	* read.c (line_label): Rename from mri_line_label.  Change all
	uses.
	(potable): Add exitm, irp, irpc, macro, mexit, rept.
	(read_a_source_file): Always clear line_label at the start of a
	line, not just when flag_mri or LABELS_WITHOUT_COLONS.  Fixup
	MRI/LABELS_WITHOUT_COLONS handling.  In MRI mode, permit label:
	equ val.  Set line_label when calling colon.  In MRI mode, a
	leading '.' does not imply a pseudo-op.  Check for macro expansion
	before calling md_assemble.
	(s_irp): New function.
	(get_line_sb): New static function.
	(s_macro): New function.
	(s_mexit): New function.
	(s_rept): New function.
	* read.h (line_label): Rename from mri_line_label.
	(s_irp, s_rept): Declare.
	(s_macro, s_mexit): Declare.
	* input-scrub.c: Include sb.h.
	(sb_index, from_sb): New static variables.
	(macro_nest): New static variable.
	(struct input_save): Add sb_index and from_sb fields.  Change
	next_saved_file field to be struct input_save *.
	(next_saved_file): Changed to be struct input_save *.
	(input_scrub_push): Change to return type struct input_save *.
	Save sb_index and from_sb.
	(input_scrub_pop): Change parameter type to struct input_save *.
	Restore sb_index and from_sb.
	(input_scrub_include_sb): New function.
	(input_scrub_next_buffer): Handle reading from from_sb.
	(bump_line_counters): Only increment lines if not using from_sb.
	* config/tc-m68k.c (opt_table): Add nest.
	(opt_nest): New static function.
	* gasp.c: Include sb.h and macro.h.  Move all sb related functions
	and definitions to sb.h and sb.c.  Move all macro related
	functions and definitions to macro.h and macro.c.
	* sb.h, sb.c: New files, extracted from gasp.c.
	* macro.h, macro.c: Likewise.
	* Makefile.in (OBJS): Add sb.o and macro.o
	(GASPOBJS): Define.
	(gasp.new): Depend upon $(GASPOBJS).  Use $(GASPOBJS) to link.
	(TARG_CPU_DEP_m68k): Depend upon subsegs.h.
	(gasp.o): Depend upon sb.h and macro.h.
	(sb.o): New target.
	(macro.o): New target.
	(as.o): Depend upon sb.h and macro.h.
	(input-scrub.o): Depend upon sb.h.
	(read.o): Depend upon sb.h and macro.h.
1995-08-21 18:35:11 +00:00
Michael Meissner 840886d875 Allow @HA, @L, and @H on constant expressions. 1995-08-21 17:47:01 +00:00
Jim Wilson c2d8063d3b * config/tc-arm.c (md_reloc_size): Add const to declaration. 1995-08-20 22:56:02 +00:00
Ian Lance Taylor ca2329727e * read.c (s_include): In MRI mode, don't expect quotes around the
file name.
	* listing.c (listing_title): Don't require the title to be quoted.
1995-08-18 15:15:28 +00:00
Ian Lance Taylor f8d6e6cd08 * gasp.c (include_print_where_line): Always subtract 1 from
linecount before printing it.
	(process_file): In MRI mode, lines beginning with '*' or '!' are
	comments.
	(do_reg): In MRI mode, don't require parentheses.
	(do_include): In MRI mode, don't requires quotes.  If the file can
	not be found in the include path, try opening it in the current
	directory.  Print the file name correctly in the error message.
	(chartype_init): In MRI mode, set FIRSTBIT for '.'.
	(main): Set comment_char to ';' when entering MRI mode.
1995-08-18 15:09:57 +00:00
Ian Lance Taylor b4ec75e09f * config/tc-m68k.c: Include subsegs.h.
(m68k_ip): Pass 64 rather than -1 to add_Fix in 'B' 'B' case.
	(md_pcrel_from): If fx_pcrel_adjust is 64, use -1 instead.
You can't portably store negative numbers in a char.
1995-08-18 15:02:56 +00:00
Ken Raeburn 58bd5f50cf * as.h (alloca): Use void* declaration on HP/UX. 1995-08-16 22:15:28 +00:00
Ian Lance Taylor 4c67b523a3 * config/tc-sparc.c (tc_gen_reloc): If PIC, only change PCREL_S2
to WPLT30 for an undefined or external symbol.  Don't consider
	PC10 or PC22 to be a PC relative reloc when choosing between
	fx_addnumber and fx_offset.
1995-08-16 20:21:49 +00:00
Ian Lance Taylor 4decdd5669 * config/tc-z8k.c (md_number_to_chars): Don't do it here, call
number_to_chars_bigendian.
	* config/tc-z8k.h (TARGET_BYTES_BIG_ENDIAN): Define.
1995-08-16 20:05:54 +00:00
Ian Lance Taylor d86e4acb0f * expr.c (operand): Add support for .startof. and .sizeof. by
using magic symbol names which the linker will recognize
	specially.
	* doc/as.texinfo: Take out note that .startof. and .sizeof. are
	not supported.
1995-08-16 17:18:00 +00:00
Ken Raeburn 8513c9536d * write.c (write_contents): Always do it the BFD_FAST_SECTION_FILL way.
Reformat and reindent that code to GNU standards.
(BFD_FAST_SECTION_FILL): Don't define.
1995-08-15 01:28:59 +00:00
Ian Lance Taylor e15126c456 * gasp.c (do_align, get_any_string): Mark as static.
(do_assigna, do_assignc, new_file): Likewise.
1995-08-14 22:00:21 +00:00
Ian Lance Taylor 8e11ad0acd * config/tc-m68k.c (s_reg): Rename local op to rop to avoid
confusion with macro op.
1995-08-14 21:33:29 +00:00
Jeff Law b96c75f0b8 * config/tc-hppa.c (md_apply_fix): Don't try to apply BEGIN_BRTAB
or END_BRTAB fixups.
1995-08-14 20:10:21 +00:00
Ian Lance Taylor 7f5adcba04 * gasp.c (strip_comments): Comment out; it's not used.
(do_end): Add parameter.  In MRI mode, print it out.
	(do_irp): New static function.
	(sub_actual): Change parameter m to formal_hash, changing type
	from macro_entryh * to hash_table *.
	(macro_expand_body): New static function, broken out of
	macro_expand.
	(macro_expand): Call macro_expand_body.
	(K_*): Fully parenthesize.
	(K_IRP, K_IRPC): Define.
	(mrikinfo): Add IRP and IRPC.
	(process_pseudo_op): In MRI mode, print out END pseudo-op.  Pass
	line to do_end.  Handle K_IRP and K_IRPC.
1995-08-14 20:03:38 +00:00
Ian Lance Taylor 5c800455bf * frags.c (frag_align): Handle absolute_section.
* write.c (record_alignment): Likewise.
1995-08-13 21:19:00 +00:00
Ken Raeburn 2e00287afc fix up aug 8 log entry 1995-08-13 09:37:59 +00:00
Jeff Law 5ae218df2a * config/tc-hppa.c (md_pseudo_table): Add entries for
"begin_brtab" and "end_brtab" pseudo-ops.
	(pa_brtab): New function.
	(tc_gen_reloc, SOM version): Handle R_BEGIN_BRTAB and R_END_BRTAB.
	(hppa_force_relocation): Force relocations for BRTAB fixups
	when OBJ_SOM is defined.

More infrastructure for PA optimziations.
1995-08-13 06:39:39 +00:00
Ken Raeburn 3d0f44462f * Makefile.in (TE_OBJS): Add empty definition. 1995-08-12 00:49:19 +00:00
Ian Lance Taylor 19be7c0800 * gasp.c (change_base): Don't treat ' specially in MRI mode.
(process_file): Don't warn about missing END in MRI mode.
	(do_if): New static function.
	(get_mri_string, do_ifc): New static functions.
	(buffer_and_nest): Treat MRI mode like alternate syntax mode.
	(do_aendr): Change error message in MRI mode.
	(do_arepeat): Use REPT/ENDR in MRI mode.
	(do_formals): In MRI mode, add special NARG formal.
	(macro_expand): Various changes for MRI mode: permit a qualifier
	on the macro name; set special NARG formal; permit unnamed
	positional arguments; use && to concatenate named parameters;
	permit \d to specify an unnamed parameter; permit named parameters
	to not start with \; use == to see if a parameter exists.
	(getstring): In MRI mode, allow <> to quote a string.
	(K_IFEQ, K_IFNE, K_IFLT, K_IFLE, K_IFGE, K_IFGT): Define.
	(K_IFC, K_IFNC): Define.
	(struct keyword): Name structure used in kinfo array.
	(mrikinfo): New static array.
	(process_pseudo_op): Don't require leading '.' in MRI mode.
	Handle new MRI pseudo-op definitions.
	(add_keyword): New static function, broken out of process_init.
	(process_init): Use add_keyword.  In MRI mode, add mrikinfo table.
	(long_options): Add "mri".
	(show_usage): Mention -M/--mri.
	(main): Call process_init after processing arguments.  Handle -M.
	* doc/gasp.texi: Document -M/--mri.
1995-08-11 23:49:17 +00:00
Michael Meissner c7d7eed0a8 Allow large addends for BFD_RELOC_{LO16,HI16,HI16_S} relocs. 1995-08-11 17:36:54 +00:00
Ken Raeburn 12a065ee7e * read.c (s_mri_sect) [BFD_ASSEMBLER]: Fix typos in choosing and setting
section flags.
1995-08-11 01:11:30 +00:00
Ian Lance Taylor 79e15b8a98 * doc/as.texinfo: Add documentation for MRI compatibility mode.
* doc/as.1: Likewise.
1995-08-10 21:18:21 +00:00
Ian Lance Taylor 336435bc4d * config/tc-m68k.c (m68k_ip): When recognizing '#', use isbyte and
iword rather than expr8 and expr16.  When recognizing 'M', use
	issbyte rather than expr8.  When recognizing 'Q' and 't', just
	check for O_constant rather than using expr8.
	* config/m68k-parse.h (expr8, expr16): Don't define.
	* Makefile.in (m68k-parse.o): Depend upon m68k-parse.h, not
	m68k-parse.y.
1995-08-10 16:43:00 +00:00
Ian Lance Taylor e14994d980 * read.c (potable): Add spc, ttl, xcom, xref.
(s_mri_sect): New function.
	* read.h (s_mri_sect): Declare.
	* config/obj-coff.c (obj_coff_section) (both versions): In MRI
	mode, call s_mri_sect.
	(obj_pseudo_table): Add sect.s and section.s.  Move sect outside
	of ifndef BFD_ASSEMBLER.
	* config/obj-elf.c (elf_pseudo_table): Add section.s, sect,
	sect.s.
	(obj_elf_section): In MRI mode, call s_mri_sect.
	* config/tc-m68k.c (md_pseudo_table): Add restore, save.
	(struct save_opts): Define.
	(save_stack): New static variable.
	(s_save, s_restore): New static functions.
1995-08-10 16:19:34 +00:00
Ian Lance Taylor a920b69312 * read.c (s_set): Remove unused local ptr.
(hex_float): Check target_big_endian.
	(equals): Remove unused local p.
	* config/tc-a29k.h (TARGET_BYTES_BIG_ENDIAN): Define.
	* config/tc-h8500.h (TARGET_BYTES_BIG_ENDIAN): Define.
	* config/tc-hppa.h (TARGET_BYTES_BIG_ENDIAN): Define.
	* config/tc-i860.h (TARGET_BYTES_BIG_ENDIAN): Define.
	* config/tc-m68k.h (TARGET_BYTES_BIG_ENDIAN): Define.
	* config/tc-m88k.h (TARGET_BYTES_BIG_ENDIAN): Define.
	* config/tc-tahoe.h (TARGET_BYTES_BIG_ENDIAN): Define.
	* config/tc-sh.c (little): Set target_big_endian.
	(md_begin): Likewise.
	(md_parse_option): Likewise.
	(build_relax): Check target_big_endian rather than shl.
	(build_Mytes, md_atof): Likewise.
	(md_convert_frag, md_apply_fix): Likewise.
	(md_number_to_chars): Likewise.
1995-08-10 04:44:59 +00:00
Ian Lance Taylor 6700d36e84 * config/tc-m68k.c (m68k_abspcadd): New static variable.
(m68k_quick): New static variable.
	(m68k_rel32): New static variable.
	(md_pseudo_table): Add opt and reg.
	(m68k_ip): Permit absolute symbols in 'l'/'L' recognition.  Check
	m68k_quick in 'M' and 'Q' recognition.  Check m68k_abspcadd in
	DISP handling.  Check m68k_rel32 in BASE/POST/PRE handling.
	(md_begin): In MRI mode, initialize m68k_abspcadd and m68k_rel32.
	In MRI mode, change unsized branch aliases to be variable sized.
	(struct opt_action): Define.
	(opt_table): Define.
	(s_opt): New static function.
	(skip_to_comma): New static function.
	(opt_chip): New static function.
	(opt_list): New static function.
	(opt_list_symbols): New static function.
	(s_reg): New static function.
	* as.h (flag_keep_locals): Change from unsigned char to int.
	(flag_no_warnings): Likewise.
1995-08-09 23:22:13 +00:00
Ian Lance Taylor e28c40d725 * read.c (abs_section_offset): New global variable.
(potable): Add offset, struct.
	(do_org): New static function; handle changing the origin in the
	absolute section.
	(s_org): Use do_org.
	(s_set): Likewise.
	(equals): Likewise.
	(s_space): In absolute_section, just increase abs_section_offset.
	(s_struct): New function.
	(emit_expr): Handle absolute_section specially.
	* read.h (abs_section_offset): Declare.
	(s_struct): Declare.

	* read.c (potable): Add ifeq, ifge, ifgt, ifle, iflt, ifne.
	Change if to pass O_ne to s_if.
	(read_a_source_file): Don't define an label without a colon if
	ignore_input returns true.

	* read.c (potable): Add dcb, dcb.b, dcb.d, dcb.l, dcb.s, dcb.w,
	dcb.x, ds.d, ds.p, ds.s, ds.x, elsec, endc, fail, format, llen,
	noformat.
	(read_a_source_file): If pseudo-op handler is s_end, quit
	immediately.
	(s_end): New function.
	(s_fail): New function.
	(s_float_space): New function.
	(hex_float): New static function.
	(float_cons): Use hex_float.
	* read.h (s_fail): Declare.
	(s_float_space): Declare.
1995-08-09 19:36:25 +00:00
Ian Lance Taylor 99ca35f1fa Add ChangeLog entry for accidental checkin of read.c. 1995-08-09 15:44:05 +00:00
Ian Lance Taylor 286cb27aac * configure.in: Move random special target handling before
possible break.
	* configure: Rebuild.
1995-08-09 14:53:21 +00:00
Ian Lance Taylor bf4bd1fcf0 Tue Aug 8 23:41:25 1995 Alan Modra <alan@spri.levels.unisa.edu.au>
* configure.in: Consistently use ${target_cpu_type} rather than
	${cpu_type} after the loop.
	* configure: Rebuild.
	* Makefile.in (targ-cpu.o): Use @target_cpu_type@ rather than
	@cpu_type@.
1995-08-09 03:46:15 +00:00
Ken Raeburn 14d0c9fe26 * expr.h (operatorT): Remove comma after last enumerator value. 1995-08-09 01:44:02 +00:00
Ken Raeburn bdc82d8103 yet more vms work from pat rankin 1995-08-09 01:39:47 +00:00
Ken Raeburn 3b85367c58 * as.h (alloca): If __STDC__, declare void* instead of char*. 1995-08-09 01:16:09 +00:00
Ian Lance Taylor e9bb39b456 * config/tc-m68k.c (archs): Add 68ec000, 68hc000, 68hc001,
68ec020, 68ec030, 68ec040, and 68330.
	(md_pseudo_table): Add chip and comline.
	(m68k_init_after_args): Use strcasecmp when comparing default_cpu
	against architectures.
	(mri_chip, s_chip): New static functions.
1995-08-08 21:46:37 +00:00
Ian Lance Taylor 1356d77df3 * struc-symbol.h (struct symbol): Add sy_mri_common bit.
* read.h (mri_comon_symbol): Declare.
	(s_mri_common): Declare.
	* read.c (mri_line_label): New static variable.
	(mri_common_symbol): New global variable.
	(potable): Add "common" and "common.s".
	(read_a_source_file): In MRI mode, set mri_line_label for a label
	at the start of a line.
	(s_mri_common): New function.
	(s_space): Handle mri_common_symbol.
	* symbols.c (colon): Change return value from void to symbolS *,
	and return new symbol.  If mri_common_symbol is set, attach the
	new symbol to it.
	(resolve_symbol_value): Handle an sy_mri_common symbol.
	* symbols.h (colon): Change return value in declaration.
	* subsegs.c (subseg_set_rest): Clear mri_common_symbol.
	(subseg_set (both versions)): Likewise.
	* frags.c (frag_more): Warn if mri_common_symbol is not NULL.
	* write.c (adjust_reloc_syms): Skip sy_mri_common symbols.
	(write_object_file): Discard sy_mri_common symbols.
	(fixup_segment): Change relocations against sy_mri_common symbols
	to be against the common symbol itself.
	* config/obj-coff.c (yank_symbols): Discard sy_mri_common symbols.
	(fixup_segment): Change relocations against sy_mri_common symbols
	to be against the common symbol itself.
	* config/obj-aout.c (obj_crawl_symbol_chain): Discard
	sy_mri_common symbols.
1995-08-08 21:41:30 +00:00
Ian Lance Taylor c266c384ee * doc/c-m68k.texi: Add documentation for CPU specific options, and
for Motorola syntax.
1995-08-08 17:12:22 +00:00
Ian Lance Taylor 48bfed03b4 * config/m68k-parse.y (motorola_operand): For (%pc), set mode to
DISP, not BASE.
1995-08-08 17:09:10 +00:00
Ken Raeburn d4083e293a * write.c (relax_align): Add extra padding for linkrelax only if
LINKER_RELAXING_SHRINKS_ONLY is defined.
* config/tc-i960.h (LINKER_RELAXING_SHRINKS_ONLY): Define it.
* doc/internals.texi (Relaxation): Write up some stuff on linker relaxing and
LINKER_RELAXING_SHRINKS_ONLY.
1995-08-08 06:54:30 +00:00
Ian Lance Taylor 55243738ff Move testsuite ChangeLog entries to testsuite/ChangeLog. 1995-08-08 03:35:44 +00:00
Ian Lance Taylor a1c7c0f3ac * config/m68k-parse.y: New file: bison grammar for m68k operands,
including support for Motorola syntax.
	* config/m68k-parse.h: New file; definitions shared between
	m68k-parse.y and tc-m68k.c.
	* config/tc-m68k.c: Include m68k-parse.h.
	(enum operand_type): Move to m68k-parse.h, where it is named
	m68k_operand_type.  Rename all uses.  Rearrange somewhat.  Add
	FPREG.  Rename AOFF to DISP.  Rename AINDX to BASE.  Rename APODX
	to POST.  Rename APRDX to PRE.  Remove AMIND.  Rename MSCR to
	CONTROL.  Remove DINDR.
	(struct m68k_exp): Move to m68k-parse.h.  Remove e_beg, e_end and
	e_seg fields.  Rename e_exp to exp.  Rename e_siz to size, and
	change type to enum m68k_size.  Change all uses.
	(enum _register): Move to m68k-parse.h, where it is named
	m68k_register.  Rename all uses.  Add ZDATA0-7 and ZADDR0-7.
	(struct m68k_op): Move to m68k-parse.h.  Change all fields.
	(seg): Don't define.
	(add_exp): Remove.
	(FAIL, OK): Remove.
	(m68k_reg_parse): Move to m68k-parse.y, and rewrite.
	(SKIP_WHITE, SKIP_W): Remove.
	(try_moto_index, try_index): Remove.
	(m68k_ip_op): Move to m68k-parse.y, and rewrite to use grammar.
	(main): Remove obsolete test function.
	(m68k_ip): Extensive changes to use new grammar.
	(get_regs): Remove.
	(crack_operand): m68k_ip_op now returns 0 on success.
	(init_table): Add ssp, zd0-7 and za0-7.
	(md_assemble): Make er const.  Correct loop over operands when
	looking for error message.
	(md_begin): Set alt_notend_table for '(' and '@'.
	(get_num): Expression is already parsed.  Don't set seg.
	* configure.in: If cpu_type is m68k, put m68k-parse.o in
	extra-objects.
	* configure: Rebuild.
	* Makefile.in (DISTSTUFF): Add m68k-parse.c.
	(BISON): Use ../bison/bison if it exists.
	(BISONFLAGS): Define as empty.
	(TARG_CPU_DEP_m68k): Depend upon $(srcdir)/config/m68k-parse.h.
	(m68k-parse.c, m68k-parse.o): New targets.
1995-08-08 02:36:10 +00:00
Jeff Law 68d04794f7 * config/tc-sh.c (parse_reg): Handle new FP registers.
(get_specific): Handle new operand types.

Sanitized away for now.
1995-08-07 08:58:12 +00:00
Ian Lance Taylor 86b58ca2aa * config/tc-m68k.c: Remove BREAK_UP_BIG_DECL stuff.
(struct m68k_incant): Change m_operands field to be const.
	(struct m68k_it): Change args field to be const.
	(m68k_ip): Change local variable s to be const.
	(opcode_ptr): Remove.
	(md_begin): Use m68k_numopcodes, not numopcodes.  Use
	m68k_opcodes, not removed opcode_ptr.  Use m68k_numaliases, not
	numaliases.
1995-08-02 22:42:21 +00:00
Ian Lance Taylor 219deb70ce Initial support for MRI style labels and expressions.
* as.h (flag_mri): Declare/define.
	* as.c (show_usage): Mention -M and its synonym --mri.
	(parse_args): Add 'M' to std_shortopts.  Add "mri" to
	std_longopts.  Set flag_mri if -M is seen.
	(main): Call parse_args before input_scrub_begin.  Call
	expr_begin.
	* app.c (do_scrub_begin): Don't set lex for '"' or '\'' in MRI
	mode.  Do set lex for ';', '*', and '!' in MRI mode.
	(do_scrub_next_char): Remove MRI ifdef in LEX_IS_WHITESPACE case.
	In MRI mode, keep spaces between labels and colons.  Remove MRI
	ifndef around LEX_IS_ONECHAR_QUOTE case.  In MRI mode, don't use
	'!' or '*' as comment characters even if they are in
	comment_chars.
	* read.h (lex_type): No longer const.
	* read.c: Include libiberty.h.
	(lex_type): No longer const.
	(read_begin): In MRI mode, set lex_type of '?' to 3.
	(potable): Add dc, dc.b, dc.d, dc.l, dc.s, dc.w, dc.x, ds, ds.b,
	ds.l, ds.w, and xdef.
	(read_a_source_file): Change LABELS_WITHOUT_COLON ifdef to check
	for MRI mode at runtime rather than compile time.  Handle the EQU
	pseudo-op in MRI mode.  Remove bogus MRI ifdef around done_pseudo.
	Change NO_PSEUDO_DOT ifdef to also take effect for MRI mode at
	runtime.
	(cons): In MRI mode, always call parse_mri_cons rather than
	TC_PARSE_CONS_EXPRESSION.
	(parse_mri_cons): Always compile, not just when MRI is defined.
	Call TC_PARSE_CONS_EXPRESSION, not expression, when the input is
	not a string constant.  Handle A and E modifiers.
	(float_cons): Accept :xxxx, where the x's are hex digits.
	* expr.h (operatorT): Add O_eq, O_ne, O_lt, O_le, O_ge, O_gt.
	(expr_begin): Declare.
	* expr.c (integer_constant): In MRI mode, if the base was not
	specified, look for a suffix on the number to set the base.
	(mri_char_constant): New static function.
	(operand): Remove MRI ifdef.  In MRI mode, do various things: Pass
	0 as the base when calling integer_constant if there was no
	prefix.  Check for a hex constant suffix if when a leading '0' is
	seen.  Don't accept 0x or 0b as a prefix.  Check for E'chars' and
	A'chars'.  Handle MRI character constants.  Treat '"' as the
	unary bitwise not operator.  Treat $ as the program counter, or as
	the prefix for a hex constant.  Treat % as the prefix for a binary
	constant and @ as the prefix for an octal constant.  Treat : as
	the prefix for a hex constant.
	(op_encoding): Set '"' to O_bit_not, '<' to O_lt, and '>' to O_gt.
	(op_rank): No longer const.  Change rank values.
	(expr_begin): New function.
	(operator): New static function.
	(expr): Use operator.  Don't bother to mention the operator in
	warnings.  Remove bogus #if 0 code.  Handle new operatorT values.
	* atof-generic.c (atof_generic): In MRI mode, accept underscores
	around the exponent in floating point numbers.
	* symbols.h (symbols_case_sensitive): Declare.
	* symbols.c (symbols_case_sensitive): New global variable.
	(symbol_create): Check symbols_case_sensitive.
	(symbol_find_base): Likewise.
	(resolve_symbol_value): Handle new operatorT values.
	(print_expr_1): Likewise.
	(S_IS_LOCAL): In MRI mode, names beginning with two '?' characters
	are local.
1995-08-01 22:01:01 +00:00
Steve Chamberlain b97bd7d17c Tue Aug 1 11:35:18 1995 steve chamberlain <sac@slash.cygnus.com>
* tc-sh.c (md_convert_frag): Make some error messages more
	explict.
1995-08-01 18:39:08 +00:00
Steve Chamberlain 4f2f30116b * gasp.c (main): Parse -I option.
(do_include): Look through include list.
	* gasp.c (change_base): Don't modify numbers in strings.
	(pr7583)

 	* testsuite/gasp/*: New.
	* testsuite/Makefile.in: Use gasp tests.
	* testsuite/config/default.exp: Add gasp stuff.
1995-08-01 03:35:23 +00:00
Ken Raeburn ac24997f36 yet more vms work 1995-08-01 01:41:53 +00:00
Steve Chamberlain 5f57cea3f6 * gasp.c (change_base): Don't modify numbers in strings. (pr7583)
* testsuite/gas/gasp/*: New.
1995-08-01 01:31:42 +00:00
Ken Raeburn f641906be5 remove local variables, change-log-mode does all of that 1995-07-31 21:09:39 +00:00
Ken Raeburn 5700b874e4 more vms changes 1995-07-28 00:45:53 +00:00
Ken Raeburn a619d6d906 fix more compilation problems 1995-07-25 00:14:47 +00:00
Ian Lance Taylor a91c6b0885 * config/tc-sh.c (md_pseudo_table): Add "uses".
(s_uses): New static function.
	(sh_coff_frob_file): New function.
	(md_convert_frag): Call subseg_change before calling fix_new.
	(sh_handle_align): New function.
	(SWITCH_TABLE): Define.
	(sh_force_relocation): New function.
	(md_apply_fix): Handle R_SH_USES, R_SH_COUNT and R_SH_ALIGN.
	(sh_coff_reloc_mangle): Likewise.  Also handle switch table
	entries.
	* config/tc-sh.h (HANDLE_ALIGN): Define.
	(sh_handle_align): Declare.
	(TC_FORCE_RELOCATION): Define.
	(sh_force_relocation): Declare.
	(TC_COUNT_RELOC): Simplify; rely on TC_FORCE_RELOCATION instead.
	(tc_frob_file): Define.
	(sh_coff_frob_file): Declare.
	* config/obj-coff.c (write_object_file): Call tc_frob_file if it
	is defined.
	(fixup_mdeps): Call HANDLE_ALIGN if it is defined.
	(TC_FORCE_RELOCATION): Define if not defined.
	(fixup_segment): Use TC_FORCE_RELOCATION to decide whether to
	clear the symbol fields of fixP.
1995-07-24 18:18:39 +00:00
Ken Raeburn 5a929558f8 * configure.in (arm-*-riscix*): Don't set emulation. 1995-07-20 17:38:59 +00:00
Ken Raeburn 9d249d343c * config/tc-m68k.c (md_convert_frag): Rename argument seg to sec, since seg is
a macro name in this file.
1995-07-20 17:17:32 +00:00
David Edelsohn d0ac7e7039 * config/obj-coff.h (TE_PE): Delete.
* config/tc-arm.h (BYTE_ORDER): Delete.
	(TARGET_FORMAT): Provide value for OBJ_COFF and TE_PE.
	(ARM_BI_ENDIAN): Define if OBJ_COFF and TE_PE.
	* config/tc-arm.c (byte_order): Delete.
	(md_number_to_chars): Reference target_big_endian, not byte_order.
	(md_chars_to_number): Likewise.
	(md_longopts): Add -EB/-EL if ARM_BI_ENDIAN.
	(md_parse_options): Recognize -EB/-EL.
	(md_show_usage): List -EB/-EL.
1995-07-19 23:18:57 +00:00
Ian Lance Taylor fe98e22d83 * gasp.c (process_assigns): Use toupper before comparing against
upper case letter.
	(whatcond): Likewise.
PR 7281.
1995-07-19 16:22:14 +00:00
Ian Lance Taylor 5f8cb05eef * config/tc-sh.c (sh_relax): Rename from relax, and make global.
Renamed all uses.
	(insert): Pass a size of 2, not 4.
	(build_relax): Remove unused len variable.
	(md_show_usage): Mention -little option.
	(md_convert_frag): Add segT argument.  Rewrite to generate relocs
	rather than to generate complete instructions here.
	(md_apply_fix): Adjust and clarify R_SH_PCRELIMM8BY4 case for
	changes in insert and md_pcrel_from.  Add cases for R_SH_PCDISP
	and R_SH_PCDISP8BY2.
	(md_pcrel_from): Don't subtract 1, add 2.
	(tc_coff_fix2rtype): Remove.
	(sh_coff_reloc_mangle): New function.
	* config/tc-sh.h (TC_COFF_FIX2RTYPE): Just return fx_r_type.
	(sh_relax): Declare.
	(TC_COUNT_RELOC): If relaxing, count PC relative relocs.
	(TC_RELOC_MANGLE): Define.
	(sh_coff_reloc_mangle): Declare.
	(tc_coff_sizemachdep): Declare.
	* tc.h (md_convert_frag): Add segT parameter to non BFD_ASSEMBLER
	declaration.
	* write.c (cvt_frag_to_fill): Add sec argument to non
	BFD_ASSEMBLER version.  Pass it to md_convert_frag.
	(write_object_file): Pass SEG_TEXT to cvs_frag_to_fill.
	* config/obj-coff.c (do_relocs_for): Pass segment info to
	TC_RELOC_MANGLE.
	(fixup_mdeps): Pass segment type to md_convert_frag.
	* config/tc-a29k.c (md_convert_frag): Add segT argument.
	* config/tc-h8300.c (md_convert_frag): Likewise.
	* config/tc-h8500.c (md_convert_frag): Likewise.
	* config/tc-i386.c (md_convert_frag): Likewise.
	* config/tc-i860.c (md_convert_frag): Likewise.
	* config/tc-i960.c (md_convert_frag): Likewise.
	* config/tc-m68k.c (md_convert_frag): Likewise.
	* config/tc-m88k.h (md_convert_frag): Likewise.
	* config/tc-ns32k.c (md_convert_frag): Likewise.
	* config/tc-rce.c (md_convert_frag): Likewise.
	* config/tc-tahoe.c (md_convert_frag): Likewise.
	* config/tc-vax.c (md_convert_frag): Likewise.
	* config/tc-w65.c (md_convert_frag): Likewise.
	* config/tc-z8k.c (md_convert_frag): Likewise.
	* config/tc-h8300.h (TC_RELOC_MANGLE): Add segment argument.
	* config/tc-h8500.h (TC_RELOC_MANGLE): Likewise.
	* config/tc-rce.h (TC_RELOC_MANGLE): Likewise.
	* config/tc-w65.h (TC_RELOC_MANGLE): Likewise.
	* config/tc-z8k.h (TC_RELOC_MANGLE): Likewise.
1995-07-19 16:14:49 +00:00
Michael Meissner fadd4ee1d6 Allow compiler to mark relocs that are ok for -mrelocatable. 1995-07-15 04:10:31 +00:00
Ian Lance Taylor 88f4ab5ff1 Add support for SPARC SunOS PIC:
* config/tc-sparc.h (sparc_pic_code): Always declare, not just
	when OBJ_ELF.
	(TC_RELOC_RTSYM_LOC_FIXUP): Define when OBJ_AOUT.
	(tc_fix_adjustable): New definition for OBJ_AOUT.
	* config/tc-sparc.c (sparc_pic_code): Always define, not just when
	OBJ_ELF.
	(md_apply_fix): Adjust reloc addend for OBJ_AOUT and PIC.  In
	BFD_RELOC_32_PCREL_S2 case, don't increment val for an external
	symbol when PIC.
	(tc_gen_reloc): Generate different PIC relocs when OBJ_AOUT, as
	well as when OBJ_ELF.
	(md_shortopts): If OBJ_AOUT, include `k'.
	(md_parse_option): If OBJ_AOUT, handle 'k'.
	(md_show_usage): Mention -k if OBJ_AOUT, and -KPIC if OBJ_ELF.
	(md_pcrel_from): Don't add in size for an external symbol when
	PIC.
1995-07-15 00:00:32 +00:00
David Edelsohn 403d21d28f * config/tc-arc.c (byte_order): Provide explicit initial value.
Also delete entry for reverted -m{big,little}-endian patch.
1995-07-14 17:30:38 +00:00
Jeff Law 4575a69d6b * config/tc-hppa.h (UNDEFINED_DIFFERENCE_OK): Define for SOM.
* write.c (adjust_reloc_syms): Set sy_used_in_reloc for both
        symbols in a fixup where a defined symbol is subtracted from an
        undefined symbol (when UNDEFINED_DIFFERENCE_OK is defined).
        (fixup_segment): Do nothing for the difference of two symbols if
        UNDEFINED_DIFFERENCE_OK is defined.
1995-07-14 03:19:38 +00:00
Jim Wilson 37ea61215c Fix debug info bugs for SGI
* ecoff.c (add_file): Don't collapse multiple .file commands into
	a single file structure.
	(ecoff_build_lineno): Set ilineBase to sum of previous file's
	ilineBase and cline.
1995-07-13 19:00:19 +00:00
Ian Lance Taylor ac7530a895 * config/obj-coff.c (fixup_segment): Support MD_APPLY_FIX3. 1995-07-13 03:34:38 +00:00
Ken Raeburn f7da4a99d4 fix more compilation bugs 1995-07-12 20:45:57 +00:00
Ian Lance Taylor 6804bd6c4c * doc/c-mips.texi: Document -m4010 and -mno-4010. 1995-07-11 18:32:16 +00:00
Ian Lance Taylor e5fa3f23e8 * ecoff.c (struct efdr): Add new field fake.
(init_file): Initialize fake.
	(add_file): Add new parameter fake.  Change all callers.
	(ecoff_build_debug): Don't warn about a missing .end for a fake
	file.
PR 6509.
1995-07-11 17:26:08 +00:00
Ken Raeburn cc02a8a9c6 * read.c (po_hash): Now static. 1995-07-10 20:49:45 +00:00
Ian Lance Taylor fb33961bff Based on patches from H.J. Lu <hjl@nynexst.com>:
* config/tc-i386.c (md_apply_fix3): Rename from md_apply_fix1.
	Accept pointer to value and segment.  Fix OBJ_ELF PCREL case to
	handle global defined symbols correctly.
	(md_apply_fix): Remove both versions.
	* config/tc-i386.h (MD_APPLY_FIX3): Define.
1995-07-10 19:01:21 +00:00
Ian Lance Taylor 84144a8f56 * configure.in: When switching on ${cpu}, use ${cpu}, not
$[target_cpu}, in default case.
	* configure: Rebuild.
1995-07-10 17:48:48 +00:00