Index: lib/clang/libllvm/Makefile =================================================================== --- lib/clang/libllvm/Makefile +++ lib/clang/libllvm/Makefile @@ -148,9 +148,13 @@ SRCS_MIN+= AsmParser/LLLexer.cpp SRCS_MIN+= AsmParser/LLParser.cpp SRCS_MIN+= AsmParser/Parser.cpp +SRCS_MIN+= BinaryFormat/AMDGPUMetadataVerifier.cpp SRCS_MIN+= BinaryFormat/Dwarf.cpp SRCS_MIN+= BinaryFormat/Magic.cpp SRCS_MIN+= BinaryFormat/MachO.cpp +SRCS_MIN+= BinaryFormat/MsgPackDocument.cpp +SRCS_MIN+= BinaryFormat/MsgPackDocumentYAML.cpp +SRCS_MIN+= BinaryFormat/MsgPackReader.cpp SRCS_MIN+= BinaryFormat/Wasm.cpp SRCS_MIN+= BinaryFormat/XCOFF.cpp SRCS_MIN+= Bitcode/Reader/BitReader.cpp @@ -434,14 +438,14 @@ SRCS_MIN+= DebugInfo/CodeView/CodeViewError.cpp SRCS_MIN+= DebugInfo/CodeView/CodeViewRecordIO.cpp SRCS_MIN+= DebugInfo/CodeView/ContinuationRecordBuilder.cpp -SRCS_EXT+= DebugInfo/CodeView/DebugChecksumsSubsection.cpp +SRCS_MIN+= DebugInfo/CodeView/DebugChecksumsSubsection.cpp SRCS_EXT+= DebugInfo/CodeView/DebugCrossExSubsection.cpp SRCS_EXT+= DebugInfo/CodeView/DebugCrossImpSubsection.cpp -SRCS_EXT+= DebugInfo/CodeView/DebugFrameDataSubsection.cpp -SRCS_EXT+= DebugInfo/CodeView/DebugInlineeLinesSubsection.cpp -SRCS_EXT+= DebugInfo/CodeView/DebugLinesSubsection.cpp -SRCS_EXT+= DebugInfo/CodeView/DebugStringTableSubsection.cpp -SRCS_EXT+= DebugInfo/CodeView/DebugSubsection.cpp +SRCS_MIN+= DebugInfo/CodeView/DebugFrameDataSubsection.cpp +SRCS_MIN+= DebugInfo/CodeView/DebugInlineeLinesSubsection.cpp +SRCS_MIN+= DebugInfo/CodeView/DebugLinesSubsection.cpp +SRCS_MIN+= DebugInfo/CodeView/DebugStringTableSubsection.cpp +SRCS_MIN+= DebugInfo/CodeView/DebugSubsection.cpp SRCS_EXT+= DebugInfo/CodeView/DebugSubsectionRecord.cpp SRCS_EXT+= DebugInfo/CodeView/DebugSubsectionVisitor.cpp SRCS_EXT+= DebugInfo/CodeView/DebugSymbolRVASubsection.cpp @@ -449,9 +453,9 @@ SRCS_MIN+= DebugInfo/CodeView/EnumTables.cpp SRCS_MIN+= DebugInfo/CodeView/Formatters.cpp SRCS_MIN+= DebugInfo/CodeView/GlobalTypeTableBuilder.cpp -SRCS_EXT+= DebugInfo/CodeView/LazyRandomTypeCollection.cpp +SRCS_MIN+= DebugInfo/CodeView/LazyRandomTypeCollection.cpp SRCS_MIN+= DebugInfo/CodeView/Line.cpp -SRCS_EXT+= DebugInfo/CodeView/MergingTypeTableBuilder.cpp +SRCS_MIN+= DebugInfo/CodeView/MergingTypeTableBuilder.cpp SRCS_MIN+= DebugInfo/CodeView/RecordName.cpp SRCS_MIN+= DebugInfo/CodeView/RecordSerialization.cpp SRCS_MIN+= DebugInfo/CodeView/SimpleTypeSerializer.cpp @@ -889,6 +893,7 @@ SRCS_MIN+= Support/ARMAttributeParser.cpp SRCS_MIN+= Support/ARMBuildAttrs.cpp SRCS_MIN+= Support/ARMTargetParser.cpp +SRCS_MIN+= Support/ARMWinEH.cpp SRCS_MIN+= Support/Allocator.cpp SRCS_MIN+= Support/BinaryStreamError.cpp SRCS_MIN+= Support/BinaryStreamReader.cpp Index: tools/build/mk/OptionalObsoleteFiles.inc =================================================================== --- tools/build/mk/OptionalObsoleteFiles.inc +++ tools/build/mk/OptionalObsoleteFiles.inc @@ -1229,6 +1229,8 @@ OLD_FILES+=usr/bin/llvm-nm OLD_FILES+=usr/bin/llvm-objdump OLD_FILES+=usr/bin/llvm-ranlib +OLD_FILES+=usr/bin/llvm-readelf +OLD_FILES+=usr/bin/llvm-readobj OLD_FILES+=usr/bin/llvm-symbolizer OLD_FILES+=usr/bin/llvm-tblgen OLD_FILES+=usr/lib/clang/12.0.1/include/cuda_wrappers/algorithm @@ -1532,6 +1534,8 @@ OLD_FILES+=usr/share/man/man1/llvm-addr2line.1.gz OLD_FILES+=usr/share/man/man1/llvm-ar.1.gz OLD_FILES+=usr/share/man/man1/llvm-nm.1.gz +OLD_FILES+=usr/share/man/man1/llvm-readelf.1.gz +OLD_FILES+=usr/share/man/man1/llvm-readobj.1.gz OLD_FILES+=usr/share/man/man1/llvm-ranlib.1.gz OLD_FILES+=usr/share/man/man1/llvm-symbolizer.1.gz OLD_FILES+=usr/share/man/man1/llvm-tblgen.1.gz Index: usr.bin/clang/Makefile =================================================================== --- usr.bin/clang/Makefile +++ usr.bin/clang/Makefile @@ -15,6 +15,7 @@ SUBDIR+= llvm-nm SUBDIR+= llvm-objcopy SUBDIR+= llvm-objdump +SUBDIR+= llvm-readobj SUBDIR+= llvm-size SUBDIR+= llvm-strings SUBDIR+= llvm-symbolizer Index: usr.bin/clang/llvm-objcopy/Makefile =================================================================== --- usr.bin/clang/llvm-objcopy/Makefile +++ usr.bin/clang/llvm-objcopy/Makefile @@ -3,6 +3,7 @@ .include PROG_CXX= llvm-objcopy +MAN= llvm-objcopy.1 llvm-strip.1 SRCDIR= llvm/tools/llvm-objcopy SRCS+= Buffer.cpp @@ -49,7 +50,8 @@ .if ${MK_LLVM_BINUTILS} != "no" LINKS+= ${BINDIR}/llvm-objcopy ${BINDIR}/objcopy \ ${BINDIR}/llvm-strip ${BINDIR}/strip -MLINKS= llvm-objcopy.1 objcopy.1 +MLINKS= llvm-objcopy.1 objcopy.1 \ + llvm-strip.1 strip.1 .endif .include "../llvm.prog.mk" Index: usr.bin/clang/llvm-objcopy/llvm-strip.1 =================================================================== --- /dev/null +++ usr.bin/clang/llvm-objcopy/llvm-strip.1 @@ -0,0 +1,288 @@ +.\" Man page generated from reStructuredText. +. +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.TH "LLVM-STRIP" "1" "2021-09-22" "12" "LLVM" +.SH NAME +llvm-strip \- object stripping tool +.SH SYNOPSIS +.sp +\fBllvm\-strip\fP [\fIoptions\fP] \fIinputs...\fP +.SH DESCRIPTION +.sp +\fBllvm\-strip\fP is a tool to strip sections and symbols from object files. +If no other stripping or remove options are specified, \fI\%\-\-strip\-all\fP +will be enabled. +.sp +By default, the input files are modified in\-place. If "\-" is specified for the +input file, the input is read from the program\(aqs standard input stream. +.sp +If the input is an archive, any requested operations will be applied to each +archive member individually. +.sp +The tool is still in active development, but in most scenarios it works as a +drop\-in replacement for GNU\(aqs \fBstrip\fP\&. +.SH GENERIC AND CROSS-PLATFORM OPTIONS +.sp +The following options are either agnostic of the file format, or apply to +multiple file formats. +.INDENT 0.0 +.TP +.B \-\-disable\-deterministic\-archives, \-U +Use real values for UIDs, GIDs and timestamps when updating archive member +headers. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-discard\-all, \-x +Remove most local symbols from the output. Different file formats may limit +this to a subset of the local symbols. For example, file and section symbols in +ELF objects will not be discarded. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-enable\-deterministic\-archives, \-D +Enable deterministic mode when stripping archives, i.e. use 0 for archive member +header UIDs, GIDs and timestamp fields. On by default. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-help, \-h +Print a summary of command line options. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-no\-strip\-all +Disable \fI\%\-\-strip\-all\fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B \-o +Write output to . Multiple input files cannot be used in combination +with \-o. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-regex +If specified, symbol and section names specified by other switches are treated +as extended POSIX regular expression patterns. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-remove\-section
, \-R +Remove the specified section from the output. Can be specified multiple times +to remove multiple sections simultaneously. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-strip\-all\-gnu +Remove all symbols, debug sections and relocations from the output. This option +is equivalent to GNU \fBstrip\fP\(aqs \fB\-\-strip\-all\fP switch. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-strip\-all, \-S +For ELF objects, remove from the output all symbols and non\-alloc sections not +within segments, except for .gnu.warning, .ARM.attribute sections and the +section name table. +.sp +For COFF objects, remove all symbols, debug sections, and relocations from the +output. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-strip\-debug, \-g +Remove all debug sections from the output. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-strip\-symbol , \-N +Remove all symbols named \fB\fP from the output. Can be specified +multiple times to remove multiple symbols. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-strip\-unneeded +Remove from the output all local or undefined symbols that are not required by +relocations. Also remove all debug sections. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-version, \-V +Display the version of the \fBllvm\-strip\fP executable. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-wildcard, \-w +Allow wildcard syntax for symbol\-related flags. On by default for +section\-related flags. Incompatible with \-\-regex. +.sp +Wildcard syntax allows the following special symbols: +.TS +center; +|l|l|l|. +_ +T{ +Character +T} T{ +Meaning +T} T{ +Equivalent +T} +_ +T{ +\fB*\fP +T} T{ +Any number of characters +T} T{ +\fB\&.*\fP +T} +_ +T{ +\fB?\fP +T} T{ +Any single character +T} T{ +\fB\&.\fP +T} +_ +T{ +\fB\e\fP +T} T{ +Escape the next character +T} T{ +\fB\e\fP +T} +_ +T{ +\fB[a\-z]\fP +T} T{ +Character class +T} T{ +\fB[a\-z]\fP +T} +_ +T{ +\fB[!a\-z]\fP, \fB[^a\-z]\fP +T} T{ +Negated character class +T} T{ +\fB[^a\-z]\fP +T} +_ +.TE +.sp +Additionally, starting a wildcard with \(aq!\(aq will prevent a match, even if +another flag matches. For example \fB\-w \-N \(aq*\(aq \-N \(aq!x\(aq\fP will strip all symbols +except for \fBx\fP\&. +.sp +The order of wildcards does not matter. For example, \fB\-w \-N \(aq*\(aq \-N \(aq!x\(aq\fP is +the same as \fB\-w \-N \(aq!x\(aq \-N \(aq*\(aq\fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B @ +Read command\-line options and commands from response file \fI\fP\&. +.UNINDENT +.SH COFF-SPECIFIC OPTIONS +.sp +The following options are implemented only for COFF objects. If used with other +objects, \fBllvm\-strip\fP will either emit an error or silently ignore +them. +.INDENT 0.0 +.TP +.B \-\-only\-keep\-debug +Remove the contents of non\-debug sections from the output, but keep the section +headers. +.UNINDENT +.SH ELF-SPECIFIC OPTIONS +.sp +The following options are implemented only for ELF objects. If used with other +objects, \fBllvm\-strip\fP will either emit an error or silently ignore +them. +.INDENT 0.0 +.TP +.B \-\-allow\-broken\-links +Allow \fBllvm\-strip\fP to remove sections even if it would leave invalid +section references. Any invalid sh_link fields will be set to zero. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-discard\-locals, \-X +Remove local symbols starting with ".L" from the output. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-keep\-file\-symbols +Keep symbols of type \fISTT_FILE\fP, even if they would otherwise be stripped. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-keep\-section
+When removing sections from the output, do not remove sections named +\fB
\fP\&. Can be specified multiple times to keep multiple sections. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-keep\-symbol , \-K +When removing symbols from the output, do not remove symbols named +\fB\fP\&. Can be specified multiple times to keep multiple symbols. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-preserve\-dates, \-p +Preserve access and modification timestamps in the output. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-strip\-sections +Remove from the output all section headers and all section data not within +segments. Note that many tools will not be able to use an object without +section headers. +.UNINDENT +.INDENT 0.0 +.TP +.B \-T +Remove Swift symbols. +.UNINDENT +.SH EXIT STATUS +.sp +\fBllvm\-strip\fP exits with a non\-zero exit code if there is an error. +Otherwise, it exits with code 0. +.SH BUGS +.sp +To report bugs, please visit <\fI\%https://bugs.llvm.org/\fP>. +.SH SEE ALSO +.sp +\fBllvm\-objcopy(1)\fP +.SH AUTHOR +Maintained by the LLVM Team (https://llvm.org/). +.SH COPYRIGHT +2003-2021, LLVM Project +.\" Generated by docutils manpage writer. +. Index: usr.bin/clang/llvm-readobj/Makefile =================================================================== --- /dev/null +++ usr.bin/clang/llvm-readobj/Makefile @@ -0,0 +1,32 @@ +# $FreeBSD$ + +.include + +PROG_CXX= llvm-readobj +MAN= llvm-readobj.1 llvm-readelf.1 + +SRCDIR= llvm/tools/llvm-readobj +SRCS+= ARMWinEHPrinter.cpp +SRCS+= COFFDumper.cpp +SRCS+= COFFImportDumper.cpp +SRCS+= ELFDumper.cpp +SRCS+= llvm-readobj.cpp +SRCS+= MachODumper.cpp +SRCS+= ObjDumper.cpp +SRCS+= WasmDumper.cpp +SRCS+= Win64EHDumper.cpp +SRCS+= WindowsResourceDumper.cpp +SRCS+= XCOFFDumper.cpp + +LIBADD+= z + +LINKS+= ${BINDIR}/llvm-readobj ${BINDIR}/llvm-readelf \ + ${BINDIR}/llvm-readobj ${BINDIR}/readobj +MLINKS= llvm-readobj.1 readobj.1 + +.if ${MK_LLVM_BINUTILS} != "no" +LINKS+= ${BINDIR}/llvm-readelf ${BINDIR}/readelf +MLINKS+= llvm-readelf.1 readelf.1 +.endif + +.include "../llvm.prog.mk" Index: usr.bin/clang/llvm-readobj/llvm-readelf.1 =================================================================== --- /dev/null +++ usr.bin/clang/llvm-readobj/llvm-readelf.1 @@ -0,0 +1,272 @@ +.\" Man page generated from reStructuredText. +. +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.TH "LLVM-READELF" "1" "2021-09-22" "12" "LLVM" +.SH NAME +llvm-readelf \- GNU-style LLVM Object Reader +.SH SYNOPSIS +.sp +\fBllvm\-readelf\fP [\fIoptions\fP] [\fIinput...\fP] +.SH DESCRIPTION +.sp +The \fBllvm\-readelf\fP tool displays low\-level format\-specific information +about one or more object files. +.sp +If \fBinput\fP is "\fB\-\fP", \fBllvm\-readelf\fP reads from standard +input. Otherwise, it will read from the specified \fBfilenames\fP\&. +.SH OPTIONS +.INDENT 0.0 +.TP +.B \-\-all +Equivalent to specifying all the main display options. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-addrsig +Display the address\-significance table. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-arch\-specific, \-A +Display architecture\-specific information, e.g. the ARM attributes section on ARM. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-color +Use colors in the output for warnings and errors. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-demangle, \-C +Display demangled symbol names in the output. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-dyn\-relocations +Display the dynamic relocation entries. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-dyn\-symbols, \-\-dyn\-syms +Display the dynamic symbol table. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-dynamic\-table, \-\-dynamic, \-d +Display the dynamic table. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-cg\-profile +Display the callgraph profile section. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-elf\-hash\-histogram, \-\-histogram, \-I +Display a bucket list histogram for dynamic symbol hash tables. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-elf\-linker\-options +Display the linker options section. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-elf\-output\-style= +Format ELF information in the specified style. Valid options are \fBLLVM\fP and +\fBGNU\fP\&. \fBLLVM\fP output is an expanded and structured format, whilst \fBGNU\fP +(the default) output mimics the equivalent GNU \fBreadelf\fP output. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-elf\-section\-groups, \-\-section\-groups, \-g +Display section groups. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-expand\-relocs +When used with \fI\%\-\-relocations\fP, display each relocation in an expanded +multi\-line format. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-file\-headers, \-h +Display file headers. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-gnu\-hash\-table +Display the GNU hash table for dynamic symbols. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-hash\-symbols +Display the expanded hash table with dynamic symbol data. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-hash\-table +Display the hash table for dynamic symbols. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-headers, \-e +Equivalent to setting: \fI\%\-\-file\-headers\fP, \fI\%\-\-program\-headers\fP, +and \fI\%\-\-sections\fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-help +Display a summary of command line options. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-help\-list +Display an uncategorized summary of command line options. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-hex\-dump=, \-x +Display the specified section(s) as hexadecimal bytes. \fBsection\fP may be a +section index or section name. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-needed\-libs +Display the needed libraries. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-notes, \-n +Display all notes. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-program\-headers, \-\-segments, \-l +Display the program headers. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-raw\-relr +Do not decode relocations in RELR relocation sections when displaying them. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-relocations, \-\-relocs, \-r +Display the relocation entries in the file. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-sections, \-\-section\-headers, \-S +Display all sections. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-section\-data +When used with \fI\%\-\-sections\fP, display section data for each section +shown. This option has no effect for GNU style output. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-section\-details, \-t +Display all section details. Used as an alternative to \fI\%\-\-sections\fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-section\-mapping +Display the section to segment mapping. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-section\-relocations +When used with \fI\%\-\-sections\fP, display relocations for each section +shown. This option has no effect for GNU style output. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-section\-symbols +When used with \fI\%\-\-sections\fP, display symbols for each section shown. +This option has no effect for GNU style output. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-stackmap +Display contents of the stackmap section. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-stack\-sizes +Display the contents of the stack sizes section(s), i.e. pairs of function +names and the size of their stack frames. Currently only implemented for GNU +style output. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-string\-dump=, \-p +Display the specified section(s) as a list of strings. \fBsection\fP may be a +section index or section name. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-symbols, \-\-syms, \-s +Display the symbol table. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-unwind, \-u +Display unwind information. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-version +Display the version of the \fBllvm\-readelf\fP executable. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-version\-info, \-V +Display version sections. +.UNINDENT +.INDENT 0.0 +.TP +.B @ +Read command\-line options from response file \fI\fP\&. +.UNINDENT +.SH EXIT STATUS +.sp +\fBllvm\-readelf\fP returns 0 under normal operation. It returns a non\-zero +exit code if there were any errors. +.SH SEE ALSO +.sp +\fBllvm\-nm(1)\fP, \fBllvm\-objdump(1)\fP, \fBllvm\-readobj(1)\fP +.SH AUTHOR +Maintained by the LLVM Team (https://llvm.org/). +.SH COPYRIGHT +2003-2021, LLVM Project +.\" Generated by docutils manpage writer. +. Index: usr.bin/clang/llvm-readobj/llvm-readobj.1 =================================================================== --- /dev/null +++ usr.bin/clang/llvm-readobj/llvm-readobj.1 @@ -0,0 +1,403 @@ +.\" Man page generated from reStructuredText. +. +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.TH "LLVM-READOBJ" "1" "2021-09-22" "12" "LLVM" +.SH NAME +llvm-readobj \- LLVM Object Reader +.SH SYNOPSIS +.sp +\fBllvm\-readobj\fP [\fIoptions\fP] [\fIinput...\fP] +.SH DESCRIPTION +.sp +The \fBllvm\-readobj\fP tool displays low\-level format\-specific information +about one or more object files. +.sp +If \fBinput\fP is "\fB\-\fP", \fBllvm\-readobj\fP reads from standard +input. Otherwise, it will read from the specified \fBfilenames\fP\&. +.SH DIFFERENCES TO LLVM-READELF +.sp +\fBllvm\-readelf\fP is an alias for the \fBllvm\-readobj\fP tool with a +slightly different command\-line interface and output that is GNU compatible. +Following is a list of differences between \fBllvm\-readelf\fP and +\fBllvm\-readobj\fP: +.INDENT 0.0 +.IP \(bu 2 +\fBllvm\-readelf\fP uses \fIGNU\fP for the \fI\%\-\-elf\-output\-style\fP option +by default. \fBllvm\-readobj\fP uses \fILLVM\fP\&. +.IP \(bu 2 +\fBllvm\-readelf\fP allows single\-letter grouped flags (e.g. +\fBllvm\-readelf \-SW\fP is the same as \fBllvm\-readelf \-S \-W\fP). +\fBllvm\-readobj\fP does not allow grouping. +.IP \(bu 2 +\fBllvm\-readelf\fP provides \fI\%\-s\fP as an alias for +\fI\%\-\-symbols\fP, for GNU \fBreadelf\fP compatibility, whereas it is +an alias for \fI\%\-\-section\-headers\fP in \fBllvm\-readobj\fP\&. +.IP \(bu 2 +\fBllvm\-readobj\fP provides \fB\-t\fP as an alias for \fI\%\-\-symbols\fP\&. +\fBllvm\-readelf\fP does not. +.IP \(bu 2 +\fBllvm\-readobj\fP provides \fB\-\-sr\fP, \fB\-\-sd\fP, \fB\-\-st\fP and \fB\-\-dt\fP as +aliases for \fI\%\-\-section\-relocations\fP, \fI\%\-\-section\-data\fP, +\fI\%\-\-section\-symbols\fP and \fI\%\-\-dyn\-symbols\fP respectively. +\fBllvm\-readelf\fP does not provide these aliases, to avoid conflicting +with grouped flags. +.UNINDENT +.SH GENERAL AND MULTI-FORMAT OPTIONS +.sp +These options are applicable to more than one file format, or are unrelated to +file formats. +.INDENT 0.0 +.TP +.B \-\-all +Equivalent to specifying all the main display options relevant to the file +format. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-addrsig +Display the address\-significance table. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-color +Use colors in the output for warnings and errors. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-expand\-relocs +When used with \fI\%\-\-relocations\fP, display each relocation in an expanded +multi\-line format. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-file\-headers, \-h +Display file headers. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-headers, \-e +Equivalent to setting: \fI\%\-\-file\-headers\fP, \fI\%\-\-program\-headers\fP, +and \fI\%\-\-sections\fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-help +Display a summary of command line options. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-help\-list +Display an uncategorized summary of command line options. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-hex\-dump=, \-x +Display the specified section(s) as hexadecimal bytes. \fBsection\fP may be a +section index or section name. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-needed\-libs +Display the needed libraries. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-relocations, \-\-relocs, \-r +Display the relocation entries in the file. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-sections, \-\-section\-headers, \-s, \-S +Display all sections. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-section\-data, \-\-sd +When used with \fI\%\-\-sections\fP, display section data for each section +shown. This option has no effect for GNU style output. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-section\-relocations, \-\-sr +When used with \fI\%\-\-sections\fP, display relocations for each section +shown. This option has no effect for GNU style output. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-section\-symbols, \-\-st +When used with \fI\%\-\-sections\fP, display symbols for each section shown. +This option has no effect for GNU style output. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-stackmap +Display contents of the stackmap section. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-string\-dump=, \-p +Display the specified section(s) as a list of strings. \fBsection\fP may be a +section index or section name. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-symbols, \-\-syms, \-t +Display the symbol table. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-unwind, \-u +Display unwind information. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-version +Display the version of the \fBllvm\-readobj\fP executable. +.UNINDENT +.INDENT 0.0 +.TP +.B @ +Read command\-line options from response file \fI\fP\&. +.UNINDENT +.SH ELF SPECIFIC OPTIONS +.sp +The following options are implemented only for the ELF file format. +.INDENT 0.0 +.TP +.B \-\-arch\-specific, \-A +Display architecture\-specific information, e.g. the ARM attributes section on ARM. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-demangle, \-C +Display demangled symbol names in the output. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-dependent\-libraries +Display the dependent libraries section. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-dyn\-relocations +Display the dynamic relocation entries. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-dyn\-symbols, \-\-dyn\-syms, \-\-dt +Display the dynamic symbol table. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-dynamic\-table, \-\-dynamic, \-d +Display the dynamic table. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-cg\-profile +Display the callgraph profile section. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-elf\-hash\-histogram, \-\-histogram, \-I +Display a bucket list histogram for dynamic symbol hash tables. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-elf\-linker\-options +Display the linker options section. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-elf\-output\-style= +Format ELF information in the specified style. Valid options are \fBLLVM\fP and +\fBGNU\fP\&. \fBLLVM\fP output (the default) is an expanded and structured format, +whilst \fBGNU\fP output mimics the equivalent GNU \fBreadelf\fP output. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-elf\-section\-groups, \-\-section\-groups, \-g +Display section groups. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-gnu\-hash\-table +Display the GNU hash table for dynamic symbols. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-hash\-symbols +Display the expanded hash table with dynamic symbol data. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-hash\-table +Display the hash table for dynamic symbols. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-notes, \-n +Display all notes. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-program\-headers, \-\-segments, \-l +Display the program headers. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-raw\-relr +Do not decode relocations in RELR relocation sections when displaying them. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-section\-mapping +Display the section to segment mapping. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-stack\-sizes +Display the contents of the stack sizes section(s), i.e. pairs of function +names and the size of their stack frames. Currently only implemented for GNU +style output. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-version\-info, \-V +Display version sections. +.UNINDENT +.SH MACH-O SPECIFIC OPTIONS +.sp +The following options are implemented only for the Mach\-O file format. +.INDENT 0.0 +.TP +.B \-\-macho\-data\-in\-code +Display the Data in Code command. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-macho\-dsymtab +Display the Dsymtab command. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-macho\-indirect\-symbols +Display indirect symbols. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-macho\-linker\-options +Display the Mach\-O\-specific linker options. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-macho\-segment +Display the Segment command. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-macho\-version\-min +Display the version min command. +.UNINDENT +.SH PE/COFF SPECIFIC OPTIONS +.sp +The following options are implemented only for the PE/COFF file format. +.INDENT 0.0 +.TP +.B \-\-codeview +Display CodeView debug information. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-codeview\-ghash +Enable global hashing for CodeView type stream de\-duplication. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-codeview\-merged\-types +Display the merged CodeView type stream. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-codeview\-subsection\-bytes +Dump raw contents of CodeView debug sections and records. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-coff\-basereloc +Display the .reloc section. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-coff\-debug\-directory +Display the debug directory. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-coff\-tls\-directory +Display the TLS directory. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-coff\-directives +Display the .drectve section. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-coff\-exports +Display the export table. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-coff\-imports +Display the import table. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-coff\-load\-config +Display the load config. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-coff\-resources +Display the .rsrc section. +.UNINDENT +.SH EXIT STATUS +.sp +\fBllvm\-readobj\fP returns 0 under normal operation. It returns a non\-zero +exit code if there were any errors. +.SH SEE ALSO +.sp +\fBllvm\-nm(1)\fP, \fBllvm\-objdump(1)\fP, \fBllvm\-readelf(1)\fP +.SH AUTHOR +Maintained by the LLVM Team (https://llvm.org/). +.SH COPYRIGHT +2003-2021, LLVM Project +.\" Generated by docutils manpage writer. +.