1 // Copyright 2021 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4 5 package pkgbits
6 7 // A RelocKind indicates a particular section within a unified IR export.
8 type RelocKind int32
9 10 // An Index represents a bitstream element index within a particular
11 // section.
12 type Index int32
13 14 // A relocEnt (relocation entry) is an entry in an element's local
15 // reference table.
16 //
17 // TODO(mdempsky): Rename this too.
18 type RelocEnt struct {
19 Kind RelocKind
20 Idx Index
21 }
22 23 // Reserved indices within the meta relocation section.
24 const (
25 PublicRootIdx Index = 0
26 PrivateRootIdx Index = 1
27 )
28 29 const (
30 RelocString RelocKind = iota
31 RelocMeta
32 RelocPosBase
33 RelocPkg
34 RelocName
35 RelocType
36 RelocObj
37 RelocObjExt
38 RelocObjDict
39 RelocBody
40 41 numRelocs = iota
42 )
43