diff options
| author | Russ Cox <rsc@golang.org> | 2020-12-23 00:52:53 -0500 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2020-12-23 06:39:06 +0000 |
| commit | fbc82f03b104ba9bde67ad202e9cb00a13842dca (patch) | |
| tree | 95caee1bcac4c02fc9feff7692ef46ec1c2ee64c /src/cmd/internal/archive/archive.go | |
| parent | de454eef5f47212dc8a9d9c2c8b598fa343d2c2b (diff) | |
| download | go-fbc82f03b104ba9bde67ad202e9cb00a13842dca.tar.xz | |
[dev.regabi] cmd/compile: split out package noder [generated]
[git-generate]
cd src/cmd/compile/internal/gc
rf '
mv ArhdrSize HeaderSize
mv arsize ReadHeader
mv formathdr FormatHeader
mv HeaderSize ReadHeader FormatHeader archive.go
mv archive.go cmd/internal/archive
mv makePos main.go
mv checkDotImports CheckDotImports
mv parseFiles ParseFiles
mv Pragma pragmas
mv PragmaEmbed pragmaEmbed
mv PragmaPos pragmaPos
mv FuncPragmas funcPragmas
mv TypePragmas typePragmas
mv fakeRecv noder.funcLit renameinitgen renameinit oldname varEmbed noder.go
mv isDriveLetter islocalname findpkg myheight importfile \
reservedimports isbadimport \
pkgnotused \
mkpackage clearImports \
CheckDotImports dotImports importDot \
importName \
import.go
mv noder _noder
mv import.go lex.go lex_test.go noder.go cmd/compile/internal/noder
'
cd ../noder
rf '
mv _noder noder
'
Change-Id: Iac2b856f7b86143c666d818e4b7c5b261cf387d5
Reviewed-on: https://go-review.googlesource.com/c/go/+/279473
Trust: Russ Cox <rsc@golang.org>
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Diffstat (limited to 'src/cmd/internal/archive/archive.go')
| -rw-r--r-- | src/cmd/internal/archive/archive.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/cmd/internal/archive/archive.go b/src/cmd/internal/archive/archive.go index 762e888a04..e9b25fe240 100644 --- a/src/cmd/internal/archive/archive.go +++ b/src/cmd/internal/archive/archive.go @@ -464,3 +464,24 @@ func exactly16Bytes(s string) string { s += sixteenSpaces[:16-len(s)] return s } + +// architecture-independent object file output +const HeaderSize = 60 + +func ReadHeader(b *bufio.Reader, name string) int { + var buf [HeaderSize]byte + if _, err := io.ReadFull(b, buf[:]); err != nil { + return -1 + } + aname := strings.Trim(string(buf[0:16]), " ") + if !strings.HasPrefix(aname, name) { + return -1 + } + asize := strings.Trim(string(buf[48:58]), " ") + i, _ := strconv.Atoi(asize) + return i +} + +func FormatHeader(arhdr []byte, name string, size int64) { + copy(arhdr[:], fmt.Sprintf("%-16s%-12d%-6d%-6d%-8o%-10d`\n", name, 0, 0, 0, 0644, size)) +} |
