package xcoff

Import Path
	internal/xcoff (on golang.org and go.dev)

Dependency Relation
	imports 7 packages, and imported by one package

Involved Source Files
	    ar.go
	d-> file.go
	    xcoff.go

Exported Type Names

type Archive (struct) Archive represents an open AIX big archive. ArchiveHeader ArchiveHeader Members []*Member (*T) Close() error (*T) GetFile(name string) (*File, error) *T : io.Closer func NewArchive(r io.ReaderAt) (*Archive, error) func OpenArchive(name string) (*Archive, error)
type ArchiveHeader (struct) MemberHeader holds information about a big archive file header
type AuxCSect32 (struct) csect Auxiliary Entry. Xparmhash uint32 Xscnlen int32 Xsmclas uint8 Xsmtyp uint8 Xsnhash uint16 Xsnstab uint16 Xstab uint32
type AuxFcn32 (struct) Function Auxiliary Entry Xendndx uint32 Xexptr uint32 Xfsize uint32 Xlnnoptr uint32 Xpad uint16
type AuxFile64 (struct) File Auxiliary Entry Xauxtype uint8 Xfname [8]byte Xftype uint8
type AuxiliaryCSect (struct) AuxiliaryCSect holds information about an XCOFF symbol in an AUX_CSECT entry. Length int64 StorageMappingClass int SymbolType int
type AuxiliaryFcn (struct) AuxiliaryFcn holds information about an XCOFF symbol in an AUX_FCN entry. Size int64
type AuxSect64 (struct) Xauxtype uint8 Xnreloc uint64 Xscnlen uint64
type File (struct) A File represents an open XCOFF file. FileHeader FileHeader FileHeader.TargetMachine uint16 LibraryPaths []string Sections []*Section StringTable []byte Symbols []*Symbol (*T) CSect(name string) []byte (*T) Close() error (*T) DWARF() (*dwarf.Data, error) (*T) ImportedLibraries() ([]string, error) (*T) ImportedSymbols() ([]ImportedSymbol, error) (*T) Section(name string) *Section (*T) SectionByType(typ uint32) *Section *T : io.Closer func NewFile(r io.ReaderAt) (*File, error) func Open(name string) (*File, error) func (*Archive).GetFile(name string) (*File, error)
type FileHeader (struct) FileHeader holds information about an XCOFF file header. TargetMachine uint16
type ImportedSymbol (struct) ImportedSymbol holds information about an imported XCOFF symbol. Library string Name string func (*File).ImportedSymbols() ([]ImportedSymbol, error)
type LoaderSymbol32 (struct) Loader Symbol. Lifile int32 Lname [8]byte Lparm uint32 Lscnum int16 Lsmclas int8 Lsmtype int8 Lvalue uint32
type Member (struct) Member represents a member of an AIX big archive. MemberHeader MemberHeader MemberHeader.Name string MemberHeader.Size uint64
type MemberHeader (struct) MemberHeader holds information about a big archive member Name string Size uint64
type Reloc32 (struct) Rsize uint8 Rsymndx uint32 Rtype uint8 Rvaddr uint32
type Reloc64 (struct) Rsize uint8 Rsymndx uint32 Rtype uint8 Rvaddr uint64
type Section (struct) ReaderAt io.ReaderAt Relocs []Reloc SectionHeader SectionHeader SectionHeader.Name string SectionHeader.Nreloc uint32 SectionHeader.Relptr uint64 SectionHeader.Size uint64 SectionHeader.Type uint32 SectionHeader.VirtualAddress uint64 (*T) Data() ([]byte, error) (T) ReadAt(p []byte, off int64) (n int, err error) T : io.ReaderAt func (*File).Section(name string) *Section func (*File).SectionByType(typ uint32) *Section
type SectionHeader (struct) SectionHeader holds information about an XCOFF section header. Name string Nreloc uint32 Relptr uint64 Size uint64 Type uint32 VirtualAddress uint64
type SymEnt32 (struct) Symbol Table Entry. Nname [8]byte Nnumaux int8 Nsclass int8 Nscnum int16 Ntype uint16 Nvalue uint32
Exported Values
const AIAFMAG = "`\n"
const AIAMAG = "\n"
const AIAMAGBIG = "\n"
const AR_HSZ_BIG = 112
const C_BCOMM = 135 // Beginning of common block Storage Class.
const C_BINCL = 108 // Beginning of include file Storage Class.
const C_BLOCK = 100 // Beginning or end of inner block Storage Class.
const C_BSTAT = 143 // Beginning of static block Storage Class.
const C_DECL = 140 // Declaration of object Storage Class.
const C_DWARF = 112 // DWARF symbol Storage Class.
const C_ECOML = 136 // Local member of common block Storage Class.
const C_ECOMM = 137 // End of common block Storage Class.
const C_EINCL = 109 // End of include file Storage Class.
const C_ENTRY = 141 // Alternate entry Storage Class.
const C_ESTAT = 144 // End of static block Storage Class.
const C_EXT = 2 // External symbol Storage Class.
const C_FCN = 101 // Beginning or end of function Storage Class.
const C_FILE = 103 // Source file name and compiler information Storage Class.
const C_FUN = 142 // Function or procedure Storage Class.
const C_GSYM = 128 // Global variable Storage Class.
const C_GTLS = 145 // Global thread-local variable Storage Class.
const C_HIDEXT = 107 // Unnamed external symbol Storage Class.
const C_LSYM = 129 // Automatic variable allocated on stack Storage Class.
const C_NULL = 0 // Symbol table entry marked for deletion Storage Class.
const C_PSYM = 130 // Argument to subroutine allocated on stack Storage Class.
const C_RPSYM = 132 // Argument to function or procedure stored in register Storage Class.
const C_RSYM = 131 // Register variable Storage Class.
const C_STAT = 3 // Static symbol Storage Class.
const C_STSYM = 133 // Statically allocated symbol Storage Class.
const C_STTLS = 146 // Static thread-local variable Storage Class.
const C_WEAKEXT = 111 // Weak external symbol Storage Class.
const F_DSA = 64 Flags that describe the type of the object file.
const F_DYNLOAD = 4096 Flags that describe the type of the object file.
const F_EXEC = 2 Flags that describe the type of the object file.
const F_FDPR_OPTI = 32 Flags that describe the type of the object file.
const F_FDPR_PROF = 16 Flags that describe the type of the object file.
const F_LNNO = 4 Flags that describe the type of the object file.
const F_LOADONLY = 16384 Flags that describe the type of the object file.
const F_RELFLG = 1 Flags that describe the type of the object file.
const F_SHROBJ = 8192 Flags that describe the type of the object file.
const F_VARPG = 256 Flags that describe the type of the object file.
const FILHSZ_32 = 20
const FILHSZ_64 = 24
const FL_HSZ_BIG = 128 Sizeof
const LDHDRSZ_32 = 32
const LDHDRSZ_64 = 56
const N_ABS = -1
const N_DEBUG = -2 Nscnum
const N_UNDEF = 0
func NewArchive(r io.ReaderAt) (*Archive, error) NewArchive creates a new Archive for accessing an AIX big archive in an underlying reader.
func NewFile(r io.ReaderAt) (*File, error) NewFile creates a new File for accessing an XCOFF binary in an underlying reader.
func Open(name string) (*File, error) Open opens the named file using os.Open and prepares it for use as an XCOFF binary.
func OpenArchive(name string) (*Archive, error) OpenArchive opens the named archive using os.Open and prepares it for use as an AIX big archive.
const R_BA = 8 // A(sym) Branch absolute. Cannot modify instruction
const R_BR = 10 // A(sym-*) Branch rel to self. non modifiable
const R_GL = 5 // A(external TOC of sym) Global Linkage
const R_NEG = 1 // -A(sym) Negative Relocation
const R_POS = 0 // A(sym) Positive Relocation
const R_RBA = 24 // A(sym) Branch absolute. modifiable instruction
const R_RBR = 26 // A(sym-*) Branch rel to self. modifiable instr
const R_REF = 15 // AL0(sym) Non relocating ref. No garbage collect
const R_REL = 2 // A(sym-*) Relative to self
const R_RL = 12 // A(sym) Pos indirect load. modifiable instruction
const R_RLA = 13 // A(sym) Pos Load Address. modifiable instruction
const R_TCL = 6 // A(local TOC of sym) Local object TOC address
const R_TLS = 32 // General-dynamic reference to TLS symbol
const R_TLS_IE = 33 // Initial-exec reference to TLS symbol
const R_TLS_LD = 34 // Local-dynamic reference to TLS symbol
const R_TLS_LE = 35 // Local-exec reference to TLS symbol
const R_TLSM = 36 // Module reference to TLS symbol
const R_TLSML = 37 // Module reference to local (own) module
const R_TOC = 3 // A(sym-TOC) Relative to TOC
const R_TOCL = 49 // Relative to TOC - low order bits
const R_TOCU = 48 // Relative to TOC - high order bits
const R_TRL = 18 // A(sym-TOC) TOC Relative indirect load.
const R_TRLA = 19 // A(sym-TOC) TOC Rel load address. modifiable inst
const SAIAMAG = 8
const SSUBTYP_DWABREV = 393216 // DWARF abbreviation section
const SSUBTYP_DWARNGE = 327680 // DWARF aranges section
const SSUBTYP_DWFRAME = 655360 // DWARF frames section
const SSUBTYP_DWINFO = 65536 // DWARF info section
const SSUBTYP_DWLINE = 131072 // DWARF line-number section
const SSUBTYP_DWLOC = 589824 // DWARF location lists section
const SSUBTYP_DWMAC = 720896 // DWARF macros section
const SSUBTYP_DWPBNMS = 196608 // DWARF public names section
const SSUBTYP_DWPBTYP = 262144 // DWARF public types section
const SSUBTYP_DWRNGES = 524288 // DWARF ranges section
const SSUBTYP_DWSTR = 458752 // DWARF strings section
const STYP_BSS = 128 Flags defining the section type.
const STYP_DATA = 64 Flags defining the section type.
const STYP_DEBUG = 8192 Flags defining the section type.
const STYP_DWARF = 16 Flags defining the section type.
const STYP_EXCEPT = 256 Flags defining the section type.
const STYP_INFO = 512 Flags defining the section type.
const STYP_LOADER = 4096 Flags defining the section type.
const STYP_OVRFLO = 32768 Flags defining the section type.
const STYP_TBSS = 2048 Flags defining the section type.
const STYP_TDATA = 1024 Flags defining the section type.
const STYP_TEXT = 32 Flags defining the section type.
const STYP_TYPCHK = 16384 Flags defining the section type.
const SYM_TYPE_FUNC = 32 // is function
const SYM_V_EXPORTED = 16384
const SYM_V_HIDDEN = 8192
const SYM_V_INTERNAL = 4096 Ntype
const SYM_V_PROTECTED = 12288
const SYMESZ = 18
const U64_TOCMAGIC = 503 // AIX 64-bit XCOFF
const U802TOCMAGIC = 479 // AIX 32-bit XCOFF
const XFT_CD = 128 // Compiler Defined Information Defines for File auxiliary definitions: x_ftype field of x_file
const XFT_CT = 1 // Compile Time Stamp Defines for File auxiliary definitions: x_ftype field of x_file
const XFT_CV = 2 // Compiler Version Number Defines for File auxiliary definitions: x_ftype field of x_file
const XFT_FN = 0 // Source File Name Defines for File auxiliary definitions: x_ftype field of x_file
const XMC_BS = 9 // BSS class Storage-mapping class.
const XMC_DB = 2 // Debug dictionary table Storage-mapping class.
const XMC_DS = 10 // Function descriptor Storage-mapping class.
const XMC_GL = 6 // Global linkage Storage-mapping class.
const XMC_PR = 0 // Program code Storage-mapping class.
const XMC_RO = 1 // Read-only constant Storage-mapping class.
const XMC_RW = 5 // Read/Write data Storage-mapping class.
const XMC_SV = 8 // 32-bit supervisor call descriptor Storage-mapping class.
const XMC_SV3264 = 18 // Supervisor call descriptor for both 32-bit and 64-bit Storage-mapping class.
const XMC_SV64 = 17 // 64-bit supervisor call descriptor Storage-mapping class.
const XMC_TC = 3 // TOC entry Storage-mapping class.
const XMC_TC0 = 15 // TOC anchor Storage-mapping class.
const XMC_TD = 16 // Scalar data entry in the TOC Storage-mapping class.
const XMC_TE = 22 // TOC entry Storage-mapping class.
const XMC_TL = 20 // Read/Write thread-local data Storage-mapping class.
const XMC_UA = 4 // Unclassified Storage-mapping class.
const XMC_UC = 11 // Unnamed FORTRAN common Storage-mapping class.
const XMC_UL = 21 // Read/Write thread-local data (.tbss) Storage-mapping class.
const XMC_XO = 7 // Extended operation Storage-mapping class.
const XTY_CM = 3 // Common csect definition Symbol type field.
const XTY_ER = 0 // External reference Symbol type field.
const XTY_LD = 2 // Label definition Symbol type field.
const XTY_SD = 1 // Section definition Symbol type field.