...
Source file src/cmd/link/main.go
1
2
3
4
5 package main
6
7 import (
8 "cmd/internal/objabi"
9 "cmd/internal/sys"
10 "cmd/link/internal/amd64"
11 "cmd/link/internal/arm"
12 "cmd/link/internal/arm64"
13 "cmd/link/internal/ld"
14 "cmd/link/internal/mips"
15 "cmd/link/internal/mips64"
16 "cmd/link/internal/ppc64"
17 "cmd/link/internal/s390x"
18 "cmd/link/internal/wasm"
19 "cmd/link/internal/x86"
20 "fmt"
21 "os"
22 )
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 func main() {
39 var arch *sys.Arch
40 var theArch ld.Arch
41
42 switch objabi.GOARCH {
43 default:
44 fmt.Fprintf(os.Stderr, "link: unknown architecture %q\n", objabi.GOARCH)
45 os.Exit(2)
46 case "386":
47 arch, theArch = x86.Init()
48 case "amd64", "amd64p32":
49 arch, theArch = amd64.Init()
50 case "arm":
51 arch, theArch = arm.Init()
52 case "arm64":
53 arch, theArch = arm64.Init()
54 case "mips", "mipsle":
55 arch, theArch = mips.Init()
56 case "mips64", "mips64le":
57 arch, theArch = mips64.Init()
58 case "ppc64", "ppc64le":
59 arch, theArch = ppc64.Init()
60 case "s390x":
61 arch, theArch = s390x.Init()
62 case "wasm":
63 arch, theArch = wasm.Init()
64 }
65 ld.Main(arch, theArch)
66 }
67
View as plain text