asm

command standard library
go1.23.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 3, 2024 License: BSD-3-Clause Imports: 14 Imported by: 0

Documentation

Overview

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.

Directories

Path Synopsis
internal
arch
Package arch defines architecture-specific information and support functions.
Package arch defines architecture-specific information and support functions.
asm
Package asm implements the parser and instruction generator for the assembler.
Package asm implements the parser and instruction generator for the assembler.
flags
Package flags implements top-level flags and the usage message for the assembler.
Package flags implements top-level flags and the usage message for the assembler.
lex
Package lex implements lexical analysis for the assembler.
Package lex implements lexical analysis for the assembler.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL