Back to index

cell-binutils  2.17cvs20070401
Defines | Functions | Variables
tc-ppc.h File Reference

Go to the source code of this file.

Defines

#define TC_PPC
#define TARGET_BYTES_BIG_ENDIAN   1
#define TARGET_ARCH   (ppc_arch ())
#define TARGET_MACH   (ppc_mach ())
#define TARGET_FORMAT   (ppc_target_format ())
#define LOCAL_LABELS_FB   1
#define DOLLAR_DOT
#define PPC_BIG_ENDIAN   1
#define WORKING_DOT_WORD
#define MAX_MEM_FOR_RS_ALIGN_CODE   4
#define HANDLE_ALIGN(FRAGP)
#define SUB_SEGMENT_ALIGN(SEG, FRCHAIN)   0
#define md_frag_check(FRAGP)
#define tc_symbol_chars   ppc_symbol_chars
#define MD_PCREL_FROM_SECTION(FIX, SEC)   md_pcrel_from_section(FIX, SEC)
#define md_parse_name(name, exp, mode, c)   ppc_parse_name (name, exp)
#define md_operand(x)
#define md_cleanup()   ppc_cleanup ()
#define TARGET_USE_CFIPOP   1
#define tc_cfi_frame_initial_instructions   ppc_cfi_frame_initial_instructions
#define tc_regname_to_dw2regnum   tc_ppc_regname_to_dw2regnum
#define DWARF2_LINE_MIN_INSN_LENGTH   4
#define DWARF2_DEFAULT_RETURN_COLUMN   0x41
#define DWARF2_CIE_DATA_ALIGNMENT   ppc_cie_data_alignment

Functions

enum bfd_architecture PARAMS ((void))
void ppc_handle_align (struct frag *)
long md_pcrel_from_section PARAMS ((struct fix *, segT))
int ppc_parse_name PARAMS ((const char *, struct expressionS *))
int tc_ppc_regname_to_dw2regnum PARAMS ((char *regname))

Variables

int target_big_endian
const char ppc_symbol_chars []
int ppc_cie_data_alignment

Define Documentation

#define DOLLAR_DOT

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

Definition at line 249 of file tc-ppc.h.

#define DWARF2_DEFAULT_RETURN_COLUMN   0x41

Definition at line 248 of file tc-ppc.h.

Definition at line 247 of file tc-ppc.h.

#define HANDLE_ALIGN (   FRAGP)
Value:
if ((FRAGP)->fr_type == rs_align_code)                         \
    ppc_handle_align (FRAGP);

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

#define LOCAL_LABELS_FB   1

Definition at line 56 of file tc-ppc.h.

#define MAX_MEM_FOR_RS_ALIGN_CODE   4

Definition at line 79 of file tc-ppc.h.

#define md_cleanup ( )    ppc_cleanup ()

Definition at line 234 of file tc-ppc.h.

#define md_frag_check (   FRAGP)
Value:
if ((FRAGP)->has_code                                                 \
      && (((FRAGP)->fr_address + (FRAGP)->insn_addr) & 3) != 0)              \
    as_bad_where ((FRAGP)->fr_file, (FRAGP)->fr_line,                 \
                _("instruction address is not a multiple of 4"));

Definition at line 88 of file tc-ppc.h.

#define md_operand (   x)

Definition at line 232 of file tc-ppc.h.

#define md_parse_name (   name,
  exp,
  mode,
  c 
)    ppc_parse_name (name, exp)

Definition at line 229 of file tc-ppc.h.

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

Definition at line 226 of file tc-ppc.h.

#define PPC_BIG_ENDIAN   1

Definition at line 71 of file tc-ppc.h.

#define SUB_SEGMENT_ALIGN (   SEG,
  FRCHAIN 
)    0

Definition at line 86 of file tc-ppc.h.

#define TARGET_ARCH   (ppc_arch ())

Definition at line 43 of file tc-ppc.h.

#define TARGET_BYTES_BIG_ENDIAN   1

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

#define TARGET_FORMAT   (ppc_target_format ())

Definition at line 52 of file tc-ppc.h.

#define TARGET_MACH   (ppc_mach ())

Definition at line 44 of file tc-ppc.h.

#define TARGET_USE_CFIPOP   1

Definition at line 237 of file tc-ppc.h.

Definition at line 239 of file tc-ppc.h.

#define TC_PPC

Definition at line 23 of file tc-ppc.h.

Definition at line 242 of file tc-ppc.h.

Definition at line 190 of file tc-ppc.h.

Definition at line 77 of file tc-ppc.h.


Function Documentation

enum bfd_architecture PARAMS ( (void)  ) [abstract]

Definition at line 5533 of file tc-ppc.c.

{
  valueT count = (fragP->fr_next->fr_address
                - (fragP->fr_address + fragP->fr_fix));

  if (count != 0 && (count & 3) == 0)
    {
      char *dest = fragP->fr_literal + fragP->fr_fix;

      fragP->fr_var = 4;
      md_number_to_chars (dest, 0x60000000, 4);

      if ((ppc_cpu & PPC_OPCODE_POWER6) != 0)
       {
         /* For power6, we want the last nop to be a group terminating
            one, "ori 1,1,0".  Do this by inserting an rs_fill frag
            immediately after this one, with its address set to the last
            nop location.  This will automatically reduce the number of
            nops in the current frag by one.  */
         if (count > 4)
           {
             struct frag *group_nop = xmalloc (SIZEOF_STRUCT_FRAG + 4);

             memcpy (group_nop, fragP, SIZEOF_STRUCT_FRAG);
             group_nop->fr_address = group_nop->fr_next->fr_address - 4;
             group_nop->fr_fix = 0;
             group_nop->fr_offset = 1;
             group_nop->fr_type = rs_fill;
             fragP->fr_next = group_nop;
             dest = group_nop->fr_literal;
           }

         md_number_to_chars (dest, 0x60210000, 4);
       }
    }
}

Here is the call graph for this function:


Variable Documentation

Definition at line 190 of file tc-ppc.c.

Definition at line 187 of file tc-ppc.c.

Definition at line 164 of file read.c.