
Go to the source code of this file.
Definition at line 66 of file em_elf.h.
Referenced by Create_TY_For_Tree(), DST_enter_struct_union(), 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 245 of file em_elf.cxx.
References elf32_getshdr(), elf64_getshdr(), Em_Add_Bytes_To_Scn(), Em_Add_New_Rel(), Em_Add_New_Rela(), Em_Add_Zeros_To_Scn(), index(), INT32, INT64, R_WORD32, R_WORD64, SCNINFO_scnptr, Elf32_Shdr::sh_flags, SHF_MERGE, and Sixtyfour_Bit.
Referenced by Write_Label(), and Write_Symbol().
| Elf64_Xword Em_Add_Bytes_To_Scn | ( | pSCNINFO | scninfo, | |
| const void * | input_buf, | |||
| Elf64_Xword | length, | |||
| Elf64_Word | align | |||
| ) |
Definition at line 170 of file em_elf.cxx.
References EC_Elf_Size64, ErrMsg(), Increase_Data_Buffer_Size(), index(), INT32, memcpy, NULL, Roundup, SCNINFO_align, SCNINFO_buffer, SCNINFO_limit, SCNINFO_offset, and SCNINFO_size.
Referenced by Assemble_Bundles(), Assemble_Ops(), Assemble_Simulated_OP(), 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(), EMT_End_File(), Generate_Addr_Reset(), Read_Section(), Set_Current_Location(), String_To_Index(), unwind_dump2elf(), and Write_Symdiff().
| void Em_Add_Comment | ( | char * | s | ) |
Definition at line 1086 of file em_elf.cxx.
References alloca, ELF_COMMENT, Em_Add_Bytes_To_Scn(), Em_New_Section(), INCLUDE_STAMP, NULL, object_file_name, SHT_PROGBITS, sprintf(), strchr, and strlen().
Referenced by EMT_Begin_File(), and EMT_End_File().
| 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 | |||
| ) |
Definition at line 668 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.
Referenced by add_reloc_type().
| 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 | |||
| ) |
Definition at line 150 of file targ_em_elf.cxx.
Referenced by CGEMIT_Add_Call_Information(), EMT_Assemble_BB(), EMT_Emit_PU(), and r_assemble_op().
| void Em_Add_New_Interface | ( | Elf64_Word | length, | |
| Elf64_Byte * | data | |||
| ) |
Definition at line 1067 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, and SHF_NOSTRIP.
Referenced by Emit_Interface_Scn().
| 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 110 of file targ_em_elf.cxx.
References ELF64_FSZ_WORD, ELF64_FSZ_XWORD, Em_Add_Bytes_To_Scn(), Em_New_Section(), IA64_OPTIONS, NULL, Options_Scn, Roundup, and SHF_ALLOC.
Referenced by Em_Options_Scn(), and Em_Write_Reginfo().
| void Em_Add_New_Rel | ( | Elf64_Word | symindex, | |
| unsigned char | reltype, | |||
| Elf64_Addr | reloffset, | |||
| pSCNINFO | scninfo | |||
| ) |
Definition at line 579 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(), Generate_Addr_Reset(), and r_assemble_binary().
| void Em_Add_New_Rela | ( | Elf64_Word | symindex, | |
| unsigned char | reltype, | |||
| Elf64_Addr | reloffset, | |||
| Elf64_Sxword | addend, | |||
| pSCNINFO | scninfo | |||
| ) |
Definition at line 630 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 CGEMIT_Add_Call_Information(), CGEMIT_Relocs_In_Object(), Em_Add_Address_To_Scn(), r_assemble_binary(), and unwind_dump2elf().
| 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 846 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, Elf32_Sym::st_name, Elf32_Sym::st_other, Elf32_Sym::st_shndx, Elf32_Sym::st_size, Elf32_Sym::st_value, and strlen().
Referenced by Create_Elf_Header(), Em_Add_New_Common_Symbol(), Em_Add_New_Undef_Symbol(), Em_Add_New_Weak_Symbol(), Em_Create_Section_Symbol(), EMT_End_File(), and EMT_Put_Elf_Symbol().
| 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 | |||
| ) |
Definition at line 217 of file em_elf.cxx.
References buf, calloc(), EC_No_Mem, Em_Add_Bytes_To_Scn(), ErrMsg(), free(), index(), and NULL.
Referenced by Em_Add_Address_To_Scn(), Setup_Text_Section_For_PU(), Write_INITO(), Write_INITV(), Write_Label(), and Write_Symbol().
| 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 1232 of file em_elf.cxx.
References Big_Endian, cmd, Create_Elf_Header(), EC_Obj_Create, EC_Obj_Delete, elf_begin(), ELF_C_RDWR, ELF_C_WRITE, elf_errno(), elf_version(), ErrMsg(), errno, EV_CURRENT, EV_NONE, INT, Interface_Scn, NULL, O_CREAT, O_RDWR, O_TRUNC, object_file_name, open, print_elf_error(), Read_Elf_File(), result, Sixtyfour_Bit, stat, unlink, and void.
Referenced by EMT_Begin_File().
| void Em_Change_Section_Alignment | ( | pSCNINFO | scn, | |
| Elf64_Word | scn_align | |||
| ) |
| 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().
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 | ) |
Definition at line 1385 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(), EMT_Emit_PU(), Generate_Addr_Reset(), Init_Section(), setup_new_section_for_dwarf(), and unwind_dump2elf().
| void Em_Define_Symbol | ( | Elf64_Word | symindex, | |
| Elf64_Addr | symvalue, | |||
| Elf64_Xword | symsize, | |||
| pSCNINFO | scninfo | |||
| ) |
Definition at line 709 of file em_elf.cxx.
References EC_Elf_Idx, ErrMsg(), SCNINFO_buffer, SCNINFO_index, SCNINFO_size, Sixtyfour_Bit, Elf32_Sym::st_shndx, Elf32_Sym::st_size, and Elf32_Sym::st_value.
Referenced by EMT_Assemble_BB(), and R_Resolve_Branches().
Definition at line 1304 of file em_elf.cxx.
References ELF_C_WRITE, elf_end(), ELF_T_BYTE, ELF_T_SYM, elf_update(), Em_End_Section(), Interface_Scn, NULL, print_elf_error(), and Update_Data().
Referenced by EMT_End_File().
Definition at line 1350 of file em_elf.cxx.
References ELF_T_BYTE, ELF_T_REL, ELF_T_RELA, 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(), Em_End_Section(), EMT_End_File(), and unwind_dump2elf().
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 | ) |
Definition at line 516 of file em_elf.cxx.
References elf32_getshdr(), elf64_getshdr(), SCNINFO_scnptr, Elf32_Shdr::sh_addralign, and Sixtyfour_Bit.
Referenced by Cg_Dwarf_Write_Assembly_From_Elf(), and Cg_Dwarf_Write_Assembly_From_Symbolic_Relocs().
| Elf64_Word Em_Get_Section_Entsize | ( | pSCNINFO | scn | ) |
Definition at line 505 of file em_elf.cxx.
References elf32_getshdr(), elf64_getshdr(), SCNINFO_scnptr, Elf32_Shdr::sh_entsize, and Sixtyfour_Bit.
Referenced by Cg_Dwarf_Write_Assembly_From_Elf(), and Cg_Dwarf_Write_Assembly_From_Symbolic_Relocs().
| Elf64_Word Em_Get_Section_Flags | ( | pSCNINFO | scn | ) |
Definition at line 494 of file em_elf.cxx.
References elf32_getshdr(), elf64_getshdr(), SCNINFO_scnptr, Elf32_Shdr::sh_flags, and Sixtyfour_Bit.
Referenced by Cg_Dwarf_Write_Assembly_From_Elf(), and Cg_Dwarf_Write_Assembly_From_Symbolic_Relocs().
Definition at line 451 of file em_elf.cxx.
References SCNINFO_index.
Referenced by Em_Dwarf_Find_Dwarf_Scn(), Em_Options_Scn(), EMT_End_File(), EMT_Put_Elf_Symbol(), and setup_new_section_for_dwarf().
| Elf64_Word Em_Get_Section_Info | ( | pSCNINFO | scn | ) |
Definition at line 527 of file em_elf.cxx.
References elf32_getshdr(), elf64_getshdr(), SCNINFO_scnptr, Elf32_Shdr::sh_info, and Sixtyfour_Bit.
Referenced by Cg_Dwarf_Write_Assembly_From_Elf().
| char* Em_Get_Section_Name | ( | pSCNINFO | scn | ) |
Definition at line 465 of file em_elf.cxx.
References section_info::buffer, elf32_getshdr(), elf64_getshdr(), SCNINFO_scnptr, Elf32_Shdr::sh_name, and Sixtyfour_Bit.
Referenced by Cg_Dwarf_Write_Assembly_From_Elf(), Cg_Dwarf_Write_Assembly_From_Symbolic_Relocs(), Create_New_Relocation_Section(), Em_Create_Section_Symbol(), Em_Dwarf_Find_Dwarf_Scn_By_Name(), and Em_Dwarf_Write_Scns().
| 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 | ) |
Definition at line 483 of file em_elf.cxx.
References elf32_getshdr(), elf64_getshdr(), SCNINFO_scnptr, Elf32_Shdr::sh_type, and Sixtyfour_Bit.
Referenced by Cg_Dwarf_Write_Assembly_From_Elf(), and Cg_Dwarf_Write_Assembly_From_Symbolic_Relocs().
| char* Em_Get_Symbol_Name | ( | Elf64_Word | symindex | ) |
Definition at line 824 of file em_elf.cxx.
References EC_Elf_Idx, ErrMsg(), Index_To_String(), SCNINFO_buffer, SCNINFO_size, and Sixtyfour_Bit.
Referenced by Cg_Dwarf_Name_From_Handle(), Cg_Dwarf_Output_Asm_Bytes_Elf_Relocs(), and Cg_Dwarf_Translate_To_Elf().
| Elf64_Addr Em_Get_Symbol_Value | ( | Elf64_Word | symindex | ) |
Definition at line 802 of file em_elf.cxx.
References EC_Elf_Idx, ErrMsg(), SCNINFO_buffer, SCNINFO_size, Sixtyfour_Bit, and Elf32_Sym::st_value.
| 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 | |||
| ) |
Definition at line 1328 of file em_elf.cxx.
References BZERO, Create_New_Section(), EC_No_Mem, ErrMsg(), malloc, NULL, SCNINFO_align, and SCNINFO_scnptr.
Referenced by Create_New_Relocation_Section(), Em_Add_Comment(), Em_Add_New_Interface(), Em_Add_New_Option(), Init_Section(), setup_new_section_for_dwarf(), and unwind_dump2elf().
| void Em_Set_sh_info | ( | pSCNINFO | scn, | |
| Elf64_Word | info | |||
| ) |
Definition at line 408 of file em_elf.cxx.
References elf32_getshdr(), elf64_getshdr(), SCNINFO_scnptr, Elf32_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 392 of file em_elf.cxx.
References elf32_getshdr(), elf64_getshdr(), SCNINFO_scnptr, Elf32_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 771 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, and Elf32_Sym::st_info.
Referenced by EMT_Change_Symbol_To_Weak().
| void Em_Undefine_Symbol | ( | Elf64_Word | symindex | ) |
Definition at line 746 of file em_elf.cxx.
References EC_Elf_Idx, ErrMsg(), SCNINFO_buffer, SCNINFO_size, SHN_UNDEF, Sixtyfour_Bit, and Elf32_Sym::st_shndx.
Referenced by EMT_Change_Symbol_To_Undefined().
| void Em_Write_Reginfo | ( | Elf64_Addr | gprvalue, | |
| Elf64_Word | gprmask, | |||
| Elf64_Word | fprmask, | |||
| BOOL | pure_abi | |||
| ) |
Definition at line 84 of file targ_em_elf.cxx.
References __LINE__, EC_Assertion, Em_Add_New_Option(), EM_IA_64, ErrMsg(), Get_Elf_Target_Machine(), Elf_IA64_RegInfo::ri_gp_value, SHN_UNDEF, and Sixtyfour_Bit.
Referenced by EMT_End_File().
Definition at line 80 of file targ_em_elf.cxx.
Referenced by CGEMIT_Relocs_In_Asm(), CGEMIT_Relocs_In_Object(), EMT_End_File(), and r_assemble_binary().
Definition at line 102 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_Get_Symbol_Value(), Em_Set_sh_info(), Em_Set_sh_link(), Em_Set_Symbol_Binding(), Em_Undefine_Symbol(), Em_Write_Reginfo(), and Read_Elf_File().
1.5.6