Back to index

cell-binutils  2.17cvs20070401
Classes | Defines | Typedefs | Enumerations | Functions | Variables
tc-i386.h File Reference
#include "opcodes/i386-opc.h"

Go to the source code of this file.

Classes

struct  templates
struct  modrm_byte
struct  sib_byte
struct  arch_entry

Defines

#define TARGET_BYTES_BIG_ENDIAN   0
#define TARGET_ARCH   bfd_arch_i386
#define TARGET_MACH   (i386_mach ())
#define AOUT_TARGET_FORMAT   "a.out-i386"
#define ELF_TARGET_FORMAT   "elf32-i386"
#define ELF_TARGET_FORMAT64   "elf64-x86-64"
#define SUB_SEGMENT_ALIGN(SEG, FRCHAIN)   0
#define LOCAL_LABELS_FB   1
#define tc_symbol_chars   extra_symbol_chars
#define tc_comment_chars   i386_comment_chars
#define WAIT_PREFIX   0
#define SEG_PREFIX   1
#define ADDR_PREFIX   2
#define DATA_PREFIX   3
#define LOCKREP_PREFIX   4
#define REX_PREFIX   5 /* must come last. */
#define MAX_PREFIXES   6 /* max prefixes per opcode */
#define REGISTER_PREFIX   '%'
#define IMMEDIATE_PREFIX   '$'
#define ABSOLUTE_PREFIX   '*'
#define WORD_MNEM_SUFFIX   'w'
#define BYTE_MNEM_SUFFIX   'b'
#define SHORT_MNEM_SUFFIX   's'
#define LONG_MNEM_SUFFIX   'l'
#define QWORD_MNEM_SUFFIX   'q'
#define LONG_DOUBLE_MNEM_SUFFIX   'x'
#define END_OF_INSN   '\0'
#define GLOBAL_OFFSET_TABLE_NAME   "_GLOBAL_OFFSET_TABLE_"
#define TC_CONS_FIX_NEW(FRAG, OFF, LEN, EXP)   x86_cons_fix_new(FRAG, OFF, LEN, EXP)
#define DIFF_EXPR_OK   /* foo-. gets turned into PC relative relocs */
#define NO_RELOC   BFD_RELOC_NONE
#define TC_VALIDATE_FIX(FIX, SEGTYPE, SKIP)   i386_validate_fix(FIX)
#define tc_fix_adjustable(X)   tc_i386_fix_adjustable(X)
#define MD_APPLY_SYM_VALUE(FIX)   0
#define EXTERN_FORCE_RELOC   (OUTPUT_FLAVOR == bfd_target_elf_flavour)
#define TC_FORCE_RELOCATION_LOCAL(FIX)
#define md_parse_name(s, e, m, c)   i386_parse_name (s, e, c)
#define TC_GENERIC_RELAX_TABLE   md_relax_table
#define md_do_align(n, fill, len, max, around)
#define MAX_MEM_FOR_RS_ALIGN_CODE   15
#define HANDLE_ALIGN(fragP)
#define tc_print_statistics   i386_print_statistics
#define md_number_to_chars   number_to_chars_littleendian
#define WORKING_DOT_WORD   1
#define TARGET_USE_CFIPOP   1
#define DWARF2_DEFAULT_RETURN_COLUMN   x86_dwarf2_return_column
#define DWARF2_CIE_DATA_ALIGNMENT   x86_cie_data_alignment
#define tc_regname_to_dw2regnum   tc_x86_regname_to_dw2regnum
#define tc_cfi_frame_initial_instructions   tc_x86_frame_initial_instructions
#define md_elf_section_type(str, len)   i386_elf_section_type (str, len)
#define md_elf_section_letter(LETTER, PTR_MSG)   x86_64_section_letter (LETTER, PTR_MSG)
#define md_elf_section_word(STR, LEN)   x86_64_section_word (STR, LEN)

Typedefs

typedef int rex_byte

Enumerations

enum  processor_type {
  PROCESSOR_UNKNOWN, PROCESSOR_I486, PROCESSOR_PENTIUM, PROCESSOR_PENTIUMPRO,
  PROCESSOR_PENTIUM4, PROCESSOR_NOCONA, PROCESSOR_CORE, PROCESSOR_CORE2,
  PROCESSOR_K6, PROCESSOR_ATHLON, PROCESSOR_K8, PROCESSOR_GENERIC32,
  PROCESSOR_GENERIC64, PROCESSOR_AMDFAM10
}

Functions

unsigned long i386_mach (void)
void x86_cons_fix_new (fragS *, unsigned int, unsigned int, expressionS *)
void i386_validate_fix (struct fix *)
int tc_i386_fix_adjustable (struct fix *)
int i386_parse_name (char *, expressionS *, char *)
void i386_align_code (fragS *, int)
void i386_print_statistics (FILE *)
int tc_x86_regname_to_dw2regnum (char *)
void tc_x86_frame_initial_instructions (void)
int i386_elf_section_type (const char *, size_t)
int x86_64_section_word (char *, size_t)
int x86_64_section_letter (int, char **)

Variables

const char extra_symbol_chars []
const char * i386_comment_chars
int optimize_align_code
unsigned int x86_dwarf2_return_column
int x86_cie_data_alignment

Class Documentation

struct templates

Definition at line 137 of file tc-i386.h.

Collaboration diagram for templates:
Class Members
const template * end
const template * start
struct modrm_byte

Definition at line 145 of file tc-i386.h.

Class Members
unsigned int mode
unsigned int reg
unsigned int regmem
struct sib_byte

Definition at line 157 of file tc-i386.h.

Class Members
unsigned base
unsigned index
unsigned scale
struct arch_entry

Definition at line 184 of file tc-i386.h.

Class Members
const char * name

Define Documentation

#define ABSOLUTE_PREFIX   '*'

Definition at line 117 of file tc-i386.h.

#define ADDR_PREFIX   2

Definition at line 108 of file tc-i386.h.

#define AOUT_TARGET_FORMAT   "a.out-i386"

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

#define BYTE_MNEM_SUFFIX   'b'

Definition at line 121 of file tc-i386.h.

#define DATA_PREFIX   3

Definition at line 109 of file tc-i386.h.

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

Definition at line 207 of file tc-i386.h.

Definition at line 293 of file tc-i386.h.

Definition at line 290 of file tc-i386.h.

#define ELF_TARGET_FORMAT   "elf32-i386"

Definition at line 66 of file tc-i386.h.

#define ELF_TARGET_FORMAT64   "elf64-x86-64"

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

#define END_OF_INSN   '\0'

Definition at line 128 of file tc-i386.h.

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

#define GLOBAL_OFFSET_TABLE_NAME   "_GLOBAL_OFFSET_TABLE_"

Definition at line 195 of file tc-i386.h.

#define HANDLE_ALIGN (   fragP)
Value:
if (fragP->fr_type == rs_align_code)                                  \
  i386_align_code (fragP, (fragP->fr_next->fr_address                 \
                        - fragP->fr_address                           \
                        - fragP->fr_fix));

Definition at line 268 of file tc-i386.h.

#define IMMEDIATE_PREFIX   '$'

Definition at line 116 of file tc-i386.h.

#define LOCAL_LABELS_FB   1

Definition at line 93 of file tc-i386.h.

#define LOCKREP_PREFIX   4

Definition at line 110 of file tc-i386.h.

#define LONG_DOUBLE_MNEM_SUFFIX   'x'

Definition at line 126 of file tc-i386.h.

#define LONG_MNEM_SUFFIX   'l'

Definition at line 123 of file tc-i386.h.

#define MAX_MEM_FOR_RS_ALIGN_CODE   15

Definition at line 264 of file tc-i386.h.

#define MAX_PREFIXES   6 /* max prefixes per opcode */

Definition at line 112 of file tc-i386.h.

#define MD_APPLY_SYM_VALUE (   FIX)    0

Definition at line 218 of file tc-i386.h.

#define md_do_align (   n,
  fill,
  len,
  max,
  around 
)
Value:
if ((n)                                                               \
    && !need_pass_2                                            \
    && optimize_align_code                                     \
    && (!(fill)                                                       \
       || ((char)*(fill) == (char)0x90 && (len) == 1))                \
    && subseg_text_p (now_seg))                                       \
  {                                                            \
    frag_align_code ((n), (max));                              \
    goto around;                                               \
  }

Definition at line 252 of file tc-i386.h.

#define md_elf_section_letter (   LETTER,
  PTR_MSG 
)    x86_64_section_letter (LETTER, PTR_MSG)

Definition at line 307 of file tc-i386.h.

#define md_elf_section_type (   str,
  len 
)    i386_elf_section_type (str, len)

Definition at line 301 of file tc-i386.h.

#define md_elf_section_word (   STR,
  LEN 
)    x86_64_section_word (STR, LEN)

Definition at line 308 of file tc-i386.h.

Definition at line 277 of file tc-i386.h.

#define md_parse_name (   s,
  e,
  m,
  c 
)    i386_parse_name (s, e, c)

Definition at line 245 of file tc-i386.h.

#define NO_RELOC   BFD_RELOC_NONE

Definition at line 209 of file tc-i386.h.

#define QWORD_MNEM_SUFFIX   'q'

Definition at line 124 of file tc-i386.h.

#define REGISTER_PREFIX   '%'

Definition at line 115 of file tc-i386.h.

#define REX_PREFIX   5 /* must come last. */

Definition at line 111 of file tc-i386.h.

#define SEG_PREFIX   1

Definition at line 107 of file tc-i386.h.

#define SHORT_MNEM_SUFFIX   's'

Definition at line 122 of file tc-i386.h.

#define SUB_SEGMENT_ALIGN (   SEG,
  FRCHAIN 
)    0

Definition at line 91 of file tc-i386.h.

#define TARGET_ARCH   bfd_arch_i386

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

#define TARGET_BYTES_BIG_ENDIAN   0

Definition at line 30 of file tc-i386.h.

#define TARGET_MACH   (i386_mach ())

Definition at line 33 of file tc-i386.h.

#define TARGET_USE_CFIPOP   1

Definition at line 287 of file tc-i386.h.

Definition at line 298 of file tc-i386.h.

Definition at line 99 of file tc-i386.h.

#define TC_CONS_FIX_NEW (   FRAG,
  OFF,
  LEN,
  EXP 
)    x86_cons_fix_new(FRAG, OFF, LEN, EXP)

Definition at line 203 of file tc-i386.h.

Definition at line 214 of file tc-i386.h.

Value:
(!(FIX)->fx_pcrel                                \
   || (FIX)->fx_r_type == BFD_RELOC_386_PLT32           \
   || (FIX)->fx_r_type == BFD_RELOC_386_GOT32           \
   || (FIX)->fx_r_type == BFD_RELOC_386_GOTPC           \
   || TC_FORCE_RELOCATION (FIX))

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

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

Definition at line 275 of file tc-i386.h.

Definition at line 295 of file tc-i386.h.

Definition at line 96 of file tc-i386.h.

#define TC_VALIDATE_FIX (   FIX,
  SEGTYPE,
  SKIP 
)    i386_validate_fix(FIX)

Definition at line 212 of file tc-i386.h.

#define WAIT_PREFIX   0

Definition at line 106 of file tc-i386.h.

#define WORD_MNEM_SUFFIX   'w'

Definition at line 120 of file tc-i386.h.

#define WORKING_DOT_WORD   1

Definition at line 284 of file tc-i386.h.


Typedef Documentation

typedef int rex_byte

Definition at line 154 of file tc-i386.h.


Enumeration Type Documentation

Enumerator:
PROCESSOR_UNKNOWN 
PROCESSOR_I486 
PROCESSOR_PENTIUM 
PROCESSOR_PENTIUMPRO 
PROCESSOR_PENTIUM4 
PROCESSOR_NOCONA 
PROCESSOR_CORE 
PROCESSOR_CORE2 
PROCESSOR_K6 
PROCESSOR_ATHLON 
PROCESSOR_K8 
PROCESSOR_GENERIC32 
PROCESSOR_GENERIC64 
PROCESSOR_AMDFAM10 

Definition at line 165 of file tc-i386.h.


Function Documentation

void i386_align_code ( fragS *  ,
int   
)
int i386_elf_section_type ( const char *  ,
size_t   
)
unsigned long i386_mach ( void  )
int i386_parse_name ( char *  ,
expressionS ,
char *   
)
void i386_print_statistics ( FILE *  )
int x86_64_section_letter ( int  ,
char **   
)
int x86_64_section_word ( char *  ,
size_t   
)
void x86_cons_fix_new ( fragS *  ,
unsigned  int,
unsigned  int,
expressionS  
)

Variable Documentation

Definition at line 174 of file tc-i386.c.

Definition at line 198 of file tc-i386.c.