Commit Graph

812 Commits

Author SHA1 Message Date
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
Michael Meissner 2c4747540f add -mrelocatable-lib, -memb support 1995-09-21 20:23:15 +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
Ken Raeburn 0afed96a34 in verbose mode add newline after files are processed 1995-09-18 16:28:11 +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 d57bf0e0de vms updates 1995-09-15 21:41:56 +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
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
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
David Edelsohn 593d18d36c * config/tc-sparc.c (sparc_ip): Clean up ASI support. 1995-08-29 22:48:54 +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
Ken Raeburn 53499500e0 vms changes 1995-08-22 07:06:13 +00:00
Ian Lance Taylor 4026c1222f * read.c (read_a_source_file): In MRI mode, don't end the
statement inside a quotation.
	(s_space): Don't warn about a zero repeat count in MRI mode.
	* config/tc-m68k.c (crack_operand): In MRI mode, don't count
	parentheses inside quotes.
	(md_assemble): In MRI mode, anything after the operands field is a
	comment.
	(parse_mri_control_operand): Adjust start and stop to remove
	spaces.
	(s_mri_for): Likewise.
1995-08-21 21:05:06 +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
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
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 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
Ian Lance Taylor 9bef2324a2 * config/tc-m68k.c (s_opt): Reset *input_line_pointer even if we
don't do anything with the option.
1995-08-14 19:50:12 +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
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 e120d9fbcd * write.c (adjust_reloc_syms): Check that symbol is not NULL
before checking sy_mri_common.
	(fixup_segment): Likewise.
	* config/obj-coff.c (fixup_segment): Likewise.
1995-08-09 19:34:00 +00:00
Ian Lance Taylor 27a53b88d7 * config/tc-m68k.c (m68k_float_copnum): New static variable.
(md_pseudo_table): Add fopt and mask2.
	(m68k_ip): Use m68k_float_copnum, not COPNUM, when setting
	coprocessor register to use.  In case 'I' when checking operands,
	correct coprocessor register numbers.  In case 'I' when setting
	operands, don't add 1.
	(s_fopt): New static function.
	* config/m68k-parse.h (COPNUM): Don't define.
1995-08-09 19:32:49 +00:00
Ken Raeburn bdc82d8103 yet more vms work from pat rankin 1995-08-09 01:39:47 +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 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 064ba683c9 * config/tc-m68k.c (init_table): Add "control", "status", "iaddr",
"sfcr", and "dfcr" as synonyms for existing entries.
	(md_begin): In MRI mode, force flag_reg_prefix_optional to 1.
	(md_parse_option): Removed unused locals i and arch.  Change type
	of arch (another one) to unsigned long.
	(tc_coff_sizemachdep): Add return after abort to avoid warning.
1995-08-01 22:02:07 +00:00
Ken Raeburn ac24997f36 yet more vms work 1995-08-01 01:41:53 +00:00
Ken Raeburn 5700b874e4 more vms changes 1995-07-28 00:45:53 +00:00
Ken Raeburn 0b41507734 more vms work from pat 1995-07-25 00:31:20 +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
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
Ken Raeburn 4596bc7a86 vms fixes from pat rankin 1995-07-18 21:50:24 +00:00
David Edelsohn 2356dab3bc * config/tc-arc.c (byte_order): Provide explicit initial value. 1995-07-14 17:31:30 +00:00
Ian Lance Taylor e532b44c23 Tue Jul 11 14:28:55 1995 Jeff Spiegel <jeffs@lsil.com>
* config/tc-mips.c (mips_4010): New static variable.
	(interlocks): New static variable.
	(md_begin): Check for a cpu of "r4010".  Set mips_4010 correctly.
	If mips_4650 or mips_4010, set interlocks.
	(append_insn): Check interlocks, not mips_4650.
	(mips_emit_delays): Likewise.
	(mips_ip): Only permit INSN_4010 instructions if mips_4010.
	(md_longopts): Add "m4010" and "no-m4010".
	(md_parse_option): Accept -mcpu=r4010.  Handle -m4010 and
	-no-m4010.
	(md_show_usage): Document -m4010 and -no-m4010.
1995-07-11 18:30:25 +00:00
Ian Lance Taylor 6be977fb57 * app.c (do_scrub_next_char): Always accept \v. Don't make it
conditional on BACKSLASH_V.
	* read.c (next_char_of_string): Likewise.
	* config/obj-bout.h (BACKSLASH_V): Don't define.
	* config/tc-mips.h (BACKSLASH_V): Don't define.
PR 5604.
1995-07-07 20:10:27 +00:00
Ian Lance Taylor 5767cfb748 Add SPARC ELF PIC support.
* write.c (fixup_segment): Pass fixP to TC_RELOC_RTSYM_LOC_FIXUP,
	not fixP->fx_r_type.
	* config/tc-sparc.c (sparc_pic_code): New global variable.
	(md_apply_fix): If generating PIC, adjust fx_addnumber for any non
	PC relative reloc.
	(tc_gen_reloc): If generating PIC, adjust various reloc types.
	Remove fx_pcrel assert, since it is no longer true.
	(md_parse_option): Handle -K PIC.
	* config/tc-sparc.h (sparc_pic_code): Declare if OBJ_ELF.
	(TC_RELOC_RTSYM_LOC_FIXUP): Define if OBJ_ELF.
	(tc_fix_adjustable): Don't adjust PC relative relocs if PIC.
	* config/tc-i386.h (TC_RELOC_RTSYM_LOC_FIXUP): Take a fixp, not a
	reloc type.
PR 7131.
1995-07-07 17:03:21 +00:00
Ken Raeburn a2a5a4fa41 fsf address update 1995-07-06 21:18:08 +00:00