Commit graph

1345 commits

Author SHA1 Message Date
Stan Shebs
d214421eee * mpw-make.sed: Update to handle shared library support. 1996-02-27 03:03:21 +00:00
David Edelsohn
110b814dba * config/tc-sparc.c (sparc_ip): Print all architectures that support
the insn on mismatch.
1996-02-26 18:38:33 +00:00
Rob Savoye
805e36ab5d * configure.in: Add support for a29-coff.
* configure: Rebuild.
1996-02-24 04:46:41 +00:00
Ian Lance Taylor
101a23469f * config/tc-sh.c (sh_coff_frob_file): Don't consider the address
of the section when looking for the R_SH_USES fixup, because the
	frag addresses have not yet been adjusted.
PR 9072.
1996-02-23 01:15:39 +00:00
Ian Lance Taylor
940c413f96 * gdbinit.in: Set a breakpoint on as_warn_where. 1996-02-23 01:09:38 +00:00
Ian Lance Taylor
e41ab2a6a4 * config/tc-mips.c (macro): Add missing arguments to macro_build
omitted in last change.  From Jim Wilson <wilson@cygnus.com>.
1996-02-23 00:41:09 +00:00
Ian Lance Taylor
c6016ce293 * config/tc-h8300.c (tc_reloc_mangle): Change reloc based on size
if it is TC_CONS_RELOC.  Set a size of 4 to R_RELLONG.
PR 5166.
1996-02-21 22:02:54 +00:00
David Edelsohn
b32fbe0779 * config/tc-sparc.c (sparc_ip): Recognize %asr0 for v8. 1996-02-21 17:26:21 +00:00
David Edelsohn
2e5e6879d5 * config/tc-sparc.c (parse_keyword_arg): Accept leading '%'.
(sparc_ip): Accept %asr[1..31] for v8 and %asr[%16..31] for v9.
	Recognize [uU] format args as sparclet cpregs.
1996-02-21 05:50:22 +00:00
Ian Lance Taylor
8a2e1fdd3c * config/tc-sh.c (sh_handle_align): Don't emit R_SH_ALIGN relocs
in bss_section.
PR 9044.
1996-02-21 03:30:01 +00:00
Ian Lance Taylor
21965655ed * config/tc-sparc.h (TC_RELOC_RTSYM_LOC_FIXUP): Check S_IS_WEAK as
well as S_IS_EXTERNAL.
	(tc_fix_adjustable): Likewise.
	* config/tc-sparc.c (md_apply_fix): In OBJ_ELF case, check for
	S_IS_WEAK as well as S_IS_EXTERNAL when deciding whether to return
	early.
	(tc_gen_reloc): Check S_IS_WEAK as wel as S_IS_EXTERNAL when
	deciding whether to convert BFD_RELOC_32_PCREL_S2 if PIC.
1996-02-19 19:29:17 +00:00
David Edelsohn
d8b42b96d1 * config/tc-sparc.c (max_architecture): Change to sparclite for
32 bit arch.
	(default_compatible): Delete.
	(sparc_ffs): New function.
	(md_begin): Only call SPARC_OPCODE_CONFLICT_P once.
	(sparc_ip): Rewrite architecture match and bump logic.
1996-02-19 10:43:01 +00:00
Ian Lance Taylor
7925f4d4b9 * configure.in: Check for 'do not mix' from native linker before
trying to use -rpath.
	* configure: Rebuild.
1996-02-18 20:07:36 +00:00
Ian Lance Taylor
ef2074c25a * config/obj-coff.h (SF_ADJ_LNNOPTR): Define (non BFD_ASSEMBLER).
(SF_GET_ADJ_LNNOPTR): Define (non BFD_ASSEMBLER).
	(SF_SET_ADJ_LNNOPTR): Define (non BFD_ASSEMBLER).
	* config/obj-coff.c (obj_coff_endef): Set ADJ_LNNOPTR when LNNOPTR
	is set.
	(w_symbols): If ADJ_LNNOPTR is set, add the section lnnoptr field
	to the symbol lnnoptr field, to get the correct file offset.
PR 7428.
1996-02-16 21:56:19 +00:00
Michael Meissner
28910c57ce Force all PPC symbols that otherwise do not have a symbol type to be BSF_OBJECT 1996-02-15 19:54:38 +00:00
Ian Lance Taylor
1a2f3c3f1f * configure: Set and substitute RPATH_ENVVAR.
* configure: Rebuild.
	* Makefile.in (RPATH_ENVVAR): New variable.
	(check): Use $(RPATH_ENVVAR) rather than LD_LIBRARY_PATH.
1996-02-15 19:00:54 +00:00
Ian Lance Taylor
7c2fadd1af * configure.in: Accept i686. From H.J. Lu <hjl@zoom.com>: i386
doesn't need opcodes.  If configuring shared, opcodes needs bfd.
	* configure: Rebuild.
1996-02-15 16:22:03 +00:00
Ian Lance Taylor
ae09d880bd From Alan Modra <alan@spri.levels.unisa.edu.au>:
* configure.in: Remove duplicate setting of cpu_type.  Check
	whether opcodes library is required for on all targets, not just
	primary one.
	* configure: Rebuild.
1996-02-14 23:13:13 +00:00
Ian Lance Taylor
8a6f53e91b Wed Feb 14 16:33:12 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de>
* read.c (s_mri_sect): Don't return '\0' in type.  Set all
	appropriate flags in BFD section.

	* configure.in (m68k-*-psos*): New target.
	* configure: Rebuild.
	* config/te-psos.h: New file.
	* config/tc-m68k.c (comment_chars): Don't include '#' if TE_PSOS
	is defined.
1996-02-14 21:37:16 +00:00
Ian Lance Taylor
fb251650e9 * config/tc-mips.c (mips_big_got): New static variable.
(s_extern): Don't declare.
	(reg_needs_delay): New static function.
	(macro_build): Permit GOT/CALL_HI/LO relocs.
	(macro_build_lui): If place is not NULL, use the number in the
	expression.
	(load_address): Handle mips_big_got case.
	(macro): Handle mips_big_got for M_LA_AB, M_JAL_A, and load and
	store macros.
	(OPTION_XGOT): Define.
	(md_longopts): Add "xgot" if OBJ_ELF.
	(md_parse_option): Handle -xgot.
	(md_show_usage): Mention -xgot.
	(md_apply_fix): Permit GOT/CALL_HI/LO relocs.
	(tc_gen_reloc): Handle GOT/CALL_HI/LO relocs.
1996-02-14 18:49:27 +00:00
Ian Lance Taylor
d9396c16ce Wed Feb 14 11:22:27 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* config/tc-m68k.c (m68k_ip) [operand kind '#']: When fixing
	the byte relocation, point it to the low byte of the word.
1996-02-14 16:23:19 +00:00
Ian Lance Taylor
56f9773ffd * configure.in: Set HDLFLAGS for *-*-hpux with --enable-shared.
* configure: Rebuild.
1996-02-13 20:34:53 +00:00
Ian Lance Taylor
20710f1c0c * read.c (potable): Add "mri" and ".mri".
(s_mri): New function.
	* read.h (s_mri): Declare.
	* app.c (scrub_m68k_mri): New static variable.
	(mri_pseudo): New static variable.
	(do_scrub_begin): Add m68k_mri parameter.  Use it rather than
	flag_m68k_mri.  Initialize scrub_m68k_mri.
	(mri_state, mri_last_ch): New static variables.
	(struct app_save): Add scrub_m68k_mri, mri_state, and mri_last_ch
	fields.
	(app_push): Save new fields.
	(app_pop): Restore new fields.
	(do_scrub_chars): Check scrub_m68k_mri rather than flag_mri_mri.
	If TC_M68K, use a trivial state machine to look for occurrences of
	the .mri pseudo-op, and change the mode appropriately.
	* as.h (do_scrub_begin): Update prototype.
	* input-scrub.c (input_scrub_begin): Pass flag_m68k_mri to
	do_scrub_begin.
	* config/tc-m68k.c (reg_prefix_optional_seen): New static
	variable.
	(m68k_mri_mode_change): New function.
	(md_parse_option): Set reg_prefix_optional_seen.
	* config/tc-m68k.h (m68k_mri_mode_change): Declare.
	(MRI_MODE_CHANGE): Define.
	* doc/as.texinfo: Document .mri pseudo-op.
1996-02-13 00:20:13 +00:00
David Edelsohn
63e4edb555 * configure.in: Recognize any sparc* cpu.
* configure: Regenerated.
1996-02-12 23:54:50 +00:00
Ian Lance Taylor
15ed5f2c3f * app.c (do_scrub_chars): In MRI mode, don't treat '#' as a
comment character.
1996-02-12 20:41:58 +00:00
Ian Lance Taylor
a043f579df Mon Feb 12 15:16:29 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
Support for OBJ_ELF on m68k, mostly inside #ifdef OBJ_ELF:
	* config/m68k-parse.h (enum pic_relocation): Define.
	(struct m68k_exp): Add pic_reloc field.
	* config/tc-m68k.h (TC_RELOC_RTSYM_LOC_FIXUP): Define.
	(tc_fix_adjustable): Define to call tc_m68k_fix_adjustable.
	(NO_RELOC): Define to BFD_RELOC_NONE if BFD_ASSEMBLER, to zero
	otherwise.
	* config/tc-m68k.c: Delete definition of NO_RELOC.
 	(struct m68k_it): Add pic_reloc field.
	(add_fix): Copy over pic_reloc field.
	(md_pseudo_table): Interpret .align parameter as byte count.
	(mote_pseudo_table): Likewise.
	(tc_m68k_fix_adjustable): New function.
	(get_reloc_code): New function.
	(md_assemble): Use it as last argument to fix_new_exp.
	(md_apply_fix_2): For a relocation against a symbol don't put the
	addend into the data.
	(tc_gen_reloc): Different addend computation for OBJ_ELF.
	(m68k_ip): Don't relax an operand that requires pic relocation.
	(md_begin): Align .text, .data and .bss on 4 byte boundary by
	default.
	* write.c (fixup_segment): Don't add symbol value to addend if
 	TC_M68K and OBJ_ELF.
	* config/m68k-parse.y (yylex): Handle @PLTPC, etc.
	(motorola_operand): Add rule for `(zapc, EXPR)'.
1996-02-12 20:33:06 +00:00
Ian Lance Taylor
6ca1156def Mon Feb 12 10:07:33 1996 David Mosberger-Tang <davidm@azstarnet.com>
* ecoff.c (ecoff_directive_weakext): Fixed so that whitespace
	*really* is permissible before the comma.
1996-02-12 15:08:04 +00:00
Ian Lance Taylor
fcee3e24c2 * config/tc-sh.c (sh_do_align): Align to a 2 byte boundary before
inserting nop instructions.
PR 8974.
1996-02-12 05:12:40 +00:00
Ian Lance Taylor
3e1c964dfa * config/te-aux.h: Change include of aux.h to aux-coff.h. 1996-02-09 15:55:06 +00:00
Ian Lance Taylor
d782e3cc8f * config/tc-i960.c (tc_coff_symbol_emit_hook): Correct storage
class setting for a CALLNAME symbol in COFF.
1996-02-09 01:29:59 +00:00
Ian Lance Taylor
4080c27065 * read.c (potable): Pass negative numbers for new .balign[wl] and
.p2align[wl] pseudo-ops.
	(s_align_bytes): Treat a negative argument as specifying the fill
	length.
	(s_align_ptwo): Likewise.
1996-02-09 01:04:21 +00:00
Ian Lance Taylor
71dd3c40ca * read.c (potable): Add balignw, balignl, p2alignw, and p2alignl.
(do_align): Take new len parameter.  Change all callers.  Pass it
	to md_do_align.
	(s_align_bytes): Arg now indicates the length of the fill pattern.
	(s_align_ptwo): Likewise.
	* config/obj-coff.c (write_object_file): Pass length to
	md_do_align.
	* config/tc-i386.h (md_do_align): Take new len parameter.
	* config/tc-m88k.h (md_do_align): Likewise.
	* config/tc-m88k.c (m88k_do_align): Likewise.
	* config/tc-sh.h (md_do_align): Likewise.
	* config/tc-sh.c (sh_do_align): Likewise.
	* doc/as.texinfo: Document new pseudo-ops.

	* config/obj-coff.c (fixup_mdeps): Divide offset by fr_var, as is
	done in cvt_frag_to_fill.
PR 8974.
1996-02-08 00:22:02 +00:00
Ian Lance Taylor
9addcbb182 * config/tc-sh.h (sh_do_align): Declare.
(md_do_align): Define.
	* config/tc-sh.c (sh_do_align): New function.
PR 8974.
1996-02-07 22:00:28 +00:00
Ian Lance Taylor
c15ea23aaf * ecoff.c (ecoff_build_lineno): Don't try to store the address
difference if the next address is before the current one.
1996-02-07 20:20:56 +00:00
Ian Lance Taylor
9e64486e44 * config/tc-m68k.c (struct m68k_cpu): Add alias field.
(archs): Initialize new field.
	(m68k_ip): Don't list alias names when listing CPUs which support
	an instruction.
1996-02-07 19:35:15 +00:00
Ian Lance Taylor
1c9dbb83f1 * configure.in: Check for --enable-shared. If linking against
shared BFD and opcodes, fix library name on SunOS, and try to set
	-rpath reasonably.
	* configure: Rebuild.
1996-02-07 19:13:20 +00:00
Ian Lance Taylor
f9e90c2ec6 * config/tc-i960.c (ARCH_HX): Define.
(arch_tab): Add HX.
	(targ_has_sfr): Handle ARCH_HX.
	(targ_has_iclass): Handle ARCH_HX.
	(tc_coff_fix2rtype): Add return 0 to avoid warning.
	(tc_headers_hook): If the architecture was specified explicitly,
	use it when setting the flags.  Set the extern variable coff_flags
	rather than headers->filehdr.f_flags, since the latter is set
	unconditionally in obj-coff.c.
	(i960_handle_align): Remove unused variable fixp.
1996-02-05 23:52:42 +00:00
Ian Lance Taylor
dd1d79e8b9 Support for building bfd and opcodes as shared libraries, based on
patches from Alan Modra <alan@spri.levels.unisa.edu.au>:
	* configure.in: Set OPCODES and BFD to search directories.
	Substitute OPCODES_DEP and BFDDEP.  On SunOS, set HLDFLAGS.
	* configure: Rebuild.
	* Makefile.in (LDFLAGS, HLDFLAGS): New variables.
	(LIBDEPS): New variable.
	(as.new0: Depend upon $(LIBDEPS) rather than $(LIBS).  Use
	$(HLDFLAGS) in link.
	(check): Set LD_LIBRARY_PATH in the environment.
1996-02-05 21:32:01 +00:00
Ian Lance Taylor
e277d131e8 Fri Feb 2 14:09:25 1996 Alan Modra <alan@spri.levels.unisa.edu.au>
* Makefile.in (INSTALL_XFORM): Remove -e.
1996-02-02 19:10:33 +00:00
Ian Lance Taylor
e24cf2b556 * write.c (write_relocs): Use S_IS_DEFINED and S_IS_COMMON rather
than comparing S_GET_SEGMENT to undefined_section.
	(write_object_file): Skip symbols which were equated to an
	undefined or common symbol.
	* symbols.c (resolve_symbol_value): Use S_IS_DEFINED and
	S_IS_COMMON rather than comparing S_GET_SEGMENT to
	undefined_section.
	(S_GET_VALUE): Likewise.  Avoid recursion problems if S_IS_DEFINED
	or S_IS_COMMON call S_GET_VALUE.
	* config/obj-aout.h (S_IS_COMMON): Define if not BFD_ASSEMBLER.
	* config/obj-aout.c (obj_emit_relocations): If a reloc is equated
	to an undefined or common symbol, convert the reloc to be against
	the target symbol.
	(obj_crawl_symbol_chain): Skip symbols which were equated to an
	undefined or common symbol.
	* config/obj-bout.h (S_IS_COMMON): Define if not BFD_ASSEMBLER.
	* config/obj-bout.c (obj_emit_relocations): If a reloc is equated
	to an undefined or common symbol, convert the reloc to be against
	the target symbol.
	(obj_crawl_symbol_chain): Skip symbols which were equated to an
	undefined or common symbol.
	* config/obj-coff.c (do_relocs_for): Use S_IS_DEFINED and
	S_IS_COMMON rather than comparing S_GET_SEGMENT to
	undefined_section.
	(yank_symbols): Skip symbols which were equated to an undefined or
	common symbol.
1996-02-02 17:46:05 +00:00
Ian Lance Taylor
9e396994aa * config/obj-aout.h (S_IS_LOCAL): Check for \002 as well as \001.
* config/obj-bout.h (S_IS_LOCAL): Likewise.
1996-02-01 21:24:15 +00:00
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