github.com/peggyl/go@v0.0.0-20151008231540-ae315999c2d5/src/cmd/link/doc.go (about)

     1  // Copyright 2009 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  /*
     6  Link, typically invoked as ``go tool link,'' reads the Go archive or object
     7  for a package main, along with its dependencies, and combines them
     8  into an executable binary.
     9  
    10  Command Line
    11  
    12  Usage:
    13  
    14  	go tool link [flags] main.a
    15  
    16  Flags:
    17  
    18  	-B note
    19  		Add an ELF_NT_GNU_BUILD_ID note when using ELF.
    20  		The value should start with 0x and be an even number of hex digits.
    21  	-D address
    22  		Set data segment address.
    23  	-E entry
    24  		Set entry symbol name.
    25  	-H type
    26  		Set executable format type.
    27  		The default format is inferred from GOOS and GOARCH.
    28  		On Windows, -H windowsgui writes a "GUI binary" instead of a "console binary."
    29  	-I interpreter
    30  		Set the ELF dynamic linker to use.
    31  	-L dir1 -L dir2
    32  		Search for imported packages in dir1, dir2, etc,
    33  		after consulting $GOROOT/pkg/$GOOS_$GOARCH.
    34  	-R quantum
    35  		Set address rounding quantum.
    36  	-T address
    37  		Set text segment address.
    38  	-V
    39  		Print the linker version and exit.
    40  	-X importpath.name=value
    41  		Set the value of the string variable in importpath named name to value.
    42  		Note that before Go 1.5 this option took two separate arguments.
    43  		Now it takes one argument split on the first = sign.
    44  	-buildmode mode
    45  		Set build mode (default exe).
    46  	-cpuprofile file
    47  		Write CPU profile to file.
    48  	-d
    49  		Disable generation of dynamic executables.
    50  		The emitted code is the same in either case; the option
    51  		controls only whether a dynamic header is included.
    52  		The dynamic header is on by default, even without any
    53  		references to dynamic libraries, because many common
    54  		system tools now assume the presence of the header.
    55  	-extld linker
    56  		Set the external linker (default "clang" or "gcc").
    57  	-extldflags flags
    58  		Set space-separated flags to pass to the external linker.
    59  	-f
    60  		Ignore version mismatch in the linked archives.
    61  	-g
    62  		Disable Go package data checks.
    63  	-installsuffix suffix
    64  		Look for packages in $GOROOT/pkg/$GOOS_$GOARCH_suffix
    65  		instead of $GOROOT/pkg/$GOOS_$GOARCH.
    66  	-linkmode mode
    67  		Set link mode (internal, external, auto).
    68  		This sets the linking mode as described in cmd/cgo/doc.go.
    69  	-linkshared
    70  		Link against installed Go shared libraries (experimental).
    71  	-memprofile file
    72  		Write memory profile to file.
    73  	-memprofilerate rate
    74  		Set runtime.MemProfileRate to rate.
    75  	-o file
    76  		Write output to file (default a.out, or a.out.exe on Windows).
    77  	-r dir1:dir2:...
    78  		Set the ELF dynamic linker search path.
    79  	-race
    80  		Link with race detection libraries.
    81  	-s
    82  		Omit the symbol table and debug information.
    83  	-shared
    84  		Generated shared object (implies -linkmode external; experimental).
    85  	-tmpdir dir
    86  		Write temporary files to dir.
    87  		Temporary files are only used in external linking mode.
    88  	-v
    89  		Print trace of linker operations.
    90  	-w
    91  		Omit the DWARF symbol table.
    92  */
    93  package main