Commit graph

2817 commits

Author SHA1 Message Date
Jeff Law
3723a1a9f1 * config/tc-v850.h (tc_fix_adjustable): Don't adjust TDA relocs.
Fixing more tda stuff.
1996-10-24 20:32:36 +00:00
Ian Lance Taylor
20fbbb592b * config/tc-ppc.c (md_apply_fix3): Give a better warning message
for an unknown relocation type.
PR 10944.
1996-10-23 22:28:21 +00:00
Jeff Law
7e96935e77 * config/tc-v850.c (md_pseudo_table): Add .word; allocates
4 bytes of space.
Something off the todo list.
1996-10-23 22:23:38 +00:00
Jeff Law
8ea15b863f * config/tc-v850.c (md_assemble): Handle TDAOFF relocs
differently for movea & sst/sld insns.
Working on tda for the v850.
1996-10-23 04:06:04 +00:00
Michael Meissner
39176dfe06 Do not allow IU,IU or MU,MU, or both instructions to be parallelized with -O 1996-10-22 21:14:47 +00:00
Ian Lance Taylor
87dd0a9336 * obj.h (struct format_ops): Add frob_file_after_relocs field.
* config/obj-multi.h (obj_frob_file_after_relocs): Define.
	* config/obj-ecoff.c (ecoff_format_ops): Initialize new
	frob_file_after_relocs field.
	* config/obj-elf.c (elf_format_ops): Likewise.
	* config/tc-mips.c: Undefine obj_frob_file_after_relocs before
	including obj-elf.h.
1996-10-22 15:31:03 +00:00
Ian Lance Taylor
bf39474f15 * config/tc-mips.c (cons_fix_new_mips): Only treat 8 byte reloc
specially if not ELF.
	(md_apply_fix): Handle BFD_RELOC_64.
	(tc_gen_reloc): Handle BFD_RELOC_64.
1996-10-22 00:01:33 +00:00
Ian Lance Taylor
3030e86478 * config/tc-i386.c (md_apply_fix3): Don't increment value for a PC
relative reloc when BFD_ASSEMBLER and OBJ_AOUT (more ugly gas
 	reloc hacking).
1996-10-21 15:51:15 +00:00
Ian Lance Taylor
d12d1f6ce4 * config/obj-aout.h (S_IS_DEFINE): non BFD_ASSEMBLER version:
Don't check S_GET_OTHER.
1996-10-21 15:39:17 +00:00
Ian Lance Taylor
538034cfb5 * config/tc-mips.c (mips_ip): Accept an odd floating point
register with l.s or s.s.
1996-10-18 19:33:03 +00:00
Ian Lance Taylor
b70795e990 * config/obj-aout.c (obj_pseudo_table): Use obj_aout_type for
.type pseudo-op.
	(obj_aout_type): New static function.
1996-10-18 18:07:55 +00:00
Ian Lance Taylor
b9d55d9634 * Makefile.in ($(OBJS)): Depend upon libiberty.h. 1996-10-17 22:00:04 +00:00
Jeff Law
548ddc7174 * config/tc-v850.c (v850_reloc_prefix): Recognize zdaoff, tdaoff
and sdaoff expressions.
1996-10-17 04:48:07 +00:00
Jeff Law
148b365e90 * gas/v850/reloc.s: New tests.
* gas/v850/basic.exp: Run them.
1996-10-17 04:41:24 +00:00
Jeff Law
0f8e50bb76 * write.c (fixup_segment): Don't add symbol value to addend if
TC_V850 and OBJ_ELF.
        * config/tc-v850.h (tc_fix_adjustable): Don't adjust any
        pc-relative fixups.
Fixing more failures in the g++ testsuite.
1996-10-16 17:32:39 +00:00
Jeff Law
f964b01d90 * config/tc-v850.c (md_pcrel_from): Delete unused function.
(md_pcrel_from_section): New function.
        * config/tc-v850.h (MD_PCREL_FROM_SECTION): Define.
So we don't screw up pc-relative jumps/calls from one section
into another section within the same .o file.

Fixes global ctors/dtors to work with DECL_ONE_ONLY stuff.
1996-10-16 06:21:23 +00:00
Ian Lance Taylor
0267c6c9c2 * config/tc-mips.c (load_register): Add cast to offsetT when using
a constant with &~.
1996-10-14 18:00:19 +00:00
Ian Lance Taylor
f5587846ed * gas/mips: Add symbols to several testsuites, since the ELF
assembler now always builds a symbol table, which means that
	objdump will no longer report `No symbols in FILE'.  Change the
	expected output accordingly.
1996-10-14 17:54:49 +00:00
Ian Lance Taylor
5d0cd0b87e Mon Oct 14 11:24:28 1996 Richard Henderson <rth@tamu.edu>
* config/obj-elf.c (elf_frob_file): Move ECOFF debug processing to ...
	(elf_frob_file_after_relocs): ... here.  New function.
	* config/obj-elf.h (obj_from_file_after_relocs): New macro.
	* write.c (write_object_file): Call *frob_after_relocs after the
	call to write_relocs.

	* config/tc-alpha.c: Use new BFD_RELOC_ALPHA_ELF_LITERAL reloc.

	* config/tc-alpha.c (load_expression): Don't SET_VALUE on the section
	symbol, as this messes up linking.  Instead, expand the recursive call
	inline and change up the appropriate bits to get the 0x8000 offset
	in the reloc addend.
1996-10-14 15:40:15 +00:00
Ian Lance Taylor
1491f2eaee * config/tc-sparc.h (tc_fix_adjustable): Permit the difference of
two symbols in the same segment to be adjusted.
1996-10-10 22:34:06 +00:00
Jeff Law
301ee34af4 * gas/mn10300/basic.exp: Check bit patterns for instructions
with a single 8bit or 16bit immediate operand.
We should correctly assemble just about everything except opcodes with:

  multiple immediate operands,
  3 register operands,
  really weird stuff
1996-10-10 22:05:54 +00:00
Jeff Law
3ab9337b4b * config/mn10300.c (md_assemble): Pass an extra shift count
to mn10300_insert_operand based on the opcode format.
        (mn10300_insert_operand): Accept and use extra shift count
        parameter.
Matsushita
1996-10-10 22:03:16 +00:00
Ian Lance Taylor
914f899869 * configure.in: Don't get confused by CPU-VENDOR-linux-gnu.
* configure: Rebuild.
1996-10-10 21:31:27 +00:00
Michael Meissner
f8a011cfa5 Turn most warnings into errors 1996-10-10 21:26:59 +00:00
Jeff Law
778c521b85 * config/tc-mn10300.c (md_assemble): Use FMT_* macros for
formats rather than hard-coded constants.
Minor cleanup.
1996-10-10 20:33:47 +00:00
Jeff Law
d9f4450770 * gas/mn10300/basic.exp: Check bit patterns for many
instructions.  Add missing test in do_mov1.
        * gas/mn10300/mov1.s: Add missing test.
We should now assemble just about anything without any
immediate operands.
1996-10-10 19:13:48 +00:00
Jeff Law
1c3ae169f7 * config/tc-mn10300.c (md_assemble): Format D5 instructions
are 7 bytes long.  Write out instructions in big-endian format.

Matsushita.
1996-10-10 18:07:37 +00:00
Jeff Law
c3fa8cd69c * gas/mn10300/{add.s, bcc.s, bit.s, cmp.s, ext.s}: New tests.
* gas/mn10300/{extend.s logical.s, loop.s, mov1.s}: Likewise.
        * gas/mn10300/{mov2.s, mov3.s, mov4.s, movbu.s}: Likewise.
        * gas/mn10300/{movhu.s, movm.s, muldiv.s, other.s}: Likewise.
        * gas/mn10300/{shift.s, sub.s}: Likewise.
        * gas/mn10300/basic.exp: Run them.
Beginnings of gas testsuite for mn10300.  Matsushita.
1996-10-09 20:19:00 +00:00
Jeff Law
a6be605a1a * config/tc-mn10300.h (md_assemble): Tweak further so
that all instructions are parsed correctly.
1996-10-08 20:59:28 +00:00
Ian Lance Taylor
5e1e8f23cf * as.h: Include libiberty.h.
(xmalloc, xrealloc): Don't declare.
	* as.c: Don't include libiberty.h.
	* expr.c, read.c, stabs.c, config/obj-coff.c: Likewise.
	* config/tc-mips.c: Likewise.
	* messages.c: Likewise.
	(xstrerror): Don't declare.
	* xmalloc.c: Remove.
1996-10-08 17:15:20 +00:00
Jeff Law
1217102f2c * config/tc-mn10300.h (pre_defined_registers) Remove.
(system_registers, cc_names): Likewise.
        (address_registers, data_registers, other_registers): New register
        arrays.
        (register_name, system_register_name, cc_name): Remove.
        (mn10300_reloc_prefix): Likewise.
        (data_register_name): New function.
        (address_register_name, other_register_name): Likewise.
        (md_assemble): Rough cut at parsing operands.  Remove lots of
        unwanted code.
        (md_apply_fix3): Disable for now.
Checkpointing today's Matsushita work.
1996-10-07 22:59:04 +00:00
Jeff Law
7d6669623a Dummy .Sanitize files. Should also fix snapshot problems. 1996-10-07 22:55:13 +00:00
Ian Lance Taylor
99e3ccb64c Mon Oct 7 11:38:34 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* config/tc-m68k.c (select_control_regs): New function, extracted
	out of m68k_init_after_args.
	(m68k_init_after_args): Use it.
	(mri_chip): Use it here as well to update set of allowed control
	regs for movec.
1996-10-07 15:40:59 +00:00
Ian Lance Taylor
0bd28bc4f4 * config/obj-elf.c (elf_begin): New function.
(obj_elf_section): Add the section symbol to the symbol table.
	* config/obj-elf.h (obj_begin): Define.
	(elf_begin): Declare.
	* as.c (perform_an_assembly_pass): Call obj_begin if it is
	defined.
1996-10-07 15:25:58 +00:00
Ian Lance Taylor
eb0dafdc04 * config/obj-coff.c (fixup_segment): Subtract the section address
from a PC relative reloc if TC_M68K.
1996-10-04 22:38:44 +00:00
Ian Lance Taylor
76f841e600 * config/tc-sparc.c (md_pseudo_table): Make .uahalf, .uaword, and
.uaxword available even if not OBJ_ELF.
	(md_atof): Remove unused local variable wordP.
1996-10-03 19:16:36 +00:00
Jeff Law
ae1b99e42d Grrr. The mn10200 and mn10300 are _not_ similar enough to easily support
with a single generic configuration.  So break them up into two different
configurations.  See the individual ChangeLogs for additional detail.
1996-10-03 16:42:22 +00:00
Jeff Law
0f91d7632c * config/tc-mn10x00.c, config/tc-mn10x00.h: New files
for Matsushita MN10x00 support.
        * configure.in: Recognize mn10x00-*-*
        * configure: Rebuilt.
More Matsushita stuff.
1996-10-03 06:19:06 +00:00
Jeff Law
b5bfedbe6c * gas/mn10x00: New directory for Matsushita 10x00 tests.
Keep stubbing out Matsushita stuff.
1996-10-03 06:16:13 +00:00
Ian Lance Taylor
7c328bc7ff Wed Oct 2 15:54:03 1996 Klaus Kaempf <kkaempf@progis.de>
* obj-evax.h: move openvms definitions from here to tc-alpha.c.
	* tc-alpha.c: add support for vms_case_hack like in vax/vms.
	(load_expression): track clobbering of base reg before jmp/jsr.
	(s_alpha_file): pass case_hack flags and source filename via
	symbol table to bfd.
	* tc-alpha.h (TC_CONS_FIX_NEW): define
1996-10-02 19:55:33 +00:00
Ian Lance Taylor
a69e5977e2 * read.c (s_macro): Warn if a macro has the same name as a
pseudo-op.
	(s_space): In m68k MRI mode, align to a word boundary.
	* macro.c (define_macro): Add namep parameter.  Change all
	callers.
	* macro.h (define_macro): Update declaration.
1996-10-01 21:51:15 +00:00
Ian Lance Taylor
fed13a5ec9 Tue Oct 1 16:16:01 1996 Joel Sherrill <joel@oarcorp.com>
* configure.in (mips-*-rtems*): New target, like mips-*-elf*.
	* configure: Rebuild.
1996-10-01 20:17:23 +00:00
Ian Lance Taylor
673cb062e9 update copyright 1996-10-01 19:55:02 +00:00
Ian Lance Taylor
819a5edafd * lib/gas-defs.exp (gas_version): Fix for current version
printing.
1996-10-01 19:39:21 +00:00
Ian Lance Taylor
bfc94743ea * as.c (show_usage): Print bug report address.
(parse_args): Change version printing to match current GNU
	standards.
	* gasp.c (show_usage): Print bug report address.
	(main): Change version printing to match current GNU standards.
1996-10-01 19:31:06 +00:00
Ian Lance Taylor
0b810a6ee0 * config/tc-m68k.c (init_table): Correct access control unit
register numbers.  From Ken Rose <rose@netcom.com>.
1996-10-01 17:59:56 +00:00
Ian Lance Taylor
ffef69a368 * config/tc-alpha.c: Add some static function prototypes.
(alpha_macros): Move to top of file.  Make static.
	(alpha_num_macros): Move to top of file.
1996-10-01 16:41:19 +00:00
Stu Grossman
8940a5834f * tc-v850.h: Define LOCAL_LABEL to recognise _.L_* symbols
generated by DWARF.
1996-10-01 16:38:44 +00:00
David Edelsohn
a98ddff362 * gas/sparc/splet.d: Fix typo in cpusha result. 1996-09-29 14:57:04 +00:00
Ian Lance Taylor
4fc2c99a4a * expr.c (expr): Change >>= to >> (fix typo). (From meissner). 1996-09-26 20:04:56 +00:00
Ian Lance Taylor
97f8e6ff76 * read.c (float_cons): Call md_flush_pending_output if it is
defined.
PR 10716.
1996-09-24 23:06:05 +00:00
Martin Hunt
3547832c08 Tue Sep 24 12:22:18 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* tc-d10v.c (md_operand): Created.  Allows operands to
	start with '#'.
	* tc-d10v.h (md_operand): Undefined.
1996-09-24 19:24:38 +00:00
Ian Lance Taylor
6e4f3f096f * config/tc-m68k.c (add_fix): Treat a width of '3' like 'B'.
(md_assemble): A fixup width of '3' means a 1 byte reloc.
1996-09-23 16:32:24 +00:00
Ian Lance Taylor
72f70020f3 * config/obj-coff.c (fixup_segment): Don't adjust PC relative
reloc for the i960 for a reloc in the same section.  This undoes
	one of the two changes made Aug 19.
PR 10672.
1996-09-19 16:25:11 +00:00
Ian Lance Taylor
913d896f5b * gas/all/cofftag.s: Use .p2align rather than .align. 1996-09-18 16:15:10 +00:00
Ian Lance Taylor
ab2998440b * config/obj-coff.c (obj_coff_endef): Both versions: Move C_STAT
symbols to the position of the debugging information.
PR 10668.
1996-09-18 16:14:29 +00:00
Ian Lance Taylor
1540599959 * expr.c (expr): Always use unsigned right shifts for >>.
PR 10630.
1996-09-16 15:42:47 +00:00
Jeff Law
1b3b1c2d3c * gas/h8300/macs.s: Add "stmac" instructions.
* gas/h8300/basic.exp: Test them.
Somehow I forgot to test "stmac".
1996-09-13 21:27:22 +00:00
Jackie Smith Cashion
f17be6588b Thu Sep 12 10:25:45 1996 James G. Smith <jsmith@cygnus.co.uk>
* config/tc-arm.c (md_apply_fix3): Update two thumb instruction
 	slots when processing BL fixups.

	* config/tc-arm.c (output_inst): Ensure Thumb BL fixup is marked
 	on the first half of the instruction.

Thu Sep 12 10:28:44 1996  James G. Smith  <jsmith@cygnus.co.uk>

	* gas/arm/thumb.s (back): Check assembly of Thumb BL.
1996-09-12 09:31:02 +00:00
Ian Lance Taylor
1decafee51 * ecoff.c (ecoff_stab): Create an expression symbol for a complex
stabs expression, rather than giving an error.
1996-09-11 18:40:25 +00:00
Ian Lance Taylor
475c826bb4 * ecoff.c (ecoff_new_file): Don't do anything if we are still in
the same file.
PR 10595.
1996-09-11 04:14:35 +00:00
Ian Lance Taylor
8a3bdc3d2a * config/tc-mips.c (append_insn): Fill in the value for a constant
jump, rather than creating a reloc.
PR 10589.
1996-09-10 15:47:16 +00:00
Ian Lance Taylor
ca296aab0e Don't set interlocks for r5000. Rely on -mips4 settings. 1996-09-10 01:12:35 +00:00
Ian Lance Taylor
4a9149d501 * gas/mips/mips4.s, gas/mips/mips4.d: Use $fccN for condition code
registers.
1996-09-09 18:37:54 +00:00
Ian Lance Taylor
d31a3f5e76 * config/tc-mips.c (append_insn): Don't swap an instruction which
sets a condition code with an instruction which uses a condition
	code.
	(mips_ip): In cases 'N' and 'M', look for $fccN rather than an
	immediate value.
1996-09-09 18:37:10 +00:00
Ian Lance Taylor
517078c1b3 * config/tc-mips.c (md_begin): Recognize r5000 for cpu. If
mips_cpu is 5000, set interlocks and cop_interlocks.
	(mips_ip): Give a better error message if the ISA level is wrong.
	(md_parse_option): Recognize -mcpu=[v][r]5000.
1996-09-09 15:04:59 +00:00
Jackie Smith Cashion
ff8716f58e Sat Sep 7 13:25:55 1996 James G. Smith <jsmith@cygnus.co.uk>
* config/tc-mips.c (COUNT_TOP_ZEROES): Added macro to count
 	leading zeroes.
	(load_register): Ensure hi32 bits are not lost during lo32bit
 	processing. Fix shift offset that was overflowing into the next
 	instruction field. Add code to generate shorter sequences for
 	constants with a single contiguous seqeuence of ones.

Fri Sep  6 18:23:54 1996  James G. Smith  <jsmith@cygnus.co.uk>

	* gas/mips/dli.{s,d}: More test cases added.

NOTE: The COUNT_TOP_ZEROES macro is a bit bulky, and the same result
can be achieved by using a "standard" ffs() routine:
	count = ffs(~v);
	count = count == 0 ? 0 : 33 - count;

However the following timings (VR4300 CPU clock ticks on a CMA101
board) show the performance gain.

Number of	ffs()		for loop	if/then/else	conditional
leading								   ?:
zeroes
-------------------------------------------------------------------------------
  0		 167		 179		266		251
  1		1718		 283		263		259
  2		1670		 379		287		295
  3		1622		 475		311		311
  4		1574		 571		295		287
  5		1534		 667		311		319
  6		1478		 763		307		299
  7		1430		 859		323		323
  8		1382		 962		287		295
  9		1334		1051		319		311
 10		1286		1154		299		307
 11		1238		1250		323		331
 12		1183		1346		299		307
 13		1135		1442		331		323
 14		1087		1546		311		319
 15		1039		1642		335		343
 16		 991		1730		295		287
 17		 950		1834		311		319
 18		 895		1922		307		299
 19		 847		2026		331		323
 20		 799		2122		307		299
 21		 751		2218		323		323
 22		 703		2314		311		311
 23		 655		2417		343		335
 24		 599		2506		307		299
 25		 559		2602		331		331
 26		 511		2705		311		319
 27		 463		2801		343		335
 28		 407		2897		311		319
 29		 367		2993		343		335
 30		 311		3097		323		331
 31		 271		3185		355		355
 32		 215		3233		379		371
1996-09-07 12:45:19 +00:00
Martin Hunt
5e6c6406e6 Fri Sep 6 17:07:12 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* config/tc-d10v.c (d10v_dot_word): New function to support
	"@word" with the word pseudo-op.
	(md_apply_fix3): Cleanup and changes to support correct sizes
	for 16 and 18-bit relocs.
1996-09-07 00:12:56 +00:00
David Edelsohn
df4021c176 * configure.in (sparc-*-aout): Set `em'.
* configure: Regenerated.
	* config/te-sparcaout.h: New file.
	* config/tc-sparc.h (TARGET_BYTES_BIG_ENDIAN): Define.
	Ifdef TE_SPARCOUT define TARGET_FORMAT and SPARC_BIENDIAN.
	* config/tc-sparc.c (INSN_BIG_ENDIAN): New macro.
	(SPECIAL_CASE_{SETSW,SETX}): Define.
	({NOP,OR,FMOVS,SETHI,SLLX,SRA}_INSN): Define.
	(md_begin): Delete setting of `target_big_endian'.
	(output_insn): New function.
	(md_assemble): Rewrite.  Add `setx' support.
	(sparc_ip): Handle `0' operand char.  Recognize setuw, setsw, setx
	special cases.
	(md_atof): Add little endian support.
	(md_number_to_chars): Likewise.
	(md_apply_fix): Likewise.
	(md_longopts): Recognize -EL,-EB ifdef SPARC_BIENDIAN.
	(md_parse_option): Likewise.
	(md_show_usage): Print -EL, -EB ifdef SPARC_BIENDIAN.
1996-09-06 23:05:12 +00:00
Ian Lance Taylor
cfc71c6d3a * ecoff.c (ecoff_new_file): New function.
* ecoff.h (ecoff_new_file): Declare.
	* config/obj-ecoff.h (obj_app_file): Define.
PR 10548.
1996-09-05 17:43:06 +00:00
Ian Lance Taylor
711254da6c * config/tc-mips.c (load_register): Remove unused variable tmp. 1996-09-04 14:26:20 +00:00
Jackie Smith Cashion
1b68deb599 Wed Sep 4 11:24:29 1996 James G. Smith <jsmith@cygnus.co.uk>
* config/tc-mips.c (load_register): Remove unnecessary code that
 	was causing the high 32bits of 64bit constants to be lost.

Fixes PR10503. The compiler was producing the assembler code:
	dli $3,0xfffffffffffff
when constructing the softfloat library. Unfortunately it was being
incorrectly assembled.
1996-09-04 13:15:28 +00:00
Jeff Law
05fd83edd4 * config/tc-v850.c: Remove commented out and #if 0'd code.
(v850_reloc_prefix): Provide prototype.
        (postfix, get_reloc, build_insn): Remove prototypes for nonexistant
        functions.
        (md_begin, md_assemble, md_apply_fix3): Remove unused variables.
        (md_assemble): Add default to case statement.
Minor cleanups.
1996-09-03 17:59:16 +00:00
Jeff Law
270fd2adc3 * config/tc-v850.c (md_assemble): Compute size of the instrction
from the opcode.
1996-08-31 22:04:08 +00:00
Jeff Law
2d56269edf * config/tc-v850.c (md_apply_fix3): Do simple byte, short and
word fixups too.
Fixes "difference between forward references".
1996-08-31 18:36:19 +00:00
Jeff Law
6cff464b3a * gas/v850/basic.exp (do_branch): Check offsets in branch insns.
(do_jumps): Likewise.
Now that we can resolve known branch targets.
1996-08-31 07:26:35 +00:00
Jeff Law
74dd0c0786 * config/tc-v850.c (md_apply_fix3): Use little endian get/put
routines to fetch/store the updated instruction from/to memory.
        (v850_insert_operand): If the operand has a specialized insert
        routine, call it.
Getting fixups closer.  At least br <target> works now.
1996-08-31 05:52:38 +00:00
J.T. Conklin
c84615bc23 * config/tc-v850.c (reg_name_search): Align calling convention to
be like identical function found in tc-ppc.c.
(get_reloc): Removed.
(v850_reloc_prefix): New function, parse lo(), hi() and hi0().
(md_assemble): emit fixups.
(md_pcrel_from): renamed from md_pcrel_from_section, emit proper
displacement.
(md_apply_fix3): handle fixups/relocs.
* config/tc-v850.h (MD_PCREL_FROM_SECTION): Removed definition.
1996-08-31 01:42:46 +00:00
Ian Lance Taylor
0f616818c0 Add SH ELF support.
* configure.in (sh-*-elf*): New target.
	* config/tc-sh.h (TARGET_ARCH): Define.
	(WORKING_DOT_WORD): Define.
 	(TC_COFF_FIX2RTYPE): Only define if OBJ_COFF.
	(BFD_ARCH, COFF_MAGIC, TC_COUNT_RELOC): Likewise.
	(TC_RELOC_MANGLE, tc_coff_symbol_emit_hook): Likewise.
	(DO_NOT_STRIP, NEED_FX_R_TYPE, TC_KEEP_FX_OFFSET): Likewise.
	(TC_COFF_SIZEMACHDEP, tc_frob_file): Likewise.
	(SUB_SEGMENT_ALIGN): Likewise.
	(RELOC_32): Don't define.
	(tc_frob_file_before_adjust): Define if BFD_ASSEMBLER.
	(target_big_endian): Declare if OBJ_ELF.
	(TARGET_FORMAT): Define if OBJ_ELF.
	* config/tc-sh.c: Use BFD reloc codes instead of SH COFF reloc
	numbers throughout.
	(tc_crawl_symbol_chain): Only define if OBJ_COFF.
	(tc_headers_hook, tc_coff_sizemachdep): Likewise.
	(struct sh_count_relocs): Define.
	(sh_count_relocs): New static function, broken out of
	sh_frob_file.  Add BFD_ASSEMBLER code.
	(sh_frob_section): Likewise.
	(sh_frob_file): Call sh_frob_section.
	(md_convert_frag): If BFD_ASSEMBLER, change type of headers, and
	call section_symbol rather than seg_info (seg)->dot.
	(md_section_align): Add OBJ_ELF version.
	(SWITCH_TABLE_CONS): Define.
	(SWITCH_TABLE): Use SWITCH_TABLE_CONS.
	(md_apply_fix): Change parameter types if BFD_ASSEMBLER.  Only
	handle fx_r_type == 0 if not BFD_ASSEMBLER.  Return 0 if
	BFD_ASSEMBLER.
	(struct reloc_map): Define if not BFD_ASSEMBLER.
	(coff_reloc_map): Likewise.
	(sh_coff_reloc_mangle): Use coff_reloc_map to convert fx_r_type.
	(tc_gen_reloc): New function if BFD_ASSEMBLER.
	* write.c (write_relocs): Ifdef out fx_where test which triggers
	inappropriately for SH ELF.
	(write_object_file): Call tc_frob_file_before_adjust and
	obj_frob_file_before_adjust if they are defined.

	* write.c (write_object_file): Use BFD_RELOC_16, not
	BFD_RELOC_NONE, when calling fix_new_exp for a broken word.
1996-08-30 22:29:42 +00:00
Martin Hunt
20dbcd5c31 Fri Aug 30 14:47:38 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* config/tc-d10v.c (find_opcode): Fix problem with calculating
	branch sizes in across sections.
1996-08-30 21:50:52 +00:00
Jeff Law
1a393e50be * gas/v850/misc.s: Tweak register numbers for better testing.
* gas/v850/basic.exp (misc_tests): Corresponding changes.
1996-08-30 19:59:06 +00:00
Jeff Law
05631de266 * config/tc-850.c (md_assemble): Handle hi() correctly. Handle
hi0() too.
Bugfix.
1996-08-30 06:44:44 +00:00
Jeff Law
1f17971dee * gas/v850/hilo.s: New testfile.
* gas/v850/basic.exp: Run hilo tests.
1996-08-30 06:40:44 +00:00
Jackie Smith Cashion
d833e7e3c8 Thu Aug 29 11:32:23 1996 James G. Smith <jsmith@cygnus.co.uk>
* gas/arm/arm7t.d: Explicitly force little-endian assembly.
1996-08-29 10:34:09 +00:00
Martin Hunt
e592d28fa4 Wed Aug 28 19:20:04 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* config/tc-d10v.c (find_opcode): Fix a bug which could generate
	the wrong opcode for cases like st2w where there are many forms
	of the same instruction.
1996-08-29 02:22:25 +00:00
Ian Lance Taylor
6fce31a64b * expr.c (operand): If md_parse_name is defined, call it before
calling symbol_find_or_make.
	* config/tc-ppc.h (md_parse_name): Define.
	(ppc_parse_name): Declare.
	* config/tc-ppc.c (reg_name_search): Add regs and regcount
	parameters.
	(register_name): Update call to reg_name_search.
	(cr_operand): New static variable.
	(cr_names): New static const array.
	(ppc_parse_name): New function.
	(md_assemble): If PPC_OPERAND_CR is set in the operand flags, set
	cr_operand before calling expression.
PR 10460.
1996-08-27 17:56:47 +00:00
Jeff Law
a58b037adc * config/tc-hppa.c (tc_gen_reloc): Add new argument to
hppa_gen_reloc_type call.
Fixing a problem with -mlinker-opt.
1996-08-27 15:21:30 +00:00
Martin Hunt
67f0d0ea4c Mon Aug 26 18:24:51 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* tc-d10v.c: Fixed ".word".  Fixed problem with range checking
	on addresses.  Improved error messages.
1996-08-27 01:28:29 +00:00
Martin Hunt
3017263b68 Mon Aug 26 18:24:51 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* config/tc-d10v.c: Fixed ".word".  Fixed problem with range checking
	on addresses.  Improved error messages.
	* doc/c-d10v.texi: Added docs for register pairs.
1996-08-27 01:28:10 +00:00
Martin Hunt
443dbf147e Mon Aug 26 13:39:27 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* tc-d10v.c (parallel_ok): Fix bug in parallel
	checking code.
1996-08-26 20:42:37 +00:00
Martin Hunt
f9085532dd Mon Aug 26 13:39:27 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* config/tc-d10v.c (parallel_ok): Fix bug in parallel
	checking code.
1996-08-26 20:42:19 +00:00
Ian Lance Taylor
58275724ff * ecoff.c (init_file): Initialize fMerge to 1.
(add_file): Restore old file merging code, but only merge files if
	fMerge is set.
	(ecoff_directive_loc): Clear fMerge field of current file.
	(ecoff_generate_asm_lineno): Likewise.
1996-08-26 19:07:06 +00:00
Jeff Law
88b47a8521 * config/tc-v850.c (md_assemble): Rough cut at demanding
"ep" or "r30" in sst and sld instructions.
        (md_apply_fix3): Don't abort.  Just warn that we don't
        have relocs yet.
1996-08-23 20:58:13 +00:00
Jeff Law
29fb63b671 * gas/v850/basic.exp (move_tests): Test instruction bit patterns.
* gas/v850/move.s: Tweak constants for better testing.
1996-08-23 20:29:34 +00:00
Jeff Law
8289ed0b65 * gas/v850/basic.exp (mem_tests): Test instruction bit patterns.
xfail sst and sld tests.
        (mov_tests): Remove bogus xfail.
        * gas/v850/mem.s: sst and sld instructions can only index from
        "ep" register.
1996-08-23 19:35:05 +00:00
Jeff Law
1fa751362b * gas/v850/basic.exp (logical_tests): Test instruction bit patterns.
Update addresses.
        * gas/v850/logical.s: Tweak constants for better testing.
1996-08-23 19:13:56 +00:00
Jeff Law
5bd7d77946 * gas/v850/basic.exp (jump_tests): Test instruction bit patterns,
but not displacements (yet).
1996-08-23 19:05:52 +00:00
Jeff Law
c9f1b2d9c7 * config/tc-v850.c (CC_NAME_CNT): Define.
(cc_name): New function.
        (md_assemble): Handle V850_OPERAND_CC correctly.
setf stuff
1996-08-23 19:01:37 +00:00
Jeff Law
7be3453a1a * gas/v850/basic.exp (compare_tests): Test instruction bit patterns. 1996-08-23 18:58:09 +00:00
Martin Hunt
b1c28263c9 Fri Aug 23 11:40:47 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* doc/c-d10v.texi: Fix typo.
1996-08-23 18:43:48 +00:00