Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
Go to the source code of this file.
Definition at line 62 of file em_elf.h.
Referenced by Em_Add_Bytes_To_Scn(), Em_Add_New_Option(), and Em_New_Data_Buffer().
typedef struct section_info * pSCNINFO |
typedef struct section_info SCNINFO |
Elf64_Xword Em_Add_Address_To_Scn | ( | pSCNINFO | scninfo, |
Elf64_Word | symindex, | ||
Elf64_Sxword | addend, | ||
Elf64_Word | align | ||
) |
Definition at line 236 of file em_elf.cxx.
References Em_Add_Bytes_To_Scn(), Em_Add_New_Rel(), Em_Add_New_Rela(), Em_Add_Zeros_To_Scn(), R_WORD32, R_WORD64, SCNINFO_scnptr, Elf32_Shdr::sh_flags, Elf64_Shdr::sh_flags, SHF_MERGE, and Sixtyfour_Bit.
Elf64_Xword Em_Add_Bytes_To_Scn | ( | pSCNINFO | scninfo, |
void * | input_buf, | ||
Elf64_Xword | length, | ||
Elf64_Word | align | ||
) |
Definition at line 161 of file em_elf.cxx.
References EC_Elf_Size64, ErrMsg(), Increase_Data_Buffer_Size(), NULL, Roundup, SCNINFO_align, SCNINFO_buffer, SCNINFO_limit, SCNINFO_offset, and SCNINFO_size.
Referenced by Create_Elf_Header(), Em_Add_Address_To_Scn(), Em_Add_Comment(), Em_Add_Displacement_To_Scn(), Em_Add_New_Composite_Rela(), Em_Add_New_Interface(), Em_Add_New_Option(), Em_Add_New_Rel(), Em_Add_New_Rela(), Em_Add_New_Symbol(), Em_Add_Zeros_To_Scn(), Em_Dwarf_Write_Scns(), Em_Targ_Emit_Const(), Generate_Addr_Reset(), Read_Section(), Set_Current_Location(), and String_To_Index().
void Em_Add_Comment | ( | char * | s | ) |
Definition at line 1077 of file em_elf.cxx.
References ELF_COMMENT, Em_Add_Bytes_To_Scn(), Em_New_Section(), INCLUDE_STAMP, NULL, object_file_name, s, and SHT_PROGBITS.
Elf64_Xword Em_Add_Displacement_To_Scn | ( | pSCNINFO | scninfo, |
Elf64_Word | symindex, | ||
Elf64_Sxword | addend, | ||
Elf64_Word | align | ||
) |
Definition at line 279 of file em_elf.cxx.
References Em_Add_Bytes_To_Scn(), Em_Add_New_Rel(), and R_SCN_DISP.
Elf64_Word Em_Add_New_Common_Symbol | ( | char * | symname, |
Elf64_Xword | symsize, | ||
unsigned char | symbind, | ||
unsigned char | symother | ||
) |
void Em_Add_New_Composite_Rela | ( | Elf64_Rela * | preloc, |
pSCNINFO | scninfo | ||
) |
Definition at line 659 of file em_elf.cxx.
References Create_New_Relocation_Section(), ELF32_FSZ_WORD, ELF64_FSZ_XWORD, Em_Add_Bytes_To_Scn(), NULL, R_NONE, REL64_sym, REL64_type, REL64_type2, REL64_type3, REL_addend, REL_offset, SCNINFO_relainfo, Set_REL32_info, Sixtyfour_Bit, and TRUE.
void Em_Add_New_Content | ( | Elf64_Word | con_kind, |
Elf64_Xword | con_ofst, | ||
Elf64_Word | operand1, | ||
Elf64_Word | operand2, | ||
pSCNINFO | scn | ||
) |
Definition at line 159 of file targ_em_elf.cxx.
void Em_Add_New_Event | ( | Elf64_Word | ev_kind, |
Elf64_Word | ev_ofst, | ||
Elf64_Word | operand1, | ||
Elf64_Word | operand2, | ||
Elf64_Word | operand3, | ||
pSCNINFO | scn | ||
) |
Definition at line 145 of file targ_em_elf.cxx.
void Em_Add_New_Interface | ( | Elf64_Word | length, |
Elf64_Byte * | data | ||
) |
Definition at line 1058 of file em_elf.cxx.
References ELF32_FSZ_WORD, Em_Add_Bytes_To_Scn(), Em_New_Section(), Em_Set_sh_link(), Interface_Scn, NULL, SCNINFO_index, SECT_IFACE_NAME, SHF_NOSTRIP, and SHT_IRIX_IFACE.
void Em_Add_New_Option | ( | Elf32_Byte | option_kind, |
Elf32_Section | option_section, | ||
Elf32_Word | option_info, | ||
void * | buffer, | ||
Elf32_Byte | length | ||
) |
Definition at line 105 of file targ_em_elf.cxx.
References ELF64_FSZ_WORD, ELF64_FSZ_XWORD, Em_Add_Bytes_To_Scn(), Em_New_Section(), IA64_OPTIONS, Elf_Options::info, Elf_Options::kind, NULL, Options_Scn, Roundup, Elf_Options::section, SHF_ALLOC, SHF_IRIX_NOSTRIP, SHT_IRIX_OPTIONS, and Elf_Options::size.
Referenced by Em_Write_Reginfo().
void Em_Add_New_Rel | ( | Elf64_Word | symindex, |
unsigned char | reltype, | ||
Elf64_Addr | reloffset, | ||
pSCNINFO | scninfo | ||
) |
Definition at line 570 of file em_elf.cxx.
References Create_New_Relocation_Section(), EC_Elf_Idx, ELF32_FSZ_WORD, ELF64_FSZ_XWORD, Em_Add_Bytes_To_Scn(), ErrMsg(), FALSE, NULL, REL64_ssym, REL64_type2, REL64_type3, REL_offset, SCNINFO_relinfo, Set_REL32_info, Set_REL64_info, and Sixtyfour_Bit.
Referenced by Em_Add_Address_To_Scn(), Em_Add_Displacement_To_Scn(), and Generate_Addr_Reset().
void Em_Add_New_Rela | ( | Elf64_Word | symindex, |
unsigned char | reltype, | ||
Elf64_Addr | reloffset, | ||
Elf64_Sxword | addend, | ||
pSCNINFO | scninfo | ||
) |
Definition at line 621 of file em_elf.cxx.
References Create_New_Relocation_Section(), ELF32_FSZ_WORD, ELF64_FSZ_XWORD, Em_Add_Bytes_To_Scn(), NULL, REL64_ssym, REL64_type2, REL64_type3, REL_addend, REL_offset, SCNINFO_relainfo, Set_REL32_info, Set_REL64_info, Sixtyfour_Bit, and TRUE.
Referenced by Em_Add_Address_To_Scn().
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 | ||
) |
Definition at line 837 of file em_elf.cxx.
References ELF32_FSZ_WORD, ELF32_ST_INFO, ELF64_FSZ_XWORD, ELF64_ST_INFO, Em_Add_Bytes_To_Scn(), NULL, Sixtyfour_Bit, Elf32_Sym::st_info, Elf64_Sym::st_info, Elf32_Sym::st_name, Elf64_Sym::st_name, Elf32_Sym::st_other, Elf64_Sym::st_other, Elf32_Sym::st_shndx, Elf64_Sym::st_shndx, Elf32_Sym::st_size, Elf64_Sym::st_size, Elf32_Sym::st_value, and Elf64_Sym::st_value.
Referenced by Create_Elf_Header(), Em_Add_New_Undef_Symbol(), Em_Add_New_Weak_Symbol(), and Em_Create_Section_Symbol().
Elf64_Word Em_Add_New_Undef_Symbol | ( | char * | symname, |
unsigned char | symbind, | ||
unsigned char | symtype, | ||
unsigned char | symother | ||
) |
Definition at line 902 of file em_elf.cxx.
References Em_Add_New_Symbol(), and SHN_UNDEF.
Elf64_Word Em_Add_New_Weak_Symbol | ( | char * | weakname, |
unsigned char | symtype, | ||
unsigned char | symother, | ||
Elf64_Word | symindex | ||
) |
Definition at line 917 of file em_elf.cxx.
References EC_Elf_Idx, Em_Add_New_Symbol(), ErrMsg(), SCNINFO_buffer, SCNINFO_size, Sixtyfour_Bit, and STB_WEAK.
Elf64_Xword Em_Add_Zeros_To_Scn | ( | pSCNINFO | scninfo, |
Elf64_Word | length, | ||
Elf64_Word | align | ||
) |
Definition at line 208 of file em_elf.cxx.
References buf, EC_No_Mem, Em_Add_Bytes_To_Scn(), ErrMsg(), free(), and NULL.
Referenced by Em_Add_Address_To_Scn().
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 | ||
) |
Definition at line 1223 of file em_elf.cxx.
References Big_Endian, cmd, Create_Elf_Header(), EC_Obj_Create, EC_Obj_Delete, Elf_Ptr, ErrMsg(), errno, EV_CURRENT, EV_NONE, Interface_Scn, NULL, object_file_name, open, print_elf_error(), Read_Elf_File(), result, Sixtyfour_Bit, stat, and unlink.
void Em_Change_Section_Alignment | ( | pSCNINFO | scn, |
Elf64_Word | scn_align | ||
) |
Definition at line 152 of file em_elf.cxx.
References SCNINFO_align.
void Em_Change_Section_Origin | ( | pSCNINFO | scn, |
Elf64_Xword | scn_ofst | ||
) |
Definition at line 145 of file em_elf.cxx.
References SCNINFO_offset.
void Em_Cleanup_Unwind | ( | void | ) |
Definition at line 181 of file targ_em_elf.cxx.
References unwind_cleanup().
Elf64_Word Em_Create_Section_Symbol | ( | pSCNINFO | scninfo | ) |
Definition at line 1376 of file em_elf.cxx.
References Em_Add_New_Symbol(), Em_Get_Section_Name(), SCNINFO_index, SCNINFO_scnidx, STB_LOCAL, and STT_SECTION.
Referenced by Em_Dwarf_End_Text_Arange(), Em_Dwarf_Start_Text_Lines(), Generate_Addr_Reset(), and setup_new_section_for_dwarf().
void Em_Define_Symbol | ( | Elf64_Word | symindex, |
Elf64_Addr | symvalue, | ||
Elf64_Xword | symsize, | ||
pSCNINFO | scninfo | ||
) |
Definition at line 700 of file em_elf.cxx.
References EC_Elf_Idx, ErrMsg(), SCNINFO_buffer, SCNINFO_index, SCNINFO_size, Sixtyfour_Bit, Elf32_Sym::st_shndx, Elf64_Sym::st_shndx, Elf32_Sym::st_size, Elf64_Sym::st_size, Elf32_Sym::st_value, and Elf64_Sym::st_value.
void Em_End_File | ( | void | ) |
Definition at line 1295 of file em_elf.cxx.
References Elf_Ptr, Em_End_Section(), Interface_Scn, NULL, print_elf_error(), and Update_Data().
void Em_End_Section | ( | pSCNINFO | scninfo | ) |
Definition at line 1341 of file em_elf.cxx.
References Em_End_Section(), free(), NULL, SCNINFO_contents, SCNINFO_events, SCNINFO_relainfo, SCNINFO_relinfo, Update_Addr_Reset_Size(), and Update_Data().
Referenced by Em_Dwarf_Write_Scns(), Em_End_File(), and Em_End_Section().
void Em_End_Unwind | ( | FILE * | trace_file, |
pSCNINFO | text_scn | ||
) |
Definition at line 170 of file targ_em_elf.cxx.
References unwind_dump2ascii(), unwind_dump2elf(), and unwind_process().
Definition at line 507 of file em_elf.cxx.
References SCNINFO_scnptr, and Sixtyfour_Bit.
Definition at line 496 of file em_elf.cxx.
References SCNINFO_scnptr, and Sixtyfour_Bit.
Definition at line 485 of file em_elf.cxx.
References SCNINFO_scnptr, and Sixtyfour_Bit.
size_t Em_Get_Section_Index | ( | pSCNINFO | scn | ) |
Definition at line 442 of file em_elf.cxx.
References SCNINFO_index.
Referenced by Em_Dwarf_Find_Dwarf_Scn(), and setup_new_section_for_dwarf().
Definition at line 518 of file em_elf.cxx.
References SCNINFO_scnptr, and Sixtyfour_Bit.
char* Em_Get_Section_Name | ( | pSCNINFO | scn | ) |
Definition at line 456 of file em_elf.cxx.
References section_info::buffer, SCNINFO_scnptr, Elf32_Shdr::sh_name, Elf64_Shdr::sh_name, and Sixtyfour_Bit.
Referenced by Create_New_Relocation_Section(), Em_Create_Section_Symbol(), Em_Dwarf_Find_Dwarf_Scn_By_Name(), and Em_Dwarf_Write_Scns().
Definition at line 449 of file em_elf.cxx.
References SCNINFO_offset.
Definition at line 474 of file em_elf.cxx.
References SCNINFO_scnptr, and Sixtyfour_Bit.
char* Em_Get_Symbol_Name | ( | Elf64_Word | symindex | ) |
Definition at line 815 of file em_elf.cxx.
References EC_Elf_Idx, ErrMsg(), Index_To_String(), SCNINFO_buffer, SCNINFO_size, and Sixtyfour_Bit.
Elf64_Addr Em_Get_Symbol_Value | ( | Elf64_Word | symindex | ) |
void Em_New_Data_Buffer | ( | pSCNINFO | scninfo, |
Elf64_Xword | size, | ||
INT | alignment | ||
) |
pSCNINFO Em_New_Section | ( | char * | scnname, |
Elf64_Word | scntype, | ||
Elf64_Xword | scnflags, | ||
Elf64_Xword | scnentsize, | ||
Elf64_Xword | scnalign | ||
) |
Definition at line 1319 of file em_elf.cxx.
References bzero(), Create_New_Section(), EC_No_Mem, ErrMsg(), NULL, SCNINFO_align, and SCNINFO_scnptr.
Referenced by Create_New_Relocation_Section(), Em_Add_Comment(), Em_Add_New_Interface(), Em_Add_New_Option(), and setup_new_section_for_dwarf().
void Em_Set_sh_info | ( | pSCNINFO | scn, |
Elf64_Word | info | ||
) |
Definition at line 399 of file em_elf.cxx.
References SCNINFO_scnptr, Elf32_Shdr::sh_info, Elf64_Shdr::sh_info, and Sixtyfour_Bit.
Referenced by Create_New_Relocation_Section(), and setup_new_section_for_dwarf().
void Em_Set_sh_link | ( | pSCNINFO | scn, |
Elf64_Word | link | ||
) |
Definition at line 383 of file em_elf.cxx.
References SCNINFO_scnptr, Elf32_Shdr::sh_link, Elf64_Shdr::sh_link, and Sixtyfour_Bit.
Referenced by Create_Elf_Header(), Create_New_Relocation_Section(), Em_Add_New_Interface(), and setup_new_section_for_dwarf().
void Em_Set_Symbol_Binding | ( | Elf64_Word | symindex, |
unsigned char | symbind | ||
) |
Definition at line 762 of file em_elf.cxx.
References EC_Elf_Idx, ELF32_ST_INFO, ELF32_ST_TYPE, ELF64_ST_INFO, ELF64_ST_TYPE, ErrMsg(), SCNINFO_buffer, SCNINFO_size, Sixtyfour_Bit, Elf32_Sym::st_info, and Elf64_Sym::st_info.
void Em_Undefine_Symbol | ( | Elf64_Word | symindex | ) |
Definition at line 737 of file em_elf.cxx.
References EC_Elf_Idx, ErrMsg(), SCNINFO_buffer, SCNINFO_size, SHN_UNDEF, Sixtyfour_Bit, Elf32_Sym::st_shndx, and Elf64_Sym::st_shndx.
void Em_Write_Reginfo | ( | Elf64_Addr | gprvalue, |
Elf64_Word | gprmask, | ||
Elf64_Word | fprmask, | ||
BOOL | pure_abi | ||
) |
Definition at line 79 of file targ_em_elf.cxx.
References EC_Assertion, Em_Add_New_Option(), EM_IA_64, ErrMsg(), Get_Elf_Target_Machine(), ODK_IA64_REGINFO, Elf_IA64_RegInfo::ri_gp_value, SHN_UNDEF, and Sixtyfour_Bit.
Definition at line 75 of file targ_em_elf.cxx.
Definition at line 92 of file em_elf.cxx.
Referenced by Em_Add_New_Option().
Definition at line 93 of file em_elf.cxx.
Referenced by Create_Elf_Header(), Create_New_Relocation_Section(), Create_New_Section(), Em_Add_Address_To_Scn(), Em_Add_New_Composite_Rela(), Em_Add_New_Rel(), Em_Add_New_Rela(), Em_Add_New_Symbol(), Em_Add_New_Weak_Symbol(), Em_Begin_File(), Em_Define_Symbol(), Em_Get_Section_Align(), Em_Get_Section_Entsize(), Em_Get_Section_Flags(), Em_Get_Section_Info(), Em_Get_Section_Name(), Em_Get_Section_Type(), Em_Get_Symbol_Name(), Em_Set_sh_info(), Em_Set_sh_link(), Em_Set_Symbol_Binding(), Em_Undefine_Symbol(), Em_Write_Reginfo(), and Read_Elf_File().
Definition at line 82 of file em_elf.cxx.
Referenced by setup_new_section_for_dwarf().