osprey/common/com/em_elf.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define Roundup(_value, _align)   ((_value+(_align-1)) & (~(_align-1)))

Typedefs

typedef struct section_info SCNINFO
typedef struct section_infopSCNINFO

Functions/Subroutines

INT Em_Begin_File (char *ofilename, BOOL update, BOOL elf64, BOOL old_abi, INT isa, BOOL big_endian, BOOL pic, BOOL cpic, BOOL xgot, BOOL gp_groups, BOOL elf_trace)
void Em_End_File (void)
pSCNINFO Em_New_Section (const char *scnname, Elf64_Word scntype, Elf64_Xword scnflags, Elf64_Xword scnentsize, Elf64_Xword scnalign)
void Em_End_Section (pSCNINFO scninfo)
void Em_New_Data_Buffer (pSCNINFO scninfo, Elf64_Xword size, INT alignment)
Elf64_Word Em_Add_New_Symbol (char *symname, Elf64_Addr symvalue, Elf64_Xword symsize, unsigned char symbind, unsigned char symtype, unsigned char symother, Elf64_Half symshndx)
Elf64_Word Em_Add_New_Undef_Symbol (char *symname, unsigned char symbind, unsigned char symtype, unsigned char symother)
Elf64_Word Em_Add_New_Common_Symbol (char *symname, Elf64_Xword symsize, unsigned char symbind, unsigned char symother)
Elf64_Word Em_Add_New_Weak_Symbol (char *weakname, unsigned char symtype, unsigned char symother, Elf64_Word symindex)
void Em_Define_Symbol (Elf64_Word symindex, Elf64_Addr symvalue, Elf64_Xword symsize, pSCNINFO scninfo)
void Em_Undefine_Symbol (Elf64_Word symindex)
void Em_Set_Symbol_Binding (Elf64_Word symindex, unsigned char symbind)
Elf64_Addr Em_Get_Symbol_Value (Elf64_Word symindex)
char * Em_Get_Symbol_Name (Elf64_Word symindex)
void Em_Add_New_Rel (Elf64_Word symindex, unsigned char reltype, Elf64_Addr reloffset, pSCNINFO scninfo)
void Em_Add_New_Rela (Elf64_Word symindex, unsigned char reltype, Elf64_Addr reloffset, Elf64_Sxword addend, pSCNINFO scninfo)
void Em_Add_New_Composite_Rela (Elf64_AltRela *preloc, pSCNINFO scninfo)
void Em_Change_Section_Origin (pSCNINFO scn, Elf64_Xword scn_ofst)
void Em_Change_Section_Alignment (pSCNINFO scn, Elf64_Word scn_align)
Elf64_Xword Em_Add_Bytes_To_Scn (pSCNINFO scninfo, const void *input_buf, Elf64_Xword length, Elf64_Word align)
Elf64_Xword Em_Add_Zeros_To_Scn (pSCNINFO scninfo, Elf64_Word length, Elf64_Word align)
Elf64_Xword Em_Add_Address_To_Scn (pSCNINFO scninfo, Elf64_Word symindex, Elf64_Sxword addend, Elf64_Word align)
Elf64_Xword Em_Add_Displacement_To_Scn (pSCNINFO scninfo, Elf64_Word symindex, Elf64_Sxword addend, Elf64_Word align)
void Em_Set_sh_link (pSCNINFO scn, Elf64_Word link)
void Em_Set_sh_info (pSCNINFO scn, Elf64_Word info)
size_t Em_Get_Section_Index (pSCNINFO scn)
Elf64_Xword Em_Get_Section_Offset (pSCNINFO scn)
char * Em_Get_Section_Name (pSCNINFO scn)
Elf64_Word Em_Get_Section_Type (pSCNINFO scn)
Elf64_Word Em_Get_Section_Flags (pSCNINFO scn)
Elf64_Word Em_Get_Section_Entsize (pSCNINFO scn)
Elf64_Word Em_Get_Section_Align (pSCNINFO scn)
Elf64_Word Em_Get_Section_Info (pSCNINFO scn)
Elf64_Word Em_Create_Section_Symbol (pSCNINFO scninfo)
void Em_Write_Reginfo (Elf64_Addr gprvalue, Elf64_Word gprmask, Elf64_Word fprmask, BOOL pure_abi)
void Em_Add_New_Event (Elf64_Word ev_kind, Elf64_Word ev_ofst, Elf64_Word operand1, Elf64_Word operand2, Elf64_Word operand3, pSCNINFO scn)
void Em_Add_New_Content (Elf64_Word con_kind, Elf64_Xword con_ofst, Elf64_Word operand1, Elf64_Word operand2, pSCNINFO scn)
void Em_Add_New_Option (Elf32_Byte option_kind, Elf32_Section option_section, Elf32_Word option_info, void *buffer, Elf32_Byte length)
void Em_Add_New_Interface (Elf64_Word length, Elf64_Byte *data)
void Em_Add_Comment (char *s)
void Em_End_Unwind (FILE *trace_file, pSCNINFO text_scn)
void Em_Cleanup_Unwind (void)

Variables

INT GP_DISP
pSCNINFO Symtab_Info
BOOL Sixtyfour_Bit
pSCNINFO Options_Scn


Define Documentation

#define Roundup ( _value,
_align   )     ((_value+(_align-1)) & (~(_align-1)))


Typedef Documentation

Definition at line 68 of file em_elf.h.

Definition at line 68 of file em_elf.h.


Function Documentation

Elf64_Xword Em_Add_Address_To_Scn ( pSCNINFO  scninfo,
Elf64_Word  symindex,
Elf64_Sxword  addend,
Elf64_Word  align 
)

Elf64_Xword Em_Add_Bytes_To_Scn ( pSCNINFO  scninfo,
const void input_buf,
Elf64_Xword  length,
Elf64_Word  align 
)

void Em_Add_Comment ( char *  s  ) 

Elf64_Xword Em_Add_Displacement_To_Scn ( pSCNINFO  scninfo,
Elf64_Word  symindex,
Elf64_Sxword  addend,
Elf64_Word  align 
)

Definition at line 288 of file em_elf.cxx.

References Em_Add_Bytes_To_Scn(), Em_Add_New_Rel(), index(), INT32, and R_SCN_DISP.

Referenced by Write_Symbol().

Elf64_Word Em_Add_New_Common_Symbol ( char *  symname,
Elf64_Xword  symsize,
unsigned char  symbind,
unsigned char  symother 
)

Definition at line 896 of file em_elf.cxx.

References Em_Add_New_Symbol(), SHN_COMMON, and STT_OBJECT.

void Em_Add_New_Composite_Rela ( Elf64_AltRela preloc,
pSCNINFO  scninfo 
)

void Em_Add_New_Content ( Elf64_Word  con_kind,
Elf64_Xword  con_ofst,
Elf64_Word  operand1,
Elf64_Word  operand2,
pSCNINFO  scn 
)

Definition at line 164 of file targ_em_elf.cxx.

Referenced by Assemble_Simulated_OP(), Write_Label(), and Write_Symbol().

void Em_Add_New_Event ( Elf64_Word  ev_kind,
Elf64_Word  ev_ofst,
Elf64_Word  operand1,
Elf64_Word  operand2,
Elf64_Word  operand3,
pSCNINFO  scn 
)

void Em_Add_New_Interface ( Elf64_Word  length,
Elf64_Byte *  data 
)

void Em_Add_New_Option ( Elf32_Byte  option_kind,
Elf32_Section  option_section,
Elf32_Word  option_info,
void buffer,
Elf32_Byte  length 
)

void Em_Add_New_Rel ( Elf64_Word  symindex,
unsigned char  reltype,
Elf64_Addr  reloffset,
pSCNINFO  scninfo 
)

void Em_Add_New_Rela ( Elf64_Word  symindex,
unsigned char  reltype,
Elf64_Addr  reloffset,
Elf64_Sxword  addend,
pSCNINFO  scninfo 
)

Elf64_Word Em_Add_New_Symbol ( char *  symname,
Elf64_Addr  symvalue,
Elf64_Xword  symsize,
unsigned char  symbind,
unsigned char  symtype,
unsigned char  symother,
Elf64_Half  symshndx 
)

Elf64_Word Em_Add_New_Undef_Symbol ( char *  symname,
unsigned char  symbind,
unsigned char  symtype,
unsigned char  symother 
)

Definition at line 911 of file em_elf.cxx.

References Em_Add_New_Symbol(), and SHN_UNDEF.

Referenced by EMT_Put_Elf_Symbol().

Elf64_Word Em_Add_New_Weak_Symbol ( char *  weakname,
unsigned char  symtype,
unsigned char  symother,
Elf64_Word  symindex 
)

Definition at line 926 of file em_elf.cxx.

References EC_Elf_Idx, Em_Add_New_Symbol(), ErrMsg(), SCNINFO_buffer, SCNINFO_size, Sixtyfour_Bit, and STB_WEAK.

Referenced by EMT_End_File().

Elf64_Xword Em_Add_Zeros_To_Scn ( pSCNINFO  scninfo,
Elf64_Word  length,
Elf64_Word  align 
)

INT Em_Begin_File ( char *  ofilename,
BOOL  update,
BOOL  elf64,
BOOL  old_abi,
INT  isa,
BOOL  big_endian,
BOOL  pic,
BOOL  cpic,
BOOL  xgot,
BOOL  gp_groups,
BOOL  elf_trace 
)

void Em_Change_Section_Alignment ( pSCNINFO  scn,
Elf64_Word  scn_align 
)

Definition at line 161 of file em_elf.cxx.

References SCNINFO_align.

Referenced by EMT_End_File().

void Em_Change_Section_Origin ( pSCNINFO  scn,
Elf64_Xword  scn_ofst 
)

Definition at line 154 of file em_elf.cxx.

References SCNINFO_offset.

Referenced by Change_Section_Origin(), and Setup_Text_Section_For_PU().

void Em_Cleanup_Unwind ( void   ) 

Definition at line 186 of file targ_em_elf.cxx.

References unwind_cleanup().

Referenced by EMT_End_File().

Elf64_Word Em_Create_Section_Symbol ( pSCNINFO  scninfo  ) 

void Em_Define_Symbol ( Elf64_Word  symindex,
Elf64_Addr  symvalue,
Elf64_Xword  symsize,
pSCNINFO  scninfo 
)

void Em_End_File ( void   ) 

void Em_End_Section ( pSCNINFO  scninfo  ) 

void Em_End_Unwind ( FILE trace_file,
pSCNINFO  text_scn 
)

Definition at line 175 of file targ_em_elf.cxx.

References unwind_dump2ascii(), unwind_dump2elf(), and unwind_process().

Elf64_Word Em_Get_Section_Align ( pSCNINFO  scn  ) 

Elf64_Word Em_Get_Section_Entsize ( pSCNINFO  scn  ) 

Elf64_Word Em_Get_Section_Flags ( pSCNINFO  scn  ) 

size_t Em_Get_Section_Index ( pSCNINFO  scn  ) 

Elf64_Word Em_Get_Section_Info ( pSCNINFO  scn  ) 

char* Em_Get_Section_Name ( pSCNINFO  scn  ) 

Elf64_Xword Em_Get_Section_Offset ( pSCNINFO  scn  ) 

Definition at line 458 of file em_elf.cxx.

References SCNINFO_offset.

Referenced by EMT_End_File(), and Setup_Text_Section_For_PU().

Elf64_Word Em_Get_Section_Type ( pSCNINFO  scn  ) 

char* Em_Get_Symbol_Name ( Elf64_Word  symindex  ) 

Elf64_Addr Em_Get_Symbol_Value ( Elf64_Word  symindex  ) 

void Em_New_Data_Buffer ( pSCNINFO  scninfo,
Elf64_Xword  size,
INT  alignment 
)

Definition at line 1373 of file em_elf.cxx.

References Increase_Data_Buffer_Size(), Roundup, SCNINFO_align, and SCNINFO_size.

Referenced by Init_Section(), and unwind_dump2elf().

pSCNINFO Em_New_Section ( const char *  scnname,
Elf64_Word  scntype,
Elf64_Xword  scnflags,
Elf64_Xword  scnentsize,
Elf64_Xword  scnalign 
)

void Em_Set_sh_info ( pSCNINFO  scn,
Elf64_Word  info 
)

void Em_Set_sh_link ( pSCNINFO  scn,
Elf64_Word  link 
)

void Em_Set_Symbol_Binding ( Elf64_Word  symindex,
unsigned char  symbind 
)

void Em_Undefine_Symbol ( Elf64_Word  symindex  ) 

void Em_Write_Reginfo ( Elf64_Addr  gprvalue,
Elf64_Word  gprmask,
Elf64_Word  fprmask,
BOOL  pure_abi 
)


Variable Documentation

Definition at line 101 of file em_elf.cxx.

Referenced by Em_Add_New_Option().

Definition at line 91 of file em_elf.cxx.

Referenced by setup_new_section_for_dwarf().


Generated on Wed Apr 8 14:38:20 2009 for Open64 by  doxygen 1.5.6