Files
cheatsheet-tldr/tldr/llvm-mc
2025-10-22 00:20:27 +00:00

31 lines
939 B
Plaintext

---
syntax: markdown
tags: [tldr, common]
source: https://github.com/tldr-pages/tldr.git
---
# 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 `stdin` and show encoding to `stdout`:
`echo "{{addl %eax, %ebx}}" | llvm-mc -show-encoding -show-inst`
- Disassemble machine code from `stdin` for specified triple:
`echo "{{0xCD 0x21}}" | llvm-mc --disassemble -triple={{target_name}}`