Commit graph

66 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
d5974c571c * config/tc-v850.c (md_assemble): Don't forget to initialize
"insn"!
1996-08-23 18:19:08 +00:00
Jeff Law
0e8f9bd15e * config/tc-v850.c (reg_name_search): Generalize to search
any given register table.
        (register_name): Pass appropriate table and size to reg_name_search.
        (system_register_name): New function.
        (SYSREG_NAME_CNT): Define.
        (md_assemble): Handle operands which are system registers.
Still working on the parser..
1996-08-23 17:39:43 +00:00
Jeff Law
c9a32d6ca7 * config/tc-v850.c (md_assemble): If we find a register, but the
opcode doesn't want a register, then we don't have a match.
        (md_assemble): Get size of the instruction from the opcode table.
So we choose the right opcode and so that we get the sizes right.
1996-08-23 16:43:23 +00:00
J.T. Conklin
1510cd39b6 rework operand parsing 1996-08-23 06:33:10 +00:00
J.T. Conklin
dcf5d11760 parse [reg], lo(exp), and hi(exp) 1996-08-22 05:30:14 +00:00
J.T. Conklin
c6aa56bca9 * config/tc-v850.c: New file.
* config/tc-v850.h: New file.
* configure (v850-*-elf): New target.
* configure.in (v850-*-elf): New target.
1996-08-21 23:37:04 +00:00