Commit graph

2035 commits

Author SHA1 Message Date
Joern Rennecke
6fdb746d44 bfd:
* coff-sh.c (sh_coff_howtos): Add R_SH_SWITCH8 entry.
        (get_symbol_value): Handle R_SH_SWITCH8.
        (sh_relax_delete_bytes): Likewise.

include:
        * coff/sh.h (R_SH_SWITCH8): New.

gas:
        * config/tc-sh.c (SWITCH_TABLE_CONS): Handle (fix)->fx_size == 1.
        (SWITCH_TABLE): Handle BFD_RELOC_8.
        (md_apply_fix): #ifndef BFD_ASSEMBLER code: Handle fixP->fx_size == 1.
        (coff_reloc_map): Add BFD_RELOC_8_PCREL entry.
        (sh_coff_reloc_mangle): SWITCH_TABLE case: Handle BFD_RELOC_8.
PR 14155
1997-12-01 20:45:03 +00:00
Nick Clifton
33cb4925be Brought devo up to date with the branch. 1997-11-22 22:29:08 +00:00
Ian Lance Taylor
8046e281ef Sat Nov 22 15:50:09 1997 Klaus Kaempf <kkaempf@progis.de>
* config-gas.com: Get version info from configure.in.
1997-11-22 21:04:47 +00:00
Ian Lance Taylor
db5bb86ef8 Sat Nov 22 15:50:09 1997 Klaus Kaempf <kkaempf@progis.de>
* makefile.vms: include depend.obj in OBJS.
1997-11-22 21:01:27 +00:00
Ian Lance Taylor
6dbf32687d Sat Nov 22 15:50:09 1997 Klaus Kaempf <kkaempf@progis.de>
* config/tc-alpha.c (s_alpha_section): Remove ".lcomm" handling.
1997-11-22 20:54:16 +00:00
Ian Lance Taylor
c699ff0403 Sat Nov 22 15:50:09 1997 Klaus Kaempf <kkaempf@progis.de>
* config/tc-alpha.c (alpha_basereg_clobbered): Remove variable and
	all corresponding code.
1997-11-22 20:52:29 +00:00
Nick Clifton
19bc147e85 Patch from Richard Earnshaw 1997-11-20 23:08:21 +00:00
Richard Henderson
04b26b0008 * sh-dis.c (print_insn_shx): Recognize all sh4 additions.
* sh-opc.h (fmov): Add @<REG_M>+,<DX_REG_N> variant for sh4.
        (ftrv): Slay the cut-and-paste monster.

        * tc-sh.c (parse_reg): Properly quote for fv4.

pr14044
1997-11-20 22:01:30 +00:00
Ian Lance Taylor
942f33aeb1 * symbols.c (resolve_symbol_value): Add missing breaks in case on
symbol value operator.
1997-11-20 04:47:43 +00:00
Ken Raeburn
35baf6dded vr5400 has interlocks 1997-11-19 07:25:47 +00:00
Joern Rennecke
fe00b2ed0f * include/opcode/d10v.h (OPERAND_FLAG): Split into:
(OPERAND_FFLAG, OPERAND_CFLAG) .
	* opcodes/d10v-opc.c (OPERAND_FLAG): Split into:
	(OPERAND_FFLAG, OPERAND_CFLAG) .
	(FSRC): Split into:
	(FFSRC, CFSRC).
	* gas/config/tc-d10v.c (parallel_ok, find_opcode):
	Split OPERAND_FLAG into OPERAND_FFLAG and OPERAND_CFLAG.
Fix for PR 13985.
1997-11-18 19:41:44 +00:00
Fred Fish
8d8693868c * config/obj-coff.c (fixup_segment): Cast second arg of
md_apply_fix3 call to type "valueT *".
1997-11-17 00:23:35 +00:00
Gavin Romig-Koch
9bb4d38497 * mips.h (struct mips_opcode): Changed comments to reflect new
field usage.
	* mips-opc.c: Move the INSN_MACRO ISA value to the membership
	field for all INSN_MACRO's.
	* mips16-opc.c: same
	* config/tc-mips.c (macro_build): Use the membership field
	for INSN_MACRO's.
	(mips_ip): Same.
1997-11-13 16:13:03 +00:00
Joern Rennecke
832ef2cca2 * config/tc-d10v.c (find_opcode): For OPCODE_FAKE, add check for
first argument if it's supposed to be a register.
PR 13952.
1997-11-13 02:19:13 +00:00
Gavin Romig-Koch
42444087ff config/tc-mips.c (mips_4900): Added.
(hilo_interlocks): Added mips_4900.
(md_begin): Set default for mips_4900.
(macro_build,mips_ip): Test for INSN_4900 if mips_4900.
(md_longopts): Add "m4900" and "no-m4900".
(md_parse_option): Handle above options.
1997-11-12 15:09:33 +00:00
Joern Rennecke
f2fafccac2 * app.c (do_scrub_chars): If d10v, re-insert a space before
a '#' when in state 10.
Fix for PR 13894.
1997-11-11 19:35:49 +00:00
Ian Lance Taylor
5de020b44e * config/tc-h8300.c: Include "subsegs.h".
(tc_reloc_mangle): Handle references to symbols which are not
	being output, so that references to `.' work.
PR 13915.
1997-11-11 18:35:20 +00:00
Ian Lance Taylor
77635763d6 * config/tc-m68k.c (m68k_ip): Call add_fix when needed for '_'
case.
PR 13886.
1997-11-10 19:15:45 +00:00
Ian Lance Taylor
f19d08dc40 * macro.c (sub_actual): If we don't find a parameter for an &,
just substitute &.
PR 13868.
1997-11-10 18:45:31 +00:00
Ken Raeburn
b3ed1af38c * config/tc-mips.c (mips_ip): Added cases for "e", "%", and "P" operand types.
(hilo_interlocks): VR5400 has interlocks.
(md_begin): Expect mips64vr5400, not mips64r5400.

* config/tc-mips.c (mips_ip): In default case, call as_bad instead of fprintf,
to get "assembler messages:" message output before instead of after.
1997-11-08 02:44:22 +00:00
Doug Evans
4afb407dae * frags.h: Handle multiple inclusion. 1997-11-07 18:37:06 +00:00
Doug Evans
070937ba64 Based on a patch from Ian.Dall@dsto.defence.gov.au.
* as.h (struct frag, frag support): Moved from here.
	* frags.h: To here.
	(struct frag, member tc_frag_data): New member if TC_FRAG_TYPE
	is defined.
	(struct frag, member fr_cgen): Renamed from fr_targ.cgen.
	* cgen.c (cgen_asm_finish_insn): Update.
	* config/tc-m32r.c (md_estimate_size_before_relax): Update.
	* config/tc-m32r.h (TC_FRAG_INIT): Renamed from md_init_frag.
	(md_convert_frag): Ditto.
	* config/tc-ns32k.h (TC_FRAG_TYPE): Define.
	(frag_opcode_frag,frag_opcode_offset,frag_bsr): Update.
	(TC_FRAG_INIT): Update.
1997-11-05 21:05:08 +00:00
Doug Evans
d57d82d7e5 * write.c (print_fixup): Use TC_FIX_DATA_PRINT (if defined) to
print out MD fields of fix.
	* frags.c (frag_var, frag_variant): Use TC_FRAG_INIT macro (if
 	defined) to initialize MD fields in frag.
	* as.h (struct frag, ns32k support): Rename ns32k to fr_ns32k.
	Delete pcrel_adjust.  Add fr_opcode_fragP, fr_opcode_offset.
	* config/tc-ns32k.h: Add comments. Remove obsolete
 	BFD_FAST_SECTION_FILL definition, change prototypes for
 	fix_new_ns32k and fix_new_ns32k_exp to add new arguments
 	opcode_frag and opcode_offset and remove pcrel_adjust.
	(TC_FIX_TYPE): add opcode_fragP and opcode_offset fields.
	(TC_FIX_DATA_PRINT): new macro to print out TC_FIX_TYPE.
	(TC_FRAG_INIT): new macro to initialize machine dependent field in
 	frags.
	(frag_opcode_frag, frag_opcode_offset, frag_bsr): macros to access
 	MD fields in frag structure.
	(fix_im_disp, fix_bit_fixP, fix_opcode_frag, fix_opcode_offset,
 	fix_bsr): macros to access MD fields in fix structure.
	* config/tc-ns32k.c: Avoid overlength lines. Align comments.  Don't
 	use struct opcode_location as these fields are now in the frag
	structure.
	(convert_iif): Call frag_more as it is needed instead
 	of trying to allocate for the whole insn. Avoid call of frag_more
 	with negative argument.
	(md_pcrel_adjust, md_fix_pcrel_adjust, md_apply_fix,
	md_estimate_size_before_relax, md_pcrel_from,
	tc_aout_fix_to_chars): use accessor macros to get md fields in fix
 	and frag structures.
	(fix_new_ns32k, fix_new_ns32k_exp): add new arguments opcode_frag and
	opcode_offset and remove pcrel_adjust.
	(convert_iif, cons_fix_new_ns32k): call fix_new_ns32k,
 	fix_new_ns32k_exp with changed arguments.
1997-11-05 00:45:23 +00:00
Gavin Romig-Koch
1724c79e75 * tc-mips.c (md_begin): Reorganize setting of default values so
that mips_cpu depends on TARGET_CPU, and mips_opts.isa depends on
	   mips_cpu.
	   (md_parse_option): Remove all code that sets defaults; md_begin
	   handles all of this now.
1997-11-03 19:32:42 +00:00
Ian Lance Taylor
0ac53ff04d * Makefile.am (STAGESTUFF): Change bin_PROGRAMS to
noinst_PROGRAMS.
	(bootstrap, bootstrap2, bootstrap3): Likewise.
	* Makefile.in: Rebuild.
1997-11-02 19:49:24 +00:00
Ken Raeburn
aa2e0460a0 * config/tc-mips.c (mips_5400): New variable.
(md_begin, md_parse_option): Handle 5400 options/names.
(macro_build, mips_ip): Check for 5400-specific instructions.
(md_longopts, OPTION_M5400, OPTION_NO_M5400): More command-line support for
5400.

* config/tc-mips.c (validate_mips_insn): New function, checks match versus mask
bits, and also verifies that all bits to be output are actually specified
somewhere.
(md_begin): Call it for 32-bit instructions, instead of doing match/mask check
here.  In case of failure, print a message, but check the rest of the opcode
table before exiting.
1997-10-31 23:21:44 +00:00
Nick Clifton
6e3fcdf01c Fixes to Thumb ADR pseudo op from Tony Thompson at ARM (athompso@arm.com). 1997-10-30 21:44:05 +00:00
Michael Meissner
42cf65557e Allow odd registers for ld2w and friends 1997-10-30 16:12:36 +00:00
Gavin Romig-Koch
4ebda395f1 * config/tc-mips.c (hilo_interlocks): True for tx49.
(md_begin): Add mips64tx49.
	(md_parse_option): Add 4900 cpu.

	* gas/mips/mips.exp: Add tx49 configury.
1997-10-29 21:40:09 +00:00
Ian Lance Taylor
e59390a7eb * config/tc-ppc.c (md_assemble): When handling @l, always sign
extend if the operand expects a signed value.
PR 13667.
1997-10-24 21:29:10 +00:00
Ian Lance Taylor
c14d0cc015 * config/tc-mips.h (LOCAL_LABELS_DOLLAR): Don't define; use
default which is to permit dollar labels.
PR 13645.
1997-10-24 20:03:16 +00:00
Richard Henderson
1bb6aaad34 Fri Oct 24 11:19:22 1997 Jakub Jelinek <jj@sunsite.mff.cuni.cz>
* config/tc-sparc.c (sparc_memory_model): New variable.
        (md_longopts): Add -TSO/-PSO/-RMO options.
        (md_parse_options): Handle them.
        (sparc_elf_final_processing): For 64 ELF, set required
        memory ordering in e_flags. Default to RMO and let the user
        override it through command line.

        * config/tc-sparc.h (elf_tc_final_processing): Add.
1997-10-24 18:20:36 +00:00
Richard Henderson
1277cdda1c * config/tc-sparc.c (v9a_asr_table): New variable.
(sparc_ip): Handle v9a asr's.
        Patch from David Miller <davem@vger.rutgers.edu>.
1997-10-23 00:40:25 +00:00
Richard Henderson
7532235c09 * config/tc-sparc.h (md_do_align): New macro.
* config/tc-sparc.c (sparc_handle_align): Handle rs_align_code.
        Patch from Jakub Jelinek <jj@sunsite.mff.cuni.cz>.
1997-10-23 00:22:51 +00:00
Ian Lance Taylor
82b4217bfd * config/tc-sh.c (sh_small): New variable.
(OPTION_SMALL): Define.
	(md_longopts): Add "small".
	(md_parse_option): Handle OPTION_SMALL.
	(md_show_usage): Mention -small.
	* config/tc-sh.h (sh_small): Declare.
	(SUB_SEGMENT_ALIGN): Handle sh_small.
	* config/obj-coff.h (TARGET_FORMAT): Check sh_small in TC_SH
	case.
PR 13580.
1997-10-22 20:13:54 +00:00
Ian Lance Taylor
517640d9b5 * config/tc-mips.c (macro): Correct handling of constant in M_LI_D
case in little endian mode.
1997-10-22 16:52:46 +00:00
Doug Evans
61a60a8a70 * config/tc-sparc.c (md_apply_fix3, cases ..._H44, ..._HIX22): Leave
overflow signalling to linker.
1997-10-21 17:23:12 +00:00
Doug Evans
70ee778220 * configure.in (sparc64): Set arch to v9-64.
* configure: Regenerated.
1997-10-20 20:02:28 +00:00
Ian Lance Taylor
9659c18b39 Various fixes for openvms/alpha. 1997-10-20 19:43:05 +00:00
Ian Lance Taylor
71e0e8f9e8 Mon Oct 20 14:54:06 1997 Klaus K"ampf <kkaempf@progis.de>
* config/obj-evax.c: support .weak pseudo-op
1997-10-20 18:56:21 +00:00
Doug Evans
595da85d72 * tc-sparc.c (default_arch_size): New static local.
(struct sparc_arch): Rename arch_size to default_arch_size.
	New member user_option_p.
	(sparc_arch_table): Always include v9, v9a.  New entry v9-64.
	(init_default_arch): Check whether default arch is valid.
	Set default_arch_size in addition to sparc_arch_size.
	(OPTION_32,OPTION_64): Define.
	(md_longopts): New entries for -32, -64.
	(md_parse_option): Handle them.
	(md_show_usage): Print them.  Ensure init_default_arch called.
1997-10-20 17:23:10 +00:00
Ian Lance Taylor
66a6a38139 * write.c (subsegs_finish): New function, broken out of
write_object_file.
	(write_object_file): Some code moves into subsegs_finish.
	* write.c (subsegs_finish): Declare.
	* as.c (main): Call subsegs_finish.
Fixes last frag when generating a listing for a file with an error.
1997-10-19 18:14:01 +00:00
Ian Lance Taylor
891a158431 * read.c (s_include): Check for error return from
demand_copy_string.
PR 13566.
1997-10-19 17:51:31 +00:00
Richard Henderson
08ce71f5c4 * read.c (get_line_sb): Accept any eol marker while scanning macros. 1997-10-15 03:56:30 +00:00
Richard Henderson
10b8f7f036 * config/tc-alpha.h (DIFF_EXPR_OK): Define.
* config/tc-i386.h (DIFF_EXPR_OK): Define.
        * config/tc-alpha.c (md_apply_fix): Notice fx_pcrel and substitute
        the correct relocation when it exists.
        * config/tc-i386.c (md_apply_fix3): Likewise.
        * config/tc-ppc.h: Correct typo in comment.
        * config/tc-v850.h: Likewise.
1997-10-15 02:17:00 +00:00
Andrew Cagney
a0a5f4e2bd Allow assembler to make parallel instructions where there the seconds
(latter) outputs intersect with the first (earlier) inputs.
1997-10-13 23:17:22 +00:00
Richard Henderson
856f843eef * ecoff.c (PAGE_SIZE): Double to 8k as a hack to allow some C++
templated programs to build with -g.
1997-10-13 22:28:35 +00:00
Nick Clifton
c280609300 Jim fixed the fixups for conditional and unconditional branches.
Added code to support the bss and common sections in thr ZDA and SDA areas.
1997-10-11 00:55:57 +00:00
David Edelsohn
e01e18a8b3 * configure.in (sparc): Set DEFAULT_ARCH from correct target.
* configure: Regenerated.
1997-10-10 22:02:59 +00:00
Martin Hunt
b83565def8 Fri Oct 10 11:22:45 1997 Martin M. Hunt <hunt@cygnus.com>
* config/tc-d10v.c: Fixes to make sure the AT_WORD
	expression is not confused with -1.
1997-10-10 18:22:59 +00:00