diff options
author | Matthew Dempsky <mdempsky@google.com> | 2014-08-27 20:15:05 -0400 |
---|---|---|
committer | Matthew Dempsky <mdempsky@google.com> | 2014-08-27 20:15:05 -0400 |
commit | 5be0c6ab4d892d245c7b710d2e37adc462744ba4 (patch) | |
tree | a1c218b0996d3ced338fdb2d19668ae132b41f4c /src/cmd/link | |
parent | 9f83f9dedbd9665766ca4641d6ea77a471c750a7 (diff) | |
download | go-5be0c6ab4d892d245c7b710d2e37adc462744ba4.tar.gz |
cmd/{ld,link,objdump}, runtime, debug/gosym: move linker-defined symbols into runtime package
Fixes issue 8092.
LGTM=rsc
R=iant, rsc
CC=golang-codereviews
https://codereview.appspot.com/126790043
Committer: Russ Cox <rsc@golang.org>
Diffstat (limited to 'src/cmd/link')
-rw-r--r-- | src/cmd/link/auto.go | 40 | ||||
-rw-r--r-- | src/cmd/link/layout.go | 6 | ||||
-rw-r--r-- | src/cmd/link/pclntab.go | 2 | ||||
-rw-r--r-- | src/cmd/link/pclntab_test.go | 2 | ||||
-rw-r--r-- | src/cmd/link/runtime.go | 4 | ||||
-rw-r--r-- | src/cmd/link/testdata/autosection.6 | bin | 850 -> 942 bytes | |||
-rw-r--r-- | src/cmd/link/testdata/autosection.s | 22 | ||||
-rw-r--r-- | src/cmd/link/testdata/dead.6 | bin | 836 -> 854 bytes | |||
-rw-r--r-- | src/cmd/link/testdata/dead.s | 3 | ||||
-rw-r--r-- | src/cmd/link/testdata/genpcln.go | 2 | ||||
-rw-r--r-- | src/cmd/link/testdata/pclntab.6 | bin | 3799 -> 3809 bytes | |||
-rw-r--r-- | src/cmd/link/testdata/pclntab.s | 2 |
12 files changed, 41 insertions, 42 deletions
diff --git a/src/cmd/link/auto.go b/src/cmd/link/auto.go index 8f0c39f8c..f9228e8ca 100644 --- a/src/cmd/link/auto.go +++ b/src/cmd/link/auto.go @@ -18,26 +18,26 @@ import ( // linkerDefined lists the symbols supplied by other parts of the linker // (runtime.go and layout.go). var linkerDefined = map[string]bool{ - "bss": true, - "data": true, - "ebss": true, - "edata": true, - "efunctab": true, - "end": true, - "enoptrbss": true, - "enoptrdata": true, - "erodata": true, - "etext": true, - "etypelink": true, - "functab": true, - "gcbss": true, - "gcdata": true, - "noptrbss": true, - "noptrdata": true, - "pclntab": true, - "rodata": true, - "text": true, - "typelink": true, + "runtime.bss": true, + "runtime.data": true, + "runtime.ebss": true, + "runtime.edata": true, + "runtime.efunctab": true, + "runtime.end": true, + "runtime.enoptrbss": true, + "runtime.enoptrdata": true, + "runtime.erodata": true, + "runtime.etext": true, + "runtime.etypelink": true, + "runtime.functab": true, + "runtime.gcbss": true, + "runtime.gcdata": true, + "runtime.noptrbss": true, + "runtime.noptrdata": true, + "runtime.pclntab": true, + "runtime.rodata": true, + "runtime.text": true, + "runtime.typelink": true, } // isAuto reports whether sym is an automatically-generated data or constant symbol. diff --git a/src/cmd/link/layout.go b/src/cmd/link/layout.go index 647702244..149ebced0 100644 --- a/src/cmd/link/layout.go +++ b/src/cmd/link/layout.go @@ -172,9 +172,9 @@ func (p *Prog) layout() { start = sect.VirtAddr end = sect.VirtAddr + sect.Size } - p.defineConst(name, start) - p.defineConst("e"+name, end) + p.defineConst("runtime."+name, start) + p.defineConst("runtime.e"+name, end) progEnd = end } - p.defineConst("end", progEnd) + p.defineConst("runtime.end", progEnd) } diff --git a/src/cmd/link/pclntab.go b/src/cmd/link/pclntab.go index a950895aa..232d586bf 100644 --- a/src/cmd/link/pclntab.go +++ b/src/cmd/link/pclntab.go @@ -183,7 +183,7 @@ func (p *Prog) pclntab() { pclntab := &Sym{ Sym: &goobj.Sym{ - SymID: goobj.SymID{Name: "pclntab"}, + SymID: goobj.SymID{Name: "runtime.pclntab"}, Kind: goobj.SPCLNTAB, Size: buf.Size(), Reloc: buf.Reloc(), diff --git a/src/cmd/link/pclntab_test.go b/src/cmd/link/pclntab_test.go index 75d432fc5..19953f579 100644 --- a/src/cmd/link/pclntab_test.go +++ b/src/cmd/link/pclntab_test.go @@ -141,7 +141,7 @@ func TestPclntab(t *testing.T) { // It returns a symbol reader for pclntab, the offset of the function information // within that symbol, and the args and frame values read out of the information. func findFunc(t *testing.T, p *Prog, name string) (r *SymReader, off, args, frame int, ok bool) { - tabsym := p.Syms[goobj.SymID{Name: "pclntab"}] + tabsym := p.Syms[goobj.SymID{Name: "runtime.pclntab"}] if tabsym == nil { t.Errorf("pclntab is missing in binary") return diff --git a/src/cmd/link/runtime.go b/src/cmd/link/runtime.go index 5d37015eb..b0c1ac98a 100644 --- a/src/cmd/link/runtime.go +++ b/src/cmd/link/runtime.go @@ -15,13 +15,13 @@ func (p *Prog) runtime() { // TODO: Implement garbage collection data. p.addSym(&Sym{ Sym: &goobj.Sym{ - SymID: goobj.SymID{Name: "gcdata"}, + SymID: goobj.SymID{Name: "runtime.gcdata"}, Kind: goobj.SRODATA, }, }) p.addSym(&Sym{ Sym: &goobj.Sym{ - SymID: goobj.SymID{Name: "gcbss"}, + SymID: goobj.SymID{Name: "runtime.gcbss"}, Kind: goobj.SRODATA, }, }) diff --git a/src/cmd/link/testdata/autosection.6 b/src/cmd/link/testdata/autosection.6 Binary files differindex 97e8872bd..386f422cf 100644 --- a/src/cmd/link/testdata/autosection.6 +++ b/src/cmd/link/testdata/autosection.6 diff --git a/src/cmd/link/testdata/autosection.s b/src/cmd/link/testdata/autosection.s index fd9e94da4..e0cb21723 100644 --- a/src/cmd/link/testdata/autosection.s +++ b/src/cmd/link/testdata/autosection.s @@ -16,37 +16,37 @@ GLOBL zero(SB), $8 GLOBL zeronoptr(SB), NOPTR, $16 // text -DATA autotab+0x00(SB)/8, $text(SB) +DATA autotab+0x00(SB)/8, $runtime·text(SB) DATA autotab+0x08(SB)/8, $start(SB) -DATA autotab+0x10(SB)/8, $etext(SB) +DATA autotab+0x10(SB)/8, $runtime·etext(SB) DATA autotab+0x18(SB)/8, $start+16(SB) // data -DATA autotab+0x20(SB)/8, $data(SB) +DATA autotab+0x20(SB)/8, $runtime·data(SB) DATA autotab+0x28(SB)/8, $autotab(SB) -DATA autotab+0x30(SB)/8, $edata(SB) +DATA autotab+0x30(SB)/8, $runtime·edata(SB) DATA autotab+0x38(SB)/8, $nonzero+4(SB) // bss -DATA autotab+0x40(SB)/8, $bss(SB) +DATA autotab+0x40(SB)/8, $runtime·bss(SB) DATA autotab+0x48(SB)/8, $zero(SB) -DATA autotab+0x50(SB)/8, $ebss(SB) +DATA autotab+0x50(SB)/8, $runtime·ebss(SB) DATA autotab+0x58(SB)/8, $zero+8(SB) // noptrdata -DATA autotab+0x60(SB)/8, $noptrdata(SB) +DATA autotab+0x60(SB)/8, $runtime·noptrdata(SB) DATA autotab+0x68(SB)/8, $nonzeronoptr(SB) -DATA autotab+0x70(SB)/8, $enoptrdata(SB) +DATA autotab+0x70(SB)/8, $runtime·enoptrdata(SB) DATA autotab+0x78(SB)/8, $nonzeronoptr+8(SB) // noptrbss -DATA autotab+0x80(SB)/8, $noptrbss(SB) +DATA autotab+0x80(SB)/8, $runtime·noptrbss(SB) DATA autotab+0x88(SB)/8, $zeronoptr(SB) -DATA autotab+0x90(SB)/8, $enoptrbss(SB) +DATA autotab+0x90(SB)/8, $runtime·enoptrbss(SB) DATA autotab+0x98(SB)/8, $zeronoptr+16(SB) // end -DATA autotab+0xa0(SB)/8, $end(SB) +DATA autotab+0xa0(SB)/8, $runtime·end(SB) DATA autotab+0xa8(SB)/8, $zeronoptr+16(SB) GLOBL autotab(SB), $0xb0 diff --git a/src/cmd/link/testdata/dead.6 b/src/cmd/link/testdata/dead.6 Binary files differindex c60b1b6c6..9540adc1a 100644 --- a/src/cmd/link/testdata/dead.6 +++ b/src/cmd/link/testdata/dead.6 diff --git a/src/cmd/link/testdata/dead.s b/src/cmd/link/testdata/dead.s index 832ddaff6..86f31360f 100644 --- a/src/cmd/link/testdata/dead.s +++ b/src/cmd/link/testdata/dead.s @@ -17,7 +17,7 @@ TEXT text1(SB),7,$0 RET TEXT text2(SB),7,$0 - MOVQ $edata(SB),BX + MOVQ $runtime·edata(SB),BX RET DATA data1<>+0(SB)/8, $data2(SB) @@ -46,4 +46,3 @@ GLOBL dead_data1(SB), $16 GLOBL dead_data2(SB), $1 GLOBL dead_data3(SB), $1 GLOBL dead_funcdata(SB), $8 - diff --git a/src/cmd/link/testdata/genpcln.go b/src/cmd/link/testdata/genpcln.go index 684cc07a2..c10eaeae9 100644 --- a/src/cmd/link/testdata/genpcln.go +++ b/src/cmd/link/testdata/genpcln.go @@ -107,6 +107,6 @@ func main() { for f := 0; f < 3; f++ { fmt.Printf("\tCALL func%d(SB)\n", f) } - fmt.Printf("\tMOVQ $pclntab(SB), AX\n") + fmt.Printf("\tMOVQ $runtime·pclntab(SB), AX\n") fmt.Printf("\n\tRET\n") } diff --git a/src/cmd/link/testdata/pclntab.6 b/src/cmd/link/testdata/pclntab.6 Binary files differindex 596daa9b5..9e7f9afdb 100644 --- a/src/cmd/link/testdata/pclntab.6 +++ b/src/cmd/link/testdata/pclntab.6 diff --git a/src/cmd/link/testdata/pclntab.s b/src/cmd/link/testdata/pclntab.s index 22c4ee0de..12dac70b0 100644 --- a/src/cmd/link/testdata/pclntab.s +++ b/src/cmd/link/testdata/pclntab.s @@ -1746,6 +1746,6 @@ TEXT start(SB),7,$0 CALL func0(SB) CALL func1(SB) CALL func2(SB) - MOVQ $pclntab(SB), AX + MOVQ $runtime·pclntab(SB), AX RET |