Commit graph

1542 commits

Author SHA1 Message Date
Nick Clifton
633f501677 Apply patches from PRs 16299, 17008 and 17140 1998-10-08 17:55:58 +00:00
Nick Clifton
726a394601 Ooops - failed to check in first part of patch for PR 17438 1998-10-08 17:19:55 +00:00
Nick Clifton
644a26542c Fix for PR 16299: Do not assume that bad relocations always have an associated symbol. 1998-10-07 21:10:16 +00:00
Jeff Law
e963374a58 * tc-hppa.c (fp_operand_format): Add some additional formats.
(pa_ip): Do not automatically promote into pa2.0 mode.
        (pa_level): Handle ".level 2.0".
start-sanitize-cygnus
        (struct pa_it): New field "trunc".
        (pa_parse_fp_cnv_format): New function.
        (pa_parse_ftest_gfx_completer): New function.
        (pa_ip): Handle various new letters for PA2.0 support.
end-sanitize-cygnus
1998-10-05 06:52:58 +00:00
Nick Clifton
b481c113bb Fix PR 17042 - Do not attempt to resolve offsets to symbols in other sections
at assembly time.
1998-09-30 18:12:57 +00:00
Nick Clifton
a173c5db00 Fic PR 17045: Do not allow insns in R bin if L bin contains a branch. 1998-09-24 16:31:20 +00:00
Nick Clifton
21056c79a4 PR 17438 - fix parsing of MVTSYS and MVFSYS insns. 1998-09-23 17:56:40 +00:00
Nick Clifton
973e995d34 Fix PR 16898 - Implement EITHER_BUT_PREFER_MU execution class
Fix PR 17135 - Prefer register names over symbol names, except when registers
		are unacceptable.
1998-09-23 01:11:23 +00:00
Nick Clifton
aa7bf2a890 Fix PR 17135 (whilst keeping PR14827 fixed) by prefering register names over
symbolic names, except where the register name is unacceptable.
1998-09-22 22:48:42 +00:00
Doug Evans
3c62de83cd update tc-dvp.c with sky-980617-branch 1998-09-21 20:27:28 +00:00
Nick Clifton
e8dedcb3fe Fix PR 17105 - reset previous insn to empty after emitting NOPs. 1998-09-21 17:44:48 +00:00
Catherine Moore
61b113a94e * config/obj-elf.c (obj_elf_vtable_inherit): Handle arm
assembler syntax.
(obj_elf_vtable_entry):  Likewise.
* config/tc-arm.h:  Define TC_FORCE_RELOCATION for OBJ_ELF.
* config/tc-arm.c (md_apply_fix3): Handle VTABLE relocations.
(tc_gen_reloc): Likewise.
(arm_fix_adjustable): Likewise.
(elf32_arm_force_relocation): New.
(armelf_frob_symbol):  Remove coff-style symbol support.
Remove armelf sanitization.
1998-09-15 14:47:51 +00:00
Catherine Moore
d22136dc8c Tue Sep 8 18:10:01 1998 Catherine Moore <clm@cygnus.com>
* config/tc-arm.c (arm_adjust_symtab):  Move #ifdef
        OBJ_COFF so that routine is defined for a.out format.
1998-09-08 23:20:30 +00:00
Richard Henderson
de1d28b669 * config/tc-i386.c (i386_operand): Detect non-segment registers
used as segment prefixes.
1998-09-08 22:57:36 +00:00
Nick Clifton
a03925a2fc Fixed generation of thumb function symbols. 1998-09-05 02:58:46 +00:00
Richard Henderson
b90891398c * config/tc-sparc.c (sparc_ip): Allow all digits in an instruction
to handle edge8 and edge16.
1998-09-02 18:30:59 +00:00
Richard Henderson
11e07ad09a * config/obj-elf.c (obj_elf_vtable_inherit): Print error message
before we clobber the symbol involved.
1998-08-31 16:52:18 +00:00
Catherine Moore
cdb3d5f902 * config/tc-arm.c: Remove OBJ_ELF definitions for
S_GET_STORAGE_CLASS and S_SET_STORAGE_CLASS.  Only
        use arm_adjust_symtab for OBJ_COFF.
        (armelf_adjust_symtab):  New Routine.
        * config/tc-arm.h:  Define obj_adjust_symtab to
        armelf_adjust_symtab for OBJ_ELF.
1998-08-31 16:06:30 +00:00
Richard Henderson
a1624e3f1b * configure.in: Make all i386-elf targets use bfd_gas.
* config/tc-i386.c (tc_i386_force_relocation): New.
        (tc_i386_fix_adjustable): Don't fix vtable relocs.
        (md_apply_fix3): Likewise.
        (tc_gen_reloc): Handle them.
        * config/tc-i386.h (TC_FORCE_RELOCATION): Always define, calling
        tc_i386_force_relocation.
1998-08-30 05:23:16 +00:00
Nick Clifton
080a50b635 Improve formatting of --help output 1998-08-24 20:41:35 +00:00
Ian Lance Taylor
61c49d6652 Thu Aug 20 23:17:04 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* config/tc-i386.c (md_assemble): Only warn for address/data size
	prefixes.
1998-08-21 03:18:04 +00:00
Ian Lance Taylor
6e60709bd3 rework last patch 1998-08-20 21:58:15 +00:00
Nick Clifton
e93a31e414 do not adjust relocations against thumb function names as the linker needs
this information.
1998-08-20 21:47:17 +00:00
Ian Lance Taylor
af98e836ec check for mentions of sanitized files 1998-08-20 21:16:39 +00:00
Catherine Moore
38a29f0275 Add sanitization markers. 1998-08-19 16:40:22 +00:00
Catherine Moore
aae39e3784 tc-arm.h: Define obj_fix_adjustable for OBJ_ELF.
tc-arm.c (arm_fix_adjustable): New routine.
1998-08-18 17:03:48 +00:00
Ian Lance Taylor
6b34ac5a5c * config/tc-mips.c (macro): Correct M_SGE_I/M_SGEUI_I case for a
small immediate constant to use the constant itself rather than
	always using 1.
1998-08-13 19:09:25 +00:00
Nick Clifton
80522b7d5b Document .req directive
Improve error message when unrecognised register name is encountered.
1998-08-12 17:32:39 +00:00
Ken Raeburn
3d759c53c9 sanitize-vr5400 -> sanitize-cygnus, for 98r2 1998-08-12 10:50:35 +00:00
Richard Henderson
a582ac33a3 * config/tc-alpha.c (alpha_fix_adjustable): Don't adjust weak syms. 1998-08-08 22:23:44 +00:00
Nick Clifton
41129369a6 Set BFD private flags based on command line switches. 1998-08-05 22:55:12 +00:00
Catherine Moore
35fa3babe2 add armelf. 1998-08-02 17:30:11 +00:00
Richard Henderson
edc27ea5da * as.h (debug_info_type): Add entries for unspecified and dwarf*.
* ecoff.c (ecoff_generate_asm_lineno): Take no arguments; call
        as_where ourselves.  Provide a stub for !ECOFF_DEBUGGING.
        * ecoff.h: Move ECOFF_DEBUGGING protection inside GAS_ECOFF_H.
        Move ecoff_generate_asm_lineno outside ECOFF_DEBUGGING protection.
        * read.c (generate_lineno_debug): Tidy ECOFF bits.  Use
        DEBUG_UNSPECIFIED rather than DEBUG_NONE for initial test.
        * config/obj-elf.h (ECOFF_DEBUGGING) [TC_ALPHA]: Define to a variable.
        (SEPARATE_STAB_SECTIONS): Conditionalize on value of ECOFF_DEBUGGING.
        (INIT_STAB_SECTION): Likewise.
        (OBJ_PROCESS_STAB): Likewise.

        * config/tc-alpha.c (md_longopts): New options -mdebug/-no-mdebug.
        (md_parse_option): Watch for them.
        (alpha_cur_ent_sym, alpha_flag_mdebug): New variables.
        (md_begin): Kill neverdef code.
        (s_alpha_ent, s_alpha_end, s_alpha_mask, s_alpha_frame): New.
        (s_alpha_prologue): Watch alpha_cur_ent_sym.
        (s_alpha_coff_wrapper): New.
        (md_pseudo_table): Trap all ECOFF pseudos.
1998-08-02 02:39:52 +00:00
Ron Unrau
4f528afaf1 Start of changes to remove mdebug section from mips*-elf
Based on MIPS_STAB_ELF definition
        * acconfig.h: undef if not configured
        * config.in: undef if not configured
        * config/mips-elf.h: only set ECOFF debugging if not stabs-in-elf
        * config/tc-mips.c (s_ent): set BSF_FUNCTION
        * stabs.c (s_stab_generic): flush frag
1998-07-31 21:56:15 +00:00
Catherine Moore
1667e4c2e0 * config/tc-arm.h: Add definitions for OBJ_ELF. 1998-07-31 21:44:56 +00:00
Catherine Moore
0a8aeb55e4 * configure.in: (arm-*-elf): Handle.
(thumb-*-elf): Handle.
        * configure:  Regenerate.
        * read.c (stringer): Fix typo in comment.
        * write.c (fixup_segment): Don't add symbol value to addend if
        TC_ARM and OBJ_ELF.
        * config/tc-arm.c (md_section_align):  Don't align dwarf debug
        sections.
        (tc_gen_reloc):  Always set the reloc addend to fixp->fx_offset
        for OBJ_ELF.
1998-07-31 21:15:51 +00:00
Frank Ch. Eigler
e21cafde4e * Fix for PR 16389, brought over from d30v branch.
Thu Jul 30 21:38:43 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* config/tc-d30v.c ({cur,prev}_left_kills_right_p): New variables.
	(write_2_short): Emit warning if new flag is set.
	(do_assemble): Set flags if left instruction is one of special
	"right-instruction-killer" type.
1998-07-30 19:41:18 +00:00
Jeff Law
711eeac0eb * config/tc-mn10300.c (md_assemble): Fix "errmsg" initialization
to work with internationalization code.  Issue an error when two
        operands match that are not allowed to match.
1998-07-28 17:03:05 +00:00
Ian Lance Taylor
cc88a10633 remove d30v sanitization 1998-07-24 03:39:19 +00:00
Jeff Law
41e9f56c74 * config/tc-mn10300.c (md_assemble): Make sure "errmsg" has a non-NULL
value.
1998-07-23 19:20:47 +00:00
Frank Ch. Eigler
e4d7741205 * Bringing over sky (dvp) gas change from branch.
Wed Jul 22 17:39:28 1998  Frank Ch. Eigler  <fche@cygnus.com>
        * config/tc-dvp.c (parse_float): Accept 0xhex constants
        also for VU LOI operand.
1998-07-22 18:38:27 +00:00
Nick Clifton
99bf7e37cc Changed format of help message 1998-07-17 18:44:05 +00:00
Ian Lance Taylor
4a07363fae Tue Jul 14 12:33:44 1998 Chris Torek <torek@bsdi.com>
* config/tc-sparc.c (log2): New static function.
	(s_reserve): Use log2 to convert alignment before calling
	record_alignment.
	(s_common): Use log2 to convert alignment before calling
	record_alignment and frag_align.
	(sparc_cons_align): Use log2.
1998-07-14 16:44:28 +00:00
Ian Lance Taylor
04a92367bc * config/tc-sparc.c (sparc_handle_align): Reindent a bit. Correct
initialization of waddr.
	(sparc_elf_final_processing): Add default case to switch.
1998-07-14 15:59:28 +00:00
Nick Clifton
0c407dd6dd Changed format of help output 1998-07-10 23:01:30 +00:00
Ian Lance Taylor
5819d6324a Tue Jul 7 13:00:37 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* config/tc-i386.c (i386_operand): Don't set the size of an
 	immediate address based solely on the suffix and the mode.

	* config/tc-i386.c (md_assemble): Add assertion to make sure
	overlap2 does not set Imm.
1998-07-07 17:20:59 +00:00
Ian Lance Taylor
4edc93e913 Tue Jul 7 13:00:37 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* config/tc-i386.c (space_chars): Remove. The scrubber converts
	sequences of whitespace to a single space.
	(is_space_chars): Just compare with space.
	(md_begin): Don't initialize space_chars.
	(md_assemble): Just skip a single whitespace character.
	(i386_operand): Rewrite base-index parsing to use new
	parse_register, and to skip white space.  Skip white space in a
	number of other places too.  Don't give error message if
	parse_register fails.
	(parse_register): Change reg_string parameter to be non-const.
	Add end_op parameter.  Skip white space after the `%', and return
	end of register string.  Give error message here rather than
	caller.
1998-07-07 17:09:55 +00:00
Ian Lance Taylor
8e6950e33b Thu Jul 2 14:06:22 1998 Klaus Kaempf <kkaempf@rmi.de>
* obj-vms.c: Add C++ support with ctors/dtors sections.  Add weak
	symbol definitions.
	(Ctors_Symbols, Dtors_Symbols): New symbol chains.
	(ps_CTORS, ps_DTORS): New section types.
	(vms_fixup_xtors_section): New function
	(Ctors_Psect, Dtors_Psect): Define.
	(IS_GXX_XTOR): Define
	(global_symbol_directory): Change check of gxx_bug_fixed to 0.
	Filter static constructors/destructors and add to
	Ctors_Symbols/Dtors_Symbols chain.
	(vms_write_object_file): Write Ctors_Symbols/Dtors_Symbols to
	appropriate section.

        * tc-alpha.h (TARGET_FORMAT): Rename "evax-alpha" to "vms-alpha".
	* makefile.vms: Merge vax/vms support.
1998-07-02 18:55:33 +00:00
Richard Henderson
7e6566495b * config/obj-elf.c (obj_elf_vtable_inherit, obj_elf_vtable_entry): New.
(elf_pseudo_table): Add them.
        * config/tc-mips.c (mips_force_relocation): Force vtable relocs.
        (md_apply_fix): Accept them.
        (mips_fix_adjustable): Don't adjust them.
        (tc_gen_reloc): Mung BFD_RELOC_VTABLE_ENTRY for Rel.
        * config/tc-ppc.c (md_apply_fix3): Accept vtable relocs.
        * config/tc-ppc.h (TC_FORCE_RELOCATION_SECTION): Force vtable relocs.
        (tc_fix_adjustable): Don't adjust them.
1998-07-02 05:34:36 +00:00
Joern Rennecke
d1a7caf901 I found that the relax failure for execute/930628-1.c is due to gas
incorrectly relaxing an out-of-range conditional branch with delay slot.
It turned:
                        bf.s    L6              (slot mov.l   r12,@(44,r0))
into:

   2c:  8f 01 a0 8b     bf.s    32 <_main+32>   (slot bra       L6)
   30:  00 09           nop
   32:  10 cb           mov.l   r12,@(44,r0)

	* config/tc-sh (COND_JUMP_DELAY, COND12_DELAY_LENGTH): Define.
	Changed all users of COND12_DELAY.
1998-07-01 20:42:42 +00:00