LLVM-STRINGS(1)
π LLVM-STRINGS(1) β the llvm-strings glow-up π
okay bestie, welcome to llvm-strings, from the LLVM fam. this is the little tool that goes digging through your files looking for printable strings and then yells them at your terminal. she's giving main character energy, she's giving drop-in replacement, she's giving β¨utilityβ¨. let's get into it.
β¨ NAME β¨
llvm-strings β print strings. that's it. that's the whole job. short king behavior, honestly.
π SYNOPSIS π
llvm-strings [options] [input...]
π¦ DESCRIPTION π¦
so. llvm-strings is a tool intended as a drop-in replacement for GNU's strings. it goes looking for printable strings in files and writes them straight to the standard output stream. no cap.
and what even is a printable string, you ask? bestie. it's any sequence of four (by default) or more printable ASCII characters. that's it. the end of the file, or any other byte, terminates the current sequence. any other byte. one wrong byte and the vibe check fails and the string is over. π
llvm-strings looks for strings in each input file specified. but here's the plot twist β unlike GNU strings, it looks in the entire input file, regardless of file format, rather than restricting the search to certain sections of object files. she does not care about your section boundaries. she reads the whole thing. obsessed.
and if - is specified as an input, or no input is specified at all, the program reads from the standard input stream. yes queen, stdin representation. π«Ά
πΈ EXAMPLE πΈ
$ cat input.txt
bars
foo
wibble blob
$ llvm-strings input.txt
bars
wibble blob
see how foo didn't make it? that's because it's only three characters and the default minimum is four. foo got left on read. π the other two ate and left no crumbs.
π OPTIONS π
--all,-aβ Silently ignored. Present for GNUstringscompatibility. literally just sitting there looking pretty, contributing nothing, and honestly? iconic. she's a decoration.--bytes=<length>,-nβ Set the minimum number of printable ASCII characters required for a sequence of bytes to be considered a string. The default value is4. so if you want shorter strings, lower it; if you want only the beefy ones, crank it up. your call, bestie.--help,-hβ Display a summary of command line options. when in doubt, ask for help. no shame in it.--print-file-name,-fβ Display the name of the containing file before each string. so when you throw a whole squad of files at her, you actually know which one each string came from. chef's kiss.
Example:
$ llvm-strings --print-file-name test.o test.elf
test.o: _Z5hellov
test.o: some_bss
test.o: test.cpp
test.o: main
test.elf: test.cpp
test.elf: test2.cpp
test.elf: _Z5hellov
test.elf: main
test.elf: some_bss
--radix=<radix>,-tβ Display the offset within the file of each string, before the string and using the specified radix. Valid<radix>values areo,dandxfor octal, decimal and hexadecimal respectively. so you get the where along with the what. receipts. π§Ύ
Example:
$ llvm-strings --radix=o test.o
1054 _Z5hellov
1066 .rela.text
1101 .comment
1112 some_bss
1123 .bss
1130 test.cpp
1141 main
$ llvm-strings --radix=d test.o
556 _Z5hellov
566 .rela.text
577 .comment
586 some_bss
595 .bss
600 test.cpp
609 main
$ llvm-strings -t x test.o
22c _Z5hellov
236 .rela.text
241 .comment
24a some_bss
253 .bss
258 test.cpp
261 main
--versionβ Display the version of thellvm-stringsexecutable. know your queen's era. π@<FILE>β Read command-line options from response file<FILE>. yes, you can put your options in a file and just point at it. delegation. we love to see it.
β EXIT STATUS β
llvm-strings exits with a non-zero exit code if there is an error. otherwise, it exits with code 0. so like, 0 = we're so back, non-zero = it's over. check your $? bestie, she will tell you everything.
π BUGS π
To report bugs, please visit <https://github.com/llvm/llvm-project/labels/tools:llvm-strings/>.
(ngl if you found a bug, go tell them. they wanna know. constructive feedback is self care. π)
π AUTHOR π
Maintained by the LLVM Team (https://llvm.org/). absolute legends, fr fr.
π COPYRIGHT π
2003-2025, LLVM Project
heads up bestie: every flag, every default, every number and every path up there is exactly as written β don't let the vibes fool you into thinking we changed a single character of the actual behavior. π
and that's the whole page!! this was LLVM-STRINGS(1), from the LLVM crew, page 20, dated 2025-09-03. mwah. go find some strings. you're gonna slay. π β¨π¦
π¦ where this page comes from
- fedora 43: llvm20 20.1.8-2.fc43 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- fedora 43: llvm20 20.1.8-2.fc43 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- fedora 44: llvm20 20.1.8-2.fc44 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- fedora 44: llvm20 20.1.8-2.fc44 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms