Back to index

cell-binutils  2.17cvs20070401
Classes | Defines | Enumerations
adobe.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  external_exec
struct  external_segdesc
struct  internal_segdesc
struct  external_nlist
struct  internal_nlist
struct  reloc_std_external
struct  reloc_std_internal
struct  reloc_ext_external
struct  reloc_internal

Defines

#define BYTES_IN_WORD   4
#define EXEC_BYTES_SIZE   (4 + BYTES_IN_WORD * 7)
#define ZMAGIC   0xAD0BE /* Cute, eh? */
#define N_BADMAG(x)   ((x).a_info != ZMAGIC)
#define N_SEGSIZE(x)   SEGMENT_SIZE
#define N_TXTADDR(x)
#define N_TXTOFF(x)   2048
#define N_TXTSIZE(x)   ((x).a_text)
#define N_DATADDR(x)
#define N_BSSADDR(x)
#define N_DATOFF(x)   ( N_TXTOFF(x) + N_TXTSIZE(x) )
#define N_TRELOFF(x)   ( N_DATOFF(x) + (x).a_data )
#define N_DRELOFF(x)   ( N_TRELOFF(x) + (x).a_trsize )
#define N_SYMOFF(x)   ( N_DRELOFF(x) + (x).a_drsize )
#define N_STROFF(x)   ( N_SYMOFF(x) + (x).a_syms )
#define EXTERNAL_NLIST_SIZE   (BYTES_IN_WORD+4+BYTES_IN_WORD)
#define N_UNDF   0 /* Undefined symbol */
#define N_ABS   2 /* Absolute symbol -- defined at particular addr */
#define N_TEXT   4 /* Text sym -- defined at offset in text seg */
#define N_DATA   6 /* Data sym -- defined at offset in data seg */
#define N_BSS   8 /* BSS sym -- defined at offset in zero'd seg */
#define N_COMM   0x12 /* Common symbol (visible after shared lib dynlink) */
#define N_FN   0x1f /* File name of .o file */
#define N_FN_SEQ   0x0C /* N_FN from Sequent compilers (sigh) */
#define N_EXT   1 /* External symbol (as opposed to local-to-this-file) */
#define N_TYPE   0x1e
#define N_STAB   0xe0 /* If any of these bits are on, it's a debug symbol */
#define N_INDR   0x0a
#define N_SETA   0x14 /* Absolute set element symbol */
#define N_SETT   0x16 /* Text set element symbol */
#define N_SETD   0x18 /* Data set element symbol */
#define N_SETB   0x1A /* Bss set element symbol */
#define N_SETV   0x1C /* Pointer to set vector in data area. */
#define N_WARNING   0x1e
#define RELOC_STD_BITS_PCREL_BIG   0x80
#define RELOC_STD_BITS_PCREL_LITTLE   0x01
#define RELOC_STD_BITS_LENGTH_BIG   0x60
#define RELOC_STD_BITS_LENGTH_SH_BIG   5 /* To shift to units place */
#define RELOC_STD_BITS_LENGTH_LITTLE   0x06
#define RELOC_STD_BITS_LENGTH_SH_LITTLE   1
#define RELOC_STD_BITS_EXTERN_BIG   0x10
#define RELOC_STD_BITS_EXTERN_LITTLE   0x08
#define RELOC_STD_BITS_BASEREL_BIG   0x08
#define RELOC_STD_BITS_BASEREL_LITTLE   0x08
#define RELOC_STD_BITS_JMPTABLE_BIG   0x04
#define RELOC_STD_BITS_JMPTABLE_LITTLE   0x04
#define RELOC_STD_BITS_RELATIVE_BIG   0x02
#define RELOC_STD_BITS_RELATIVE_LITTLE   0x02
#define RELOC_STD_SIZE   (BYTES_IN_WORD + 3 + 1) /* Bytes per relocation entry */
#define RELOC_EXT_BITS_EXTERN_BIG   0x80
#define RELOC_EXT_BITS_EXTERN_LITTLE   0x01
#define RELOC_EXT_BITS_TYPE_BIG   0x1F
#define RELOC_EXT_BITS_TYPE_SH_BIG   0
#define RELOC_EXT_BITS_TYPE_LITTLE   0xF8
#define RELOC_EXT_BITS_TYPE_SH_LITTLE   3
#define RELOC_EXT_SIZE   (BYTES_IN_WORD + 3 + 1 + BYTES_IN_WORD)

Enumerations

enum  reloc_type {
  R_SPARC_NONE = 0, R_SPARC_8, R_SPARC_16, R_SPARC_32,
  R_SPARC_DISP8, R_SPARC_DISP16, R_SPARC_DISP32, R_SPARC_WDISP30,
  R_SPARC_WDISP22, R_SPARC_HI22, R_SPARC_22, R_SPARC_13,
  R_SPARC_LO10, R_SPARC_GOT10, R_SPARC_GOT13, R_SPARC_GOT22,
  R_SPARC_PC10, R_SPARC_PC22, R_SPARC_WPLT30, R_SPARC_COPY,
  R_SPARC_GLOB_DAT, R_SPARC_JMP_SLOT, R_SPARC_RELATIVE, R_SPARC_UA32,
  R_SPARC_max, R_MN10200_NONE = 0, R_MN10200_32, R_MN10200_16,
  R_MN10200_8, R_MN10200_24, R_MN10200_PCREL8, R_MN10200_PCREL16,
  R_MN10200_PCREL24, R_MN10200_MAX, R_SPARC_NONE = 0, R_SPARC_8,
  R_SPARC_16, R_SPARC_32, R_SPARC_DISP8, R_SPARC_DISP16,
  R_SPARC_DISP32, R_SPARC_WDISP30, R_SPARC_WDISP22, R_SPARC_HI22,
  R_SPARC_22, R_SPARC_13, R_SPARC_LO10, R_SPARC_GOT10,
  R_SPARC_GOT13, R_SPARC_GOT22, R_SPARC_PC10, R_SPARC_PC22,
  R_SPARC_WPLT30, R_SPARC_COPY, R_SPARC_GLOB_DAT, R_SPARC_JMP_SLOT,
  R_SPARC_RELATIVE, R_SPARC_UA32, R_SPARC_max, RELOC_8,
  RELOC_16, RELOC_32, RELOC_DISP8, RELOC_DISP16,
  RELOC_DISP32, RELOC_WDISP30, RELOC_WDISP22, RELOC_HI22,
  RELOC_22, RELOC_13, RELOC_LO10, RELOC_SFA_BASE,
  RELOC_SFA_OFF13, RELOC_BASE10, RELOC_BASE13, RELOC_BASE22,
  RELOC_PC10, RELOC_PC22, RELOC_JMP_TBL, RELOC_SEGOFF16,
  RELOC_GLOB_DAT, RELOC_JMP_SLOT, RELOC_RELATIVE, RELOC_11,
  RELOC_WDISP2_14, RELOC_WDISP19, RELOC_HHI22, RELOC_HLO10,
  RELOC_JUMPTARG, RELOC_CONST, RELOC_CONSTH, NO_RELOC,
  RELOC_8, RELOC_16, RELOC_32, RELOC_DISP8,
  RELOC_DISP16, RELOC_DISP32, RELOC_WDISP30, RELOC_WDISP22,
  RELOC_HI22, RELOC_22, RELOC_13, RELOC_LO10,
  RELOC_SFA_BASE, RELOC_SFA_OFF13, RELOC_BASE10, RELOC_BASE13,
  RELOC_BASE22, RELOC_PC10, RELOC_PC22, RELOC_JMP_TBL,
  RELOC_SEGOFF16, RELOC_GLOB_DAT, RELOC_JMP_SLOT, RELOC_RELATIVE,
  RELOC_11, RELOC_WDISP2_14, RELOC_WDISP19, RELOC_HHI22,
  RELOC_HLO10, RELOC_JUMPTARG, RELOC_CONST, RELOC_CONSTH,
  RELOC_64, RELOC_DISP64, RELOC_WDISP21, RELOC_DISP21,
  RELOC_DISP14, NO_RELOC, RELOC_8, RELOC_16,
  RELOC_32, RELOC_DISP8, RELOC_DISP16, RELOC_DISP32,
  RELOC_WDISP30, RELOC_WDISP22, RELOC_HI22, RELOC_22,
  RELOC_13, RELOC_LO10, RELOC_SFA_BASE, RELOC_SFA_OFF13,
  RELOC_BASE10, RELOC_BASE13, RELOC_BASE22, RELOC_PC10,
  RELOC_PC22, RELOC_JMP_TBL, RELOC_SEGOFF16, RELOC_GLOB_DAT,
  RELOC_JMP_SLOT, RELOC_RELATIVE, RELOC_11, RELOC_WDISP2_14,
  RELOC_WDISP19, RELOC_HHI22, RELOC_HLO10, RELOC_JUMPTARG,
  RELOC_CONST, RELOC_CONSTH, RELOC_WDISP14, RELOC_WDISP21,
  NO_RELOC
}

Class Documentation

struct external_exec

Definition at line 28 of file adobe.h.

Class Members
unsigned char e_balign
bfd_byte e_bss
unsigned char e_bss
unsigned char e_dalign
bfd_byte e_data
unsigned char e_data
unsigned char e_dload
bfd_byte e_drsize
unsigned char e_drsize
bfd_byte e_entry
unsigned char e_entry
bfd_byte e_info
unsigned char e_info
unsigned char e_relaxable
bfd_byte e_syms
unsigned char e_syms
unsigned char e_talign
bfd_byte e_text
unsigned char e_text
unsigned char e_tload
bfd_byte e_trsize
unsigned char e_trsize
struct external_segdesc

Definition at line 65 of file adobe.h.

Class Members
unsigned char e_filebase
unsigned char e_size
unsigned char e_type
unsigned char e_virtbase
struct internal_segdesc

Definition at line 72 of file adobe.h.

Class Members
unsigned int a_filebase
unsigned int a_size:24
unsigned int a_type:8
bfd_vma a_virtbase
struct external_nlist

Definition at line 100 of file adobe.h.

Class Members
bfd_byte e_desc
bfd_byte e_other
bfd_byte e_strx
bfd_byte e_type
bfd_byte e_value
struct internal_nlist

Definition at line 110 of file adobe.h.

Class Members
unsigned short n_desc
unsigned char n_other
unsigned long n_strx
unsigned char n_type
bfd_vma n_value
struct reloc_std_external

Definition at line 180 of file adobe.h.

Class Members
bfd_byte r_address
bfd_byte r_index
bfd_byte r_type
struct reloc_std_internal

Definition at line 208 of file adobe.h.

Class Members
bfd_vma r_address
unsigned int r_baserel:1
unsigned int r_extern:1
unsigned int r_jmptable:1
unsigned int r_length:2
unsigned int r_pad:1
unsigned int r_pcrel:1
unsigned int r_relative:1
unsigned int r_symbolnum:24
struct reloc_ext_external

Definition at line 239 of file adobe.h.

Class Members
bfd_byte r_addend
bfd_byte r_address
bfd_byte r_index
bfd_byte r_type
struct reloc_internal

Definition at line 306 of file adobe.h.

Class Members
bfd_vma r_address
long r_index

Define Documentation

#define BYTES_IN_WORD   4

Definition at line 22 of file adobe.h.

#define EXEC_BYTES_SIZE   (4 + BYTES_IN_WORD * 7)

Definition at line 40 of file adobe.h.

Definition at line 108 of file adobe.h.

#define N_ABS   2 /* Absolute symbol -- defined at particular addr */

Definition at line 121 of file adobe.h.

#define N_BADMAG (   x)    ((x).a_info != ZMAGIC)

Definition at line 49 of file adobe.h.

#define N_BSS   8 /* BSS sym -- defined at offset in zero'd seg */

Definition at line 124 of file adobe.h.

#define N_BSSADDR (   x)

Definition at line 89 of file adobe.h.

#define N_COMM   0x12 /* Common symbol (visible after shared lib dynlink) */

Definition at line 125 of file adobe.h.

#define N_DATA   6 /* Data sym -- defined at offset in data seg */

Definition at line 123 of file adobe.h.

#define N_DATADDR (   x)

Definition at line 87 of file adobe.h.

#define N_DATOFF (   x)    ( N_TXTOFF(x) + N_TXTSIZE(x) )

Definition at line 93 of file adobe.h.

#define N_DRELOFF (   x)    ( N_TRELOFF(x) + (x).a_trsize )

Definition at line 95 of file adobe.h.

#define N_EXT   1 /* External symbol (as opposed to local-to-this-file) */

Definition at line 131 of file adobe.h.

#define N_FN   0x1f /* File name of .o file */

Definition at line 126 of file adobe.h.

#define N_FN_SEQ   0x0C /* N_FN from Sequent compilers (sigh) */

Definition at line 127 of file adobe.h.

#define N_INDR   0x0a

Definition at line 135 of file adobe.h.

#define N_SEGSIZE (   x)    SEGMENT_SIZE

Definition at line 54 of file adobe.h.

#define N_SETA   0x14 /* Absolute set element symbol */

Definition at line 149 of file adobe.h.

#define N_SETB   0x1A /* Bss set element symbol */

Definition at line 152 of file adobe.h.

#define N_SETD   0x18 /* Data set element symbol */

Definition at line 151 of file adobe.h.

#define N_SETT   0x16 /* Text set element symbol */

Definition at line 150 of file adobe.h.

#define N_SETV   0x1C /* Pointer to set vector in data area. */

Definition at line 155 of file adobe.h.

#define N_STAB   0xe0 /* If any of these bits are on, it's a debug symbol */

Definition at line 133 of file adobe.h.

#define N_STROFF (   x)    ( N_SYMOFF(x) + (x).a_syms )

Definition at line 97 of file adobe.h.

#define N_SYMOFF (   x)    ( N_DRELOFF(x) + (x).a_drsize )

Definition at line 96 of file adobe.h.

#define N_TEXT   4 /* Text sym -- defined at offset in text seg */

Definition at line 122 of file adobe.h.

#define N_TRELOFF (   x)    ( N_DATOFF(x) + (x).a_data )

Definition at line 94 of file adobe.h.

#define N_TXTADDR (   x)

Definition at line 79 of file adobe.h.

#define N_TXTOFF (   x)    2048

Definition at line 83 of file adobe.h.

#define N_TXTSIZE (   x)    ((x).a_text)

Definition at line 85 of file adobe.h.

#define N_TYPE   0x1e

Definition at line 132 of file adobe.h.

#define N_UNDF   0 /* Undefined symbol */

Definition at line 120 of file adobe.h.

#define N_WARNING   0x1e

Definition at line 161 of file adobe.h.

#define RELOC_EXT_BITS_EXTERN_BIG   0x80

Definition at line 246 of file adobe.h.

#define RELOC_EXT_BITS_EXTERN_LITTLE   0x01

Definition at line 247 of file adobe.h.

#define RELOC_EXT_BITS_TYPE_BIG   0x1F

Definition at line 249 of file adobe.h.

#define RELOC_EXT_BITS_TYPE_LITTLE   0xF8

Definition at line 251 of file adobe.h.

Definition at line 250 of file adobe.h.

Definition at line 252 of file adobe.h.

#define RELOC_EXT_SIZE   (BYTES_IN_WORD + 3 + 1 + BYTES_IN_WORD)

Definition at line 255 of file adobe.h.

#define RELOC_STD_BITS_BASEREL_BIG   0x08

Definition at line 197 of file adobe.h.

#define RELOC_STD_BITS_BASEREL_LITTLE   0x08

Definition at line 198 of file adobe.h.

#define RELOC_STD_BITS_EXTERN_BIG   0x10

Definition at line 194 of file adobe.h.

#define RELOC_STD_BITS_EXTERN_LITTLE   0x08

Definition at line 195 of file adobe.h.

#define RELOC_STD_BITS_JMPTABLE_BIG   0x04

Definition at line 200 of file adobe.h.

#define RELOC_STD_BITS_JMPTABLE_LITTLE   0x04

Definition at line 201 of file adobe.h.

#define RELOC_STD_BITS_LENGTH_BIG   0x60

Definition at line 189 of file adobe.h.

#define RELOC_STD_BITS_LENGTH_LITTLE   0x06

Definition at line 191 of file adobe.h.

#define RELOC_STD_BITS_LENGTH_SH_BIG   5 /* To shift to units place */

Definition at line 190 of file adobe.h.

Definition at line 192 of file adobe.h.

#define RELOC_STD_BITS_PCREL_BIG   0x80

Definition at line 186 of file adobe.h.

#define RELOC_STD_BITS_PCREL_LITTLE   0x01

Definition at line 187 of file adobe.h.

#define RELOC_STD_BITS_RELATIVE_BIG   0x02

Definition at line 203 of file adobe.h.

#define RELOC_STD_BITS_RELATIVE_LITTLE   0x02

Definition at line 204 of file adobe.h.

#define RELOC_STD_SIZE   (BYTES_IN_WORD + 3 + 1) /* Bytes per relocation entry */

Definition at line 206 of file adobe.h.

#define ZMAGIC   0xAD0BE /* Cute, eh? */

Definition at line 45 of file adobe.h.


Enumeration Type Documentation

enum reloc_type
Enumerator:
R_SPARC_NONE 
R_SPARC_8 
R_SPARC_16 
R_SPARC_32 
R_SPARC_DISP8 
R_SPARC_DISP16 
R_SPARC_DISP32 
R_SPARC_WDISP30 
R_SPARC_WDISP22 
R_SPARC_HI22 
R_SPARC_22 
R_SPARC_13 
R_SPARC_LO10 
R_SPARC_GOT10 
R_SPARC_GOT13 
R_SPARC_GOT22 
R_SPARC_PC10 
R_SPARC_PC22 
R_SPARC_WPLT30 
R_SPARC_COPY 
R_SPARC_GLOB_DAT 
R_SPARC_JMP_SLOT 
R_SPARC_RELATIVE 
R_SPARC_UA32 
R_SPARC_max 
R_MN10200_NONE 
R_MN10200_32 
R_MN10200_16 
R_MN10200_8 
R_MN10200_24 
R_MN10200_PCREL8 
R_MN10200_PCREL16 
R_MN10200_PCREL24 
R_MN10200_MAX 
R_SPARC_NONE 
R_SPARC_8 
R_SPARC_16 
R_SPARC_32 
R_SPARC_DISP8 
R_SPARC_DISP16 
R_SPARC_DISP32 
R_SPARC_WDISP30 
R_SPARC_WDISP22 
R_SPARC_HI22 
R_SPARC_22 
R_SPARC_13 
R_SPARC_LO10 
R_SPARC_GOT10 
R_SPARC_GOT13 
R_SPARC_GOT22 
R_SPARC_PC10 
R_SPARC_PC22 
R_SPARC_WPLT30 
R_SPARC_COPY 
R_SPARC_GLOB_DAT 
R_SPARC_JMP_SLOT 
R_SPARC_RELATIVE 
R_SPARC_UA32 
R_SPARC_max 
RELOC_8 
RELOC_16 
RELOC_32 
RELOC_DISP8 
RELOC_DISP16 
RELOC_DISP32 
RELOC_WDISP30 
RELOC_WDISP22 
RELOC_HI22 
RELOC_22 
RELOC_13 
RELOC_LO10 
RELOC_SFA_BASE 
RELOC_SFA_OFF13 
RELOC_BASE10 
RELOC_BASE13 
RELOC_BASE22 
RELOC_PC10 
RELOC_PC22 
RELOC_JMP_TBL 
RELOC_SEGOFF16 
RELOC_GLOB_DAT 
RELOC_JMP_SLOT 
RELOC_RELATIVE 
RELOC_11 
RELOC_WDISP2_14 
RELOC_WDISP19 
RELOC_HHI22 
RELOC_HLO10 
RELOC_JUMPTARG 
RELOC_CONST 
RELOC_CONSTH 
NO_RELOC 
RELOC_8 
RELOC_16 
RELOC_32 
RELOC_DISP8 
RELOC_DISP16 
RELOC_DISP32 
RELOC_WDISP30 
RELOC_WDISP22 
RELOC_HI22 
RELOC_22 
RELOC_13 
RELOC_LO10 
RELOC_SFA_BASE 
RELOC_SFA_OFF13 
RELOC_BASE10 
RELOC_BASE13 
RELOC_BASE22 
RELOC_PC10 
RELOC_PC22 
RELOC_JMP_TBL 
RELOC_SEGOFF16 
RELOC_GLOB_DAT 
RELOC_JMP_SLOT 
RELOC_RELATIVE 
RELOC_11 
RELOC_WDISP2_14 
RELOC_WDISP19 
RELOC_HHI22 
RELOC_HLO10 
RELOC_JUMPTARG 
RELOC_CONST 
RELOC_CONSTH 
RELOC_64 
RELOC_DISP64 
RELOC_WDISP21 
RELOC_DISP21 
RELOC_DISP14 
NO_RELOC 
RELOC_8 
RELOC_16 
RELOC_32 
RELOC_DISP8 
RELOC_DISP16 
RELOC_DISP32 
RELOC_WDISP30 
RELOC_WDISP22 
RELOC_HI22 
RELOC_22 
RELOC_13 
RELOC_LO10 
RELOC_SFA_BASE 
RELOC_SFA_OFF13 
RELOC_BASE10 
RELOC_BASE13 
RELOC_BASE22 
RELOC_PC10 
RELOC_PC22 
RELOC_JMP_TBL 
RELOC_SEGOFF16 
RELOC_GLOB_DAT 
RELOC_JMP_SLOT 
RELOC_RELATIVE 
RELOC_11 
RELOC_WDISP2_14 
RELOC_WDISP19 
RELOC_HHI22 
RELOC_HLO10 
RELOC_JUMPTARG 
RELOC_CONST 
RELOC_CONSTH 
RELOC_WDISP14 
RELOC_WDISP21 
NO_RELOC 

Definition at line 257 of file adobe.h.

{
  /* simple relocations */
  RELOC_8,                  /* data[0:7] = addend + sv         */
  RELOC_16,                 /* data[0:15] = addend + sv               */
  RELOC_32,                 /* data[0:31] = addend + sv               */
  /* pc-rel displacement */
  RELOC_DISP8,                     /* data[0:7] = addend - pc + sv    */
  RELOC_DISP16,                    /* data[0:15] = addend - pc + sv   */
  RELOC_DISP32,                    /* data[0:31] = addend - pc + sv   */
  /* Special */
  RELOC_WDISP30,            /* data[0:29] = (addend + sv - pc)>>2     */
  RELOC_WDISP22,            /* data[0:21] = (addend + sv - pc)>>2     */
  RELOC_HI22,               /* data[0:21] = (addend + sv)>>10  */
  RELOC_22,                 /* data[0:21] = (addend + sv)             */
  RELOC_13,                 /* data[0:12] = (addend + sv)             */
  RELOC_LO10,               /* data[0:9] = (addend + sv)              */
  RELOC_SFA_BASE,           
  RELOC_SFA_OFF13,
  /* P.I.C. (base-relative) */
  RELOC_BASE10,             /* Not sure - maybe we can do this the */
  RELOC_BASE13,                    /* right way now */
  RELOC_BASE22,
  /* for some sort of pc-rel P.I.C. (?) */
  RELOC_PC10,
  RELOC_PC22,
  /* P.I.C. jump table */
  RELOC_JMP_TBL,
  /* reputedly for shared libraries somehow */
  RELOC_SEGOFF16,
  RELOC_GLOB_DAT,
  RELOC_JMP_SLOT,
  RELOC_RELATIVE,

  RELOC_11,   
  RELOC_WDISP2_14,
  RELOC_WDISP19,
  RELOC_HHI22,                     /* data[0:21] = (addend + sv) >> 42     */
  RELOC_HLO10,                     /* data[0:9] = (addend + sv) >> 32      */
  
  /* 29K relocation types */
  RELOC_JUMPTARG,
  RELOC_CONST,
  RELOC_CONSTH,
  
  NO_RELOC
  };