Back to index

cell-binutils  2.17cvs20070401
Defines | Functions
tc-v850.h File Reference
#include "elf/v850.h"

Go to the source code of this file.

Defines

#define TC_V850
#define TARGET_BYTES_BIG_ENDIAN   0
#define TARGET_ARCH   bfd_arch_v850
#define TARGET_FORMAT   "elf32-v850"
#define md_operand(x)
#define tc_fix_adjustable(FIX)   v850_fix_adjustable (FIX)
#define TC_FORCE_RELOCATION(FIX)   v850_force_relocation(FIX)
#define LOCAL_LABELS_FB   1
#define DIFF_EXPR_OK   /* foo-. gets turned into PC relative relocs. */
#define WORKING_DOT_WORD
#define md_number_to_chars   number_to_chars_littleendian
#define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES)   parse_cons_expression_v850 (EXP)
#define TC_CONS_FIX_NEW   cons_fix_new_v850
#define TC_GENERIC_RELAX_TABLE   md_relax_table
#define HANDLE_ALIGN(frag)   v850_handle_align (frag)
#define MD_PCREL_FROM_SECTION(FIX, SEC)   v850_pcrel_from_section (FIX, SEC)
#define DWARF2_LINE_MIN_INSN_LENGTH   2
#define TC_FIX_TYPE   void *
#define TC_INIT_FIX_DATA(fixP)   (fixP)->tc_fix_data = NULL

Functions

bfd_boolean v850_fix_adjustable (struct fix *)
int v850_force_relocation (struct fix *)
void parse_cons_expression_v850 (expressionS *)
void cons_fix_new_v850 (fragS *, int, int, expressionS *)
void v850_handle_align (fragS *)
long v850_pcrel_from_section (struct fix *, asection *)

Define Documentation

#define DIFF_EXPR_OK   /* foo-. gets turned into PC relative relocs. */

Definition at line 50 of file tc-v850.h.

Definition at line 76 of file tc-v850.h.

#define HANDLE_ALIGN (   frag)    v850_handle_align (frag)

Definition at line 70 of file tc-v850.h.

#define LOCAL_LABELS_FB   1

Definition at line 48 of file tc-v850.h.

Definition at line 55 of file tc-v850.h.

#define md_operand (   x)

Definition at line 34 of file tc-v850.h.

#define MD_PCREL_FROM_SECTION (   FIX,
  SEC 
)    v850_pcrel_from_section (FIX, SEC)

Definition at line 73 of file tc-v850.h.

#define TARGET_ARCH   bfd_arch_v850

Definition at line 29 of file tc-v850.h.

#define TARGET_BYTES_BIG_ENDIAN   0

Definition at line 26 of file tc-v850.h.

#define TARGET_FORMAT   "elf32-v850"

Definition at line 32 of file tc-v850.h.

Definition at line 62 of file tc-v850.h.

Definition at line 36 of file tc-v850.h.

#define TC_FIX_TYPE   void *

Definition at line 80 of file tc-v850.h.

Definition at line 39 of file tc-v850.h.

Definition at line 65 of file tc-v850.h.

#define TC_INIT_FIX_DATA (   fixP)    (fixP)->tc_fix_data = NULL

Definition at line 81 of file tc-v850.h.

#define TC_PARSE_CONS_EXPRESSION (   EXP,
  NBYTES 
)    parse_cons_expression_v850 (EXP)

Definition at line 59 of file tc-v850.h.

#define TC_V850

Definition at line 22 of file tc-v850.h.

Definition at line 53 of file tc-v850.h.


Function Documentation

void cons_fix_new_v850 ( fragS *  ,
int  ,
int  ,
expressionS  
)

Definition at line 2412 of file tc-v850.c.

{
  if (hold_cons_reloc == BFD_RELOC_UNUSED)
    {
      if (size == 4)
       hold_cons_reloc = BFD_RELOC_32;
      if (size == 2)
       hold_cons_reloc = BFD_RELOC_16;
      if (size == 1)
       hold_cons_reloc = BFD_RELOC_8;
    }

  if (exp != NULL)
    fix_new_exp (frag, where, size, exp, 0, hold_cons_reloc);
  else
    fix_new (frag, where, size, NULL, 0, 0, hold_cons_reloc);

  hold_cons_reloc = BFD_RELOC_UNUSED;
}

Here is the call graph for this function:

Definition at line 2398 of file tc-v850.c.

{
  /* See if there's a reloc prefix like hi() we have to handle.  */
  hold_cons_reloc = v850_reloc_prefix (NULL);

  /* Do normal expression parsing.  */
  expression (exp);
}

Here is the call graph for this function:

Definition at line 2454 of file tc-v850.c.

{
  if (fixP->fx_r_type == BFD_RELOC_V850_LONGCALL
      || fixP->fx_r_type == BFD_RELOC_V850_LONGJUMP)
    return 1;

  if (v850_relax
      && (fixP->fx_pcrel
         || fixP->fx_r_type == BFD_RELOC_V850_ALIGN
         || fixP->fx_r_type == BFD_RELOC_V850_22_PCREL
         || fixP->fx_r_type == BFD_RELOC_V850_9_PCREL
         || fixP->fx_r_type >= BFD_RELOC_UNUSED))
    return 1;

  return generic_force_reloc (fixP);
}

Here is the call graph for this function:

void v850_handle_align ( fragS *  )

Definition at line 2231 of file tc-v850.c.

{
  if (v850_relax
      && frag->fr_type == rs_align
      && frag->fr_address + frag->fr_fix > 0
      && frag->fr_offset > 1
      && now_seg != bss_section
      && now_seg != v850_seg_table[SBSS_SECTION].s
      && now_seg != v850_seg_table[TBSS_SECTION].s
      && now_seg != v850_seg_table[ZBSS_SECTION].s)
    fix_new (frag, frag->fr_fix, 2, & abs_symbol, frag->fr_offset, 0,
            BFD_RELOC_V850_ALIGN);
}

Here is the call graph for this function: