// 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. /* Asm, typically invoked as “go tool asm”, assembles the source file into an object file named for the basename of the argument source file with a .o suffix. The object file can then be combined with other objects into a package archive. # Command Line Usage: go tool asm [flags] file The specified file must be a Go assembly file. The same assembler is used for all target operating systems and architectures. The GOOS and GOARCH environment variables set the desired target. Flags: -D name[=value] Predefine symbol name with an optional simple value. Can be repeated to define multiple symbols. -I dir1 -I dir2 Search for #include files in dir1, dir2, etc, after consulting $GOROOT/pkg/$GOOS_$GOARCH. -S Print assembly and machine code. -V Print assembler version and exit. -debug Dump instructions as they are parsed. -dynlink Support references to Go symbols defined in other shared libraries. -e No limit on number of errors reported. -gensymabis Write symbol ABI information to output file. Don't assemble. -o file Write output to file. The default is foo.o for /a/b/c/foo.s. -p pkgpath Set expected package import to pkgpath. -shared Generate code that can be linked into a shared library. -spectre list Enable spectre mitigations in list (all, ret). -trimpath prefix Remove prefix from recorded source file paths. -v Print debug output. Input language: The assembler uses mostly the same syntax for all architectures, the main variation having to do with addressing modes. Input is run through a simplified C preprocessor that implements #include, #define, #ifdef/endif, but not #if or ##. For more information, see https://golang.org/doc/asm. */ package main