]> Cypherpunks repositories - gostls13.git/commitdiff
debug/pe: unexport newly introduced identifiers
authorAlex Brainman <alex.brainman@gmail.com>
Tue, 3 May 2016 06:37:33 +0000 (16:37 +1000)
committerAlex Brainman <alex.brainman@gmail.com>
Thu, 5 May 2016 00:20:45 +0000 (00:20 +0000)
CLs 22181, 22332 and 22336 intorduced new functionality to be used
in cmd/link (see issue #15345 for details). But we didn't have chance
to use new functionality yet. Unexport newly introduced identifiers,
so we don't have to commit to the API until we actually tried it.

Rename File.COFFSymbols into File._COFFSymbols,
COFFSymbol.FullName into COFFSymbol._FullName,
Section.Relocs into Section._Relocs,
Reloc into _Relocs,
File.StringTable into File._StringTable and
StringTable into _StringTable.

Updates #15345

Change-Id: I770eeb61f855de85e0c175225d5d1c006869b9ec
Reviewed-on: https://go-review.googlesource.com/22720
Reviewed-by: David Crawshaw <crawshaw@golang.org>
Run-TryBot: Alex Brainman <alex.brainman@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/debug/pe/file.go
src/debug/pe/section.go
src/debug/pe/string.go
src/debug/pe/symbol.go

index ef4ae352fee29d6b9aabd8ad3a06b8d714358e12..3074ba0f506e553293008b4f921549c8544c10f6 100644 (file)
@@ -19,8 +19,8 @@ type File struct {
        OptionalHeader interface{} // of type *OptionalHeader32 or *OptionalHeader64
        Sections       []*Section
        Symbols        []*Symbol    // COFF symbols with auxiliary symbol records removed
-       COFFSymbols    []COFFSymbol // all COFF symbols (including auxiliary symbol records)
-       StringTable    StringTable
+       _COFFSymbols   []COFFSymbol // all COFF symbols (including auxiliary symbol records)
+       _StringTable   _StringTable
 
        closer io.Closer
 }
@@ -93,17 +93,17 @@ func NewFile(r io.ReaderAt) (*File, error) {
        var err error
 
        // Read string table.
-       f.StringTable, err = readStringTable(&f.FileHeader, sr)
+       f._StringTable, err = readStringTable(&f.FileHeader, sr)
        if err != nil {
                return nil, err
        }
 
        // Read symbol table.
-       f.COFFSymbols, err = readCOFFSymbols(&f.FileHeader, sr)
+       f._COFFSymbols, err = readCOFFSymbols(&f.FileHeader, sr)
        if err != nil {
                return nil, err
        }
-       f.Symbols, err = removeAuxSymbols(f.COFFSymbols, f.StringTable)
+       f.Symbols, err = removeAuxSymbols(f._COFFSymbols, f._StringTable)
        if err != nil {
                return nil, err
        }
@@ -141,7 +141,7 @@ func NewFile(r io.ReaderAt) (*File, error) {
                if err := binary.Read(sr, binary.LittleEndian, sh); err != nil {
                        return nil, err
                }
-               name, err := sh.fullName(f.StringTable)
+               name, err := sh.fullName(f._StringTable)
                if err != nil {
                        return nil, err
                }
@@ -168,7 +168,7 @@ func NewFile(r io.ReaderAt) (*File, error) {
        }
        for i := range f.Sections {
                var err error
-               f.Sections[i].Relocs, err = readRelocs(&f.Sections[i].SectionHeader, sr)
+               f.Sections[i]._Relocs, err = readRelocs(&f.Sections[i].SectionHeader, sr)
                if err != nil {
                        return nil, err
                }
index 5d881577d3985d408d00da23d417a4a484789bb8..8e6690f0820bd636b07fb3fda2e7fcd4f078ed4c 100644 (file)
@@ -28,7 +28,7 @@ type SectionHeader32 struct {
 // fullName finds real name of section sh. Normally name is stored
 // in sh.Name, but if it is longer then 8 characters, it is stored
 // in COFF string table st instead.
-func (sh *SectionHeader32) fullName(st StringTable) (string, error) {
+func (sh *SectionHeader32) fullName(st _StringTable) (string, error) {
        if sh.Name[0] != '/' {
                return cstring(sh.Name[:]), nil
        }
@@ -41,15 +41,15 @@ func (sh *SectionHeader32) fullName(st StringTable) (string, error) {
 
 // TODO(brainman): copy all IMAGE_REL_* consts from ldpe.go here
 
-// Reloc represents a PE COFF relocation.
+// _Reloc represents a PE COFF relocation.
 // Each section contains its own relocation list.
-type Reloc struct {
+type _Reloc struct {
        VirtualAddress   uint32
        SymbolTableIndex uint32
        Type             uint16
 }
 
-func readRelocs(sh *SectionHeader, r io.ReadSeeker) ([]Reloc, error) {
+func readRelocs(sh *SectionHeader, r io.ReadSeeker) ([]_Reloc, error) {
        if sh.NumberOfRelocations <= 0 {
                return nil, nil
        }
@@ -57,7 +57,7 @@ func readRelocs(sh *SectionHeader, r io.ReadSeeker) ([]Reloc, error) {
        if err != nil {
                return nil, fmt.Errorf("fail to seek to %q section relocations: %v", sh.Name, err)
        }
-       relocs := make([]Reloc, sh.NumberOfRelocations)
+       relocs := make([]_Reloc, sh.NumberOfRelocations)
        err = binary.Read(r, binary.LittleEndian, relocs)
        if err != nil {
                return nil, fmt.Errorf("fail to read section relocations: %v", err)
@@ -83,7 +83,7 @@ type SectionHeader struct {
 // Section provides access to PE COFF section.
 type Section struct {
        SectionHeader
-       Relocs []Reloc
+       _Relocs []_Reloc
 
        // Embed ReaderAt for ReadAt method.
        // Do not embed SectionReader directly
index e00bd97dd48304be672244d937484d821b517329..f5cd130b531298b3dc65c4dce90321dd59a6c755 100644 (file)
@@ -19,10 +19,10 @@ func cstring(b []byte) string {
        return string(b[:i])
 }
 
-// StringTable is a COFF string table.
-type StringTable []byte
+// _StringTable is a COFF string table.
+type _StringTable []byte
 
-func readStringTable(fh *FileHeader, r io.ReadSeeker) (StringTable, error) {
+func readStringTable(fh *FileHeader, r io.ReadSeeker) (_StringTable, error) {
        // COFF string table is located right after COFF symbol table.
        offset := fh.PointerToSymbolTable + COFFSymbolSize*fh.NumberOfSymbols
        _, err := r.Seek(int64(offset), io.SeekStart)
@@ -44,13 +44,13 @@ func readStringTable(fh *FileHeader, r io.ReadSeeker) (StringTable, error) {
        if err != nil {
                return nil, fmt.Errorf("fail to read string table: %v", err)
        }
-       return StringTable(buf), nil
+       return _StringTable(buf), nil
 }
 
 // TODO(brainman): decide if start parameter should be int instead of uint32
 
 // String extracts string from COFF string table st at offset start.
-func (st StringTable) String(start uint32) (string, error) {
+func (st _StringTable) String(start uint32) (string, error) {
        // start includes 4 bytes of string table length
        if start < 4 {
                return "", fmt.Errorf("offset %d is before the start of string table", start)
index 3cf5a101e74676253499e3a71ef9c5a2b8721e25..7b8cbf236be7bc30361ae8c5d5005eecdb67e872 100644 (file)
@@ -46,17 +46,17 @@ func isSymNameOffset(name [8]byte) (bool, uint32) {
        return false, 0
 }
 
-// FullName finds real name of symbol sym. Normally name is stored
+// _FullName finds real name of symbol sym. Normally name is stored
 // in sym.Name, but if it is longer then 8 characters, it is stored
 // in COFF string table st instead.
-func (sym *COFFSymbol) FullName(st StringTable) (string, error) {
+func (sym *COFFSymbol) _FullName(st _StringTable) (string, error) {
        if ok, offset := isSymNameOffset(sym.Name); ok {
                return st.String(offset)
        }
        return cstring(sym.Name[:]), nil
 }
 
-func removeAuxSymbols(allsyms []COFFSymbol, st StringTable) ([]*Symbol, error) {
+func removeAuxSymbols(allsyms []COFFSymbol, st _StringTable) ([]*Symbol, error) {
        if len(allsyms) == 0 {
                return nil, nil
        }
@@ -67,7 +67,7 @@ func removeAuxSymbols(allsyms []COFFSymbol, st StringTable) ([]*Symbol, error) {
                        aux--
                        continue
                }
-               name, err := sym.FullName(st)
+               name, err := sym._FullName(st)
                if err != nil {
                        return nil, err
                }