version: 1.10
package plan9obj
import "debug/plan9obj"
Overview
Package plan9obj implements access to Plan 9 a.out object files.
Index
Package files
Constants
- const (
- Magic64 = 0x8000 // 64-bit expanded header
- Magic386 = (4*11+0)*11 + 7
- MagicAMD64 = (4*26+0)*26 + 7 + Magic64
- MagicARM = (4*20+0)*20 + 7
- )
type File
¶
- type File struct {
- FileHeader
- Sections []*Section
- // contains filtered or unexported fields
- }
A File represents an open Plan 9 a.out file.
func NewFile
¶
NewFile creates a new File for accessing a Plan 9 binary in an underlying
reader. The Plan 9 binary is expected to start at position 0 in the ReaderAt.
func Open
¶
Open opens the named file using os.Open and prepares it for use as a Plan 9
a.out binary.
func (*File) Close
¶
Close closes the File. If the File was created using NewFile directly instead of
Open, Close has no effect.
func (*File) Section
¶
Section returns a section with the given name, or nil if no such section exists.
func (*File) Symbols
¶
Symbols returns the symbol table for f.
type FileHeader
¶
A FileHeader represents a Plan 9 a.out file header.
type Section
¶
- type Section struct {
- SectionHeader
- // Embed ReaderAt for ReadAt method.
- // Do not embed SectionReader directly
- // to avoid having Read and Seek.
- // If a client wants Read and Seek it must use
- // Open() to avoid fighting over the seek offset
- // with other clients.
- io.ReaderAt
- // contains filtered or unexported fields
- }
A Section represents a single section in a Plan 9 a.out file.
func (*Section) Data
¶
Data reads and returns the contents of the Plan 9 a.out section.
func (*Section) Open
¶
- func (s *Section) Open() io.ReadSeeker
Open returns a new ReadSeeker reading the Plan 9 a.out section.
type SectionHeader
¶
A SectionHeader represents a single Plan 9 a.out section header. This structure
doesn’t exist on-disk, but eases navigation through the object file.
type Sym
¶
A Symbol represents an entry in a Plan 9 a.out symbol table section.