Run Format

Source file src/cmd/link/main.go

Documentation: cmd/link

  // Copyright 2015 The Go Authors. All rights reserved.
  // Use of this source code is governed by a BSD-style
  // license that can be found in the LICENSE file.
  package main
  import (
  // The bulk of the linker implementation lives in cmd/link/internal/ld.
  // Architecture-specific code lives in cmd/link/internal/GOARCH.
  // Program initialization:
  // Before any argument parsing is done, the Init function of relevant
  // architecture package is called. The only job done in Init is
  // configuration of the architecture-specific variables.
  // Then control flow passes to ld.Main, which parses flags, makes
  // some configuration decisions, and then gives the architecture
  // packages a second chance to modify the linker's configuration
  // via the ld.Thearch.Archinit function.
  func main() {
  	var arch *sys.Arch
  	var theArch ld.Arch
  	switch objabi.GOARCH {
  		fmt.Fprintf(os.Stderr, "link: unknown architecture %q\n", objabi.GOARCH)
  	case "386":
  		arch, theArch = x86.Init()
  	case "amd64", "amd64p32":
  		arch, theArch = amd64.Init()
  	case "arm":
  		arch, theArch = arm.Init()
  	case "arm64":
  		arch, theArch = arm64.Init()
  	case "mips", "mipsle":
  		arch, theArch = mips.Init()
  	case "mips64", "mips64le":
  		arch, theArch = mips64.Init()
  	case "ppc64", "ppc64le":
  		arch, theArch = ppc64.Init()
  	case "s390x":
  		arch, theArch = s390x.Init()
  	ld.Main(arch, theArch)

View as plain text