|
| 1 | +// Copyright 2025 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 flagdoc contains flag definitions for 'go doc cmd/link'. |
| 6 | +// It duplicates flags from internal/ld/main.go to show full help. |
| 7 | +package flagdoc |
| 8 | + |
| 9 | +import ( |
| 10 | +"cmd/internal/quoted" |
| 11 | +"flag" |
| 12 | +) |
| 13 | + |
| 14 | +var ( |
| 15 | +// === LINKER FLAGS FOR go doc cmd/link === |
| 16 | +// Duplicated from cmd/link/internal/ld/main.go |
| 17 | +Buildid = flag.String("buildid", "", "record `id` as Go toolchain build id") |
| 18 | +BindNow = flag.Bool("bindnow", false, "mark a dynamically linked ELF object for immediate function binding") |
| 19 | +Outfile = flag.String("o", "", "write output to `file`") |
| 20 | +PluginPath = flag.String("pluginpath", "", "full path name for plugin") |
| 21 | +Fipso = flag.String("fipso", "", "write fips module to `file`") |
| 22 | +InstallSuffix = flag.String("installsuffix", "", "set package directory `suffix`") |
| 23 | +DumpDep = flag.Bool("dumpdep", false, "dump symbol dependency graph") |
| 24 | +Race = flag.Bool("race", false, "enable race detector") |
| 25 | +Msan = flag.Bool("msan", false, "enable MSan interface") |
| 26 | +Asan = flag.Bool("asan", false, "enable ASan interface") |
| 27 | +Aslr = flag.Bool("aslr", true, "enable ASLR for buildmode=c-shared on windows") |
| 28 | +FieldTrack = flag.String("k", "", "set field tracking `symbol`") |
| 29 | +LibGCC = flag.String("libgcc", "", "compiler support lib for internal linking; use \"none\" to disable") |
| 30 | +Tmpdir = flag.String("tmpdir", "", "use `directory` for temporary files") |
| 31 | +Extld = new(quoted.Flag) |
| 32 | +Extldflags = new(quoted.Flag) |
| 33 | +Extar = flag.String("extar", "", "archive program for buildmode=c-archive") |
| 34 | +CaptureHostObjs = flag.String("capturehostobjs", "", "capture host object files loaded during internal linking to specified dir") |
| 35 | +Aflag = flag.Bool("a", false, "no-op (deprecated)") |
| 36 | +Cflag = flag.Bool("c", false, "dump call graph") |
| 37 | +Dflag = flag.Bool("d", false, "disable dynamic executable") |
| 38 | +Fflag = flag.Bool("f", false, "ignore version mismatch") |
| 39 | +Gflag = flag.Bool("g", false, "disable go package data checks") |
| 40 | +Hflag = flag.Bool("h", false, "halt on error") |
| 41 | +Nflag = flag.Bool("n", false, "no-op (deprecated)") |
| 42 | +Sflag = flag.Bool("s", false, "disable symbol table") |
| 43 | +HostBuildid = flag.String("B", "", "set ELF NT_GNU_BUILD_ID `note` or Mach-O UUID; use \"gobuildid\" to generate it from the Go build ID; \"none\" to disable") |
| 44 | +Interpreter = flag.String("I", "", "use `linker` as ELF dynamic linker") |
| 45 | +CheckLinkname = flag.Bool("checklinkname", true, "check linkname symbol references") |
| 46 | +DebugTramp = flag.Int("debugtramp", 0, "debug trampolines") |
| 47 | +DebugTextSize = flag.Int("debugtextsize", 0, "debug text section max size") |
| 48 | +DebugNosplit = flag.Bool("debugnosplit", false, "dump nosplit call graph") |
| 49 | +StrictDups = flag.Int("strictdups", 0, "sanity check duplicate symbol contents during object file reading (1=warn 2=err).") |
| 50 | +Round = flag.Int64("R", -1, "set address rounding `quantum`") |
| 51 | +TextAddr = flag.Int64("T", -1, "set the start address of text symbols") |
| 52 | +DataAddr = flag.Int64("D", -1, "set the start address of data symbols") |
| 53 | +FuncAlign = flag.Int("funcalign", 0, "set function align to `N` bytes") |
| 54 | +EntrySymbol = flag.String("E", "", "set `entry` symbol name") |
| 55 | +PruneWeakMap = flag.Bool("pruneweakmap", true, "prune weak mapinit refs") |
| 56 | +RandLayout = flag.Int64("randlayout", 0, "randomize function layout") |
| 57 | +AllErrors = flag.Bool("e", false, "no limit on number of errors reported") |
| 58 | +CpuProfile = flag.String("cpuprofile", "", "write cpu profile to `file`") |
| 59 | +MemProfile = flag.String("memprofile", "", "write memory profile to `file`") |
| 60 | +MemProfileRate = flag.Int64("memprofilerate", 0, "set runtime.MemProfileRate to `rate`") |
| 61 | +Benchmark = flag.String("benchmark", "", "set to 'mem' or 'cpu' to enable phase benchmarking") |
| 62 | +BenchmarkProfile = flag.String("benchmarkprofile", "", "emit phase profiles to `base`_phase.{cpu,mem}prof") |
| 63 | +Wflag = new(bool) |
| 64 | +) |
0 commit comments