Ian Lance Taylor
943321c07d
* config/tc-mips.c (md_longopts): Rename mips-16 to mips16, and
...
no-mips-16 to no-mips16.
(s_mipsset): Accept .set mips16 and .set nomips16.
1996-12-04 18:01:48 +00:00
Michael Meissner
8b1e9f129b
Allow foo@suffix+constant relocations
1996-12-04 15:42:14 +00:00
Michael Meissner
b61802e7cb
Add -m{,no-}solaris support to enable/disable solaris comments & setting ppc flags
1996-12-04 04:26:04 +00:00
Ian Lance Taylor
cc5703cd74
Add support for mips16 (16 bit MIPS implementation):
...
* config/tc-mips.c: Extensive additions for mips16 support, not
listed here.
(RELAX_OLD, RELAX_NEW): Use only 7 bits each.
(insn_uses_reg): Change last parameter to an enum.
* config/tc-mips.h (LOCAL_LABELS_DOLLAR): Define as 0.
(md_relax_frag): Define as mips_relax_frag.
(mips_relax_frag): Declare.
(struct mips_cl_insn): Add use_extend and extend fields.
(tc_fix_adjustable): Define.
* config/obj-elf.h (S_GET_OTHER): Define.
(S_SET_OTHER): Define.
1996-11-26 16:44:22 +00:00
Jeff Law
f98905f13d
* config/tc-mn10300.c (address_registers): Use '%' prefix for regs.
...
(data_registers, other_registers, md_assemble): Likewise.
1996-11-25 18:24:14 +00:00
Jeff Law
0671e7f6c6
* config/tc-mn10300.c (md_assemble): Correctly determine the
...
correct location and type for each relocation.
(md_pcrel_from): Simplify.
Last week's reloc work.
1996-11-25 15:54:43 +00:00
Jeff Law
d9a9c18fad
* config/tc-mn10300.h (DIFF_EXPR_OK): Don't define this.
...
(tc_fix_adjustable): Don't adjust relocs against weak symbols or
pc-relative relocs.
* config/tc-mn10300.c (md_begin): Set linkrelax.
(md_assemble): Create fixups as needed.
(md_apply_fix3): Gut. It shouldn't ever get called anymore.
First stab at fixups/relocs.
1996-11-21 18:58:26 +00:00
Jeff Law
7f02192d13
* config/tc-mn10300.c (md_assemble): Handle MN10300_OPERAND_REG_LIST.
...
So GCC can use movm in prologue/epilogues.
1996-11-19 20:35:19 +00:00
Jeff Law
43d695a1e9
* config/tc-mn10300.c (mn10300_insert_operand): Provide prototype
...
via PARAMS.
(check_operand): Likewise.
1996-11-18 23:05:06 +00:00
Michael Meissner
d39e0e6d61
Fix previous change
1996-11-18 20:36:48 +00:00
Michael Meissner
ec5e212be2
Check validity of user parallel operations
1996-11-18 20:31:30 +00:00
Michael Meissner
228835a9b6
Branch and link instructions modify r13
1996-11-18 20:24:47 +00:00
Martin Hunt
edb89bfc5b
Thu Nov 14 11:17:49 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
...
* config/tc-d10v.c (write_2_short): Fix bug that wouldn't
allow a branch and link in parallel with an exe instruction.
1996-11-14 19:20:02 +00:00
Jeff Law
bdd91d4f41
* config/tc-mn10300.c (mn10300_insert_operand): Shift low part
...
of a MN10300_OPERAND_SPLIT operand by operand->shift.
For bset, bclr & btst.
1996-11-06 21:20:56 +00:00
Jeff Law
cdde2f5cee
* config/tc-mn10300.c (mn10300_insert_operand): Handle
...
MN10300_OPERAND_SPLIT.
For handling of 32bit operands.
1996-11-06 20:48:36 +00:00
Jeff Law
bfe5059c70
* config/tc-mn10300.c (md_assemble): Insert operands into
...
the extension part of the instruction if necessary.
(mn10300_insert_operand): Accept pointer to extension word
argument. Make insn a pointer argument too. Return type
is now void. All callers changed.
So we can correct insert operands into any instruction except those
which have 32bit operands.
1996-11-05 20:32:07 +00:00
Jeff Law
68328dc6bd
* config/tc-mn10300.c (mn10300_insert_operand): Handle
...
repeated register operands.
For mov imm8,dn
mov imm8,an
cmp imm8,dn
cmp imm8,an
The register appears twice in the bit pattern... Egad.
1996-11-04 19:54:50 +00:00
Jeff Law
2385d90a81
* config/tc-v850.c (md_convert_frag): Make sure we insert the
...
fixup at the right address within the frag.
1996-10-29 20:07:13 +00:00
Jeff Law
bc49fab8ea
* config/tc-v850.c (md_convert_frag): Don't set fragP->fr_fix
...
to an absolute value, instead increment it as needed.
1996-10-29 19:48:18 +00:00
Jeff Law
a334533c1b
* config/tc-v850.h (TC_GENERIC_RELAX_TABLE): Define.
...
* config/tc-v850.c: Fix some indention problems.
(md_relax_table): Define for D9->D99 branch displacement
relaxing.
(md_convert_frag): Do something useful instead of aborting.
(md_estimate_size_before_relax): Likewise.
(md_assemble): Note if the matching instruction has a relaxable
operand. If it does, allocate frag with frag_var and don't
do any fixups.
So we can do 9bit displacement to 22bit displacement relaxing.
1996-10-29 19:32:56 +00:00
Jeff Law
d3bbd9dc3e
* config/tc-v850.c (v850_reloc_prefix): Several disgusting
...
hacks to improve parsing of complex hi, lo, zda, etc
expressions.
(md_assemble): Don't demand and eat a trailing ')' after finding
a v850 relocation prefix. Sign extend the constant in a
BFD_RELOC_LO16 expression. Do eat a trailing ')' after a complete
operand.
(parse_cons_expression_v850): Don't eat a trailing ')' after
finding a v850 relocation prefix.
Trying to get nec's sample code to assemble. Why oh why didn't JT try
to assemble any of their code...
1996-10-25 01:14:34 +00:00
Jeff Law
10fba7f14e
* config/tc-v850.h (TC_PARSE_CONS_EXPRESSION): Define.
...
(TC_CONS_FIX_NEW): Likewise.
* config/tc-v850.c (parse_cons_expression_v850): New function.
(cons_fix_new_v850): Likewise.
So we can handle ".hword lo(_foo)".
1996-10-24 22:55:22 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
ca296aab0e
Don't set interlocks for r5000. Rely on -mips4 settings.
1996-09-10 01:12:35 +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