1
0
Fork 0
mirror of https://github.com/tldr-pages/tldr.git synced 2025-04-22 17:02:09 +02:00
tldr/pages/common/llvm-mc.md
2024-12-31 05:52:59 +01:00

888 B

llvm-mc

LLVM Machine Code Playground. It provides a set of tools for working with LLVM machine code. Part of LLVM. More information: https://llvm.org/docs/CommandGuide/llvm-mc.html.

  • Assemble assembly code file into object file with machine code:

llvm-mc --filetype=obj -o {{path/to/output.o}} {{path/to/input.s}}

  • Disassemble object file with machine code into assembly code file:

llvm-mc --disassemble -o {{path/to/output.s}} {{path/to/input.o}}

  • Compile LLVM bit code file into assembly code:

llvm-mc -o {{path/to/output.s}} {{path/to/input.bc}}

  • Assemble assembly code from standard input stream and show encoding to standard output stream:

echo "{{addl %eax, %ebx}}" | llvm-mc -show-encoding -show-inst

  • Disassemble machine code from standard input stream for specified triple:

echo "{{0xCD 0x21}}" | llvm-mc --disassemble -triple={{target_name}}