FreeBSD Manual Pages
LLVM-MC(1) LLVM LLVM-MC(1) NAME llvm-mc - LLVM Machine Code Playground SYNOPSIS llvm-mc [options] [filename] DESCRIPTION The llvm-mc command takes assembly code for a specified architecture as input and generates an object file or executable. llvm-mc provides a set of tools for working with machine code, such as encoding instructions and displaying internal representations, disas- sembling strings to bytes, etc. The choice of architecture for the output assembly code is automati- cally determined from the input file, unless the --arch option is used to override the default. OPTIONS If the -o option is omitted, then llvm-mc will send its output to stan- dard output if the input is from standard input. If the -o option specifies "-", then the output will also be sent to standard output. If no -o option is specified and an input file other than "-" is speci- fied, then llvm-mc creates the output filename by taking the input filename, removing any existing .s extension, and adding a .o suffix. Other llvm-mc options are described below. End-user Options --help Display available options (--help-hidden for more). -o <filename> Use <filename> as the output filename. See the summary above for more details. --arch=<string> Target arch to assemble for, see -version for available targets. --as-lex Apply the assemblers "lexer" to break the input into tokens and print each of them out. This is intended to help develop and test an assembler implementation. --assemble Assemble assembly file (default), and print the result to assem- bly. This is useful to design and test instruction parsers, and can be a useful tool when combined with other llvm-mc flags. For example, this option may be useful to transcode assembly from different dialects, e.g. on Intel where you can use -out- put-asm-variant=1 to translate from AT&T to Intel assembly syn- tax. It can also be combined with --show-encoding to understand how instructions are encoded. --disassemble Parse a series of hex bytes, and print the result out as assem- bly syntax. --mdis Marked up disassembly of string of hex bytes. --cdis Colored disassembly of string of hex bytes. --filetype=[asm,null,obj] Sets the output filetype. Setting this flag to asm will make the tool output text assembly. Setting this flag to obj will make the tool output an object file. Setting it to null causes no output to be created and can be used for timing purposes. The default value is asm. -g Generate DWARF debugging info for assembly source files. --large-code-model Create CFI directives that assume the code might be more than 2 GB. --main-file-name=<string> Specify the name we should consider the input file. --masm-hexfloats Enable MASM-style hex float initializers (3F800000r). -mattr=a1,+a2,-a3,... Target specific attributes (-mattr=help for details). --mcpu=<cpu-name> Target a specific cpu type (-mcpu=help for details). --triple=<string> Target triple to assemble for, see -version for available tar- gets. --split-dwarf-file=<filename> DWO output filename. --show-inst-operands Show instructions operands as parsed. --show-inst Show internal instruction representation. --show-encoding Show instruction encodings. --save-temp-labels Don't discard temporary labels. --relax-relocations Emit R_X86_64_GOTPCRELX instead of R_X86_64_GOTPCREL. --print-imm-hex Prefer hex format for immediate values. --preserve-comments Preserve Comments in outputted assembly. --output-asm-variant=<uint> Syntax variant to use for output printing. For example, on x86 targets --output-asm-variant=0 prints in AT&T syntax, and --out- put-asm-variant=1 prints in Intel/MASM syntax. --compress-debug-sections=[none|zlib|zstd] Choose DWARF debug sections compression. EXIT STATUS If llvm-mc succeeds, it will exit with 0. Otherwise, if an error oc- curs, it will exit with a non-zero value. AUTHOR Maintained by the LLVM Team (https://llvm.org/). COPYRIGHT 2003-2025, LLVM Project 18 2025-04-13 LLVM-MC(1)
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXIT STATUS | AUTHOR | COPYRIGHT
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=llvm-mc-cheriot&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>