LLVM-STRINGS(1)
π LLVM-STRINGS π (that's the manual page, bestie β section 1, LLVM fam)
β¨ NAME β¨
llvm-strings β print strings, that's it, that's the whole vibe π
πΈ SYNOPSIS πΈ
llvm-strings [options] [input...]
π¦ DESCRIPTION π¦
okay so llvm-strings is a tool that's meant to be 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. And what even is a printable string, you ask? It's literally any sequence of four (by default, anyway) or more printable ASCII characters. The end of the file terminates the current sequence β and ngl, so does any other byte. Random byte shows up? Sequence over. π
llvm-strings hunts for strings in every input file you specify. But here's the tea: unlike GNU strings, it looks in the entire input file, no matter what the file format is β it does not restrict the search to certain sections of object files. Full send, no gatekeeping. π
If you pass "-" as an input, or you pass no input at all, the program reads from the standard input stream. Slay. π«Ά
π EXAMPLE π
$ cat input.txt
bars
foo
wibble blob
$ llvm-strings input.txt
bars
wibble blob
π OPTIONS π
--all,-aβ Silently ignored, bestie. It's just there for GNUstringscompatibility. It's giving decorative. π--bytes=<length>,-nβ Sets the minimum number of printable ASCII characters a sequence of bytes needs before it counts as a string. Default value is4. β¨--help,-hβ Displays a summary of the command line options.--help-listβ Displays an uncategorized summary of the command line options. (Yes, there's a difference. Iconic behaviour.)--print-file-name,-fβ Displays the name of the containing file before each string. Look at her go:
$ 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β Displays the offset within the file of each string, before the string, using the radix you picked. Valid<radix>values areo,dandxβ that's octal, decimal and hexadecimal respectively. no cap π§
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β Displays the version of thellvm-stringsexecutable. Main character energy, honestly. β@<FILE>β Reads command-line options from the response file<FILE>. π¦
π₯ EXIT STATUS π₯
llvm-strings exits with a non-zero exit code if there's an error. Otherwise? It exits with code 0. Clean, no drama. π
π BUGS π
To report bugs, please visit <https://bugs.llvm.org/>. (Go off, tell them everything. π)
π AUTHOR π
Maintained by the LLVM Team (https://llvm.org/).
π COPYRIGHT π
2003-2024, LLVM Project
and that's the whole page, bestie π this one's from LLVM, dated 2024-07-18, page 12 β go forth and find ur strings fr fr πΈβ¨
π¦ where this page comes from
- fedora 43: llvm12 12.0.1-12.fc41 Β· NCSA
- fedora 43: llvm12 12.0.1-12.fc41 Β· NCSA
- fedora 44: llvm12 12.0.1-12.fc41 Β· NCSA
- fedora 44: llvm12 12.0.1-12.fc41 Β· NCSA
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms