aboutsummaryrefslogtreecommitdiff
path: root/usr.bin
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2020-06-28 07:43:43 +0000
committerDimitry Andric <dim@FreeBSD.org>2020-06-28 07:43:43 +0000
commit62cfcf62f627e5093fb37026a6d8c98e4d2ef04c (patch)
tree255bbf35b9a2ddd5592f4bff3103342728645ee3 /usr.bin
parent016bac89db9ce584b0a5980b119c35b9825ab0f8 (diff)
parentdbb6490749e2bb2a514a8a305b8fadc3495183e6 (diff)
Notes
Diffstat (limited to 'usr.bin')
-rw-r--r--usr.bin/clang/Makefile3
-rw-r--r--usr.bin/clang/llvm-dwp/Makefile12
-rw-r--r--usr.bin/clang/llvm-size/Makefile8
-rw-r--r--usr.bin/clang/llvm-size/llvm-size.1275
-rw-r--r--usr.bin/clang/llvm-strings/Makefile9
-rw-r--r--usr.bin/clang/llvm-strings/llvm-strings.1179
6 files changed, 486 insertions, 0 deletions
diff --git a/usr.bin/clang/Makefile b/usr.bin/clang/Makefile
index 5ac0607338e30..68b3c1537d900 100644
--- a/usr.bin/clang/Makefile
+++ b/usr.bin/clang/Makefile
@@ -27,6 +27,7 @@ SUBDIR+= llvm-cxxfilt
SUBDIR+= llvm-diff
SUBDIR+= llvm-dis
SUBDIR+= llvm-dwarfdump
+SUBDIR+= llvm-dwp
SUBDIR+= llvm-extract
SUBDIR+= llvm-link
SUBDIR+= llvm-lto
@@ -37,6 +38,8 @@ SUBDIR+= llvm-modextract
SUBDIR+= llvm-objcopy
SUBDIR+= llvm-pdbutil
SUBDIR+= llvm-rtdyld
+SUBDIR+= llvm-size
+SUBDIR+= llvm-strings
SUBDIR+= llvm-xray
SUBDIR+= opt
.endif
diff --git a/usr.bin/clang/llvm-dwp/Makefile b/usr.bin/clang/llvm-dwp/Makefile
new file mode 100644
index 0000000000000..a9d5d4f94e843
--- /dev/null
+++ b/usr.bin/clang/llvm-dwp/Makefile
@@ -0,0 +1,12 @@
+# $FreeBSD$
+
+PROG_CXX= llvm-dwp
+MAN=
+
+SRCDIR= llvm/tools/llvm-dwp
+SRCS+= DWPError.cpp
+SRCS+= llvm-dwp.cpp
+
+LIBADD+= z
+
+.include "../llvm.prog.mk"
diff --git a/usr.bin/clang/llvm-size/Makefile b/usr.bin/clang/llvm-size/Makefile
new file mode 100644
index 0000000000000..a4a387aabf6f1
--- /dev/null
+++ b/usr.bin/clang/llvm-size/Makefile
@@ -0,0 +1,8 @@
+# $FreeBSD$
+
+PROG_CXX= llvm-size
+
+SRCDIR= llvm/tools/llvm-size
+SRCS+= llvm-size.cpp
+
+.include "../llvm.prog.mk"
diff --git a/usr.bin/clang/llvm-size/llvm-size.1 b/usr.bin/clang/llvm-size/llvm-size.1
new file mode 100644
index 0000000000000..b89fbea69765d
--- /dev/null
+++ b/usr.bin/clang/llvm-size/llvm-size.1
@@ -0,0 +1,275 @@
+.\" $FreeBSD$
+.\" Man page generated from reStructuredText.
+.
+.TH "LLVM-SIZE" "1" "2020-06-26" "10" "LLVM"
+.SH NAME
+llvm-size \- print size information
+.
+.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
+..
+.SH SYNOPSIS
+.sp
+\fBllvm\-size\fP [\fIoptions\fP] [\fIinput...\fP]
+.SH DESCRIPTION
+.sp
+\fBllvm\-size\fP is a tool that prints size information for binary files.
+It is intended to be a drop\-in replacement for GNU\(aqs \fBsize\fP\&.
+.sp
+The tool prints size information for each \fBinput\fP specified. If no input is
+specified, the program prints size information for \fBa.out\fP\&. If "\fB\-\fP" is
+specified as an input file, \fBllvm\-size\fP reads a file from the standard
+input stream. If an input is an archive, size information will be displayed for
+all its members.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \-A
+Equivalent to \fI\%\-\-format\fP with a value of \fBsysv\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-arch=<arch>
+Architecture(s) from Mach\-O universal binaries to display information for.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-B
+Equivalent to \fI\%\-\-format\fP with a value of \fBberkeley\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-common
+Include ELF common symbol sizes in bss size for \fBberkeley\fP output format, or
+as a separate section entry for \fBsysv\fP output. If not specified, these
+symbols are ignored.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-d
+Equivalent to \fI\%\-\-radix\fP with a value of \fB10\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-l
+Display verbose address and offset information for segments and sections in
+Mach\-O files in \fBdarwin\fP format.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-format=<format>
+Set the output format to the \fB<format>\fP specified. Available \fB<format>\fP
+options are \fBberkeley\fP (the default), \fBsysv\fP and \fBdarwin\fP\&.
+.sp
+Berkeley output summarises text, data and bss sizes in each file, as shown
+below for a typical pair of ELF files:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ llvm\-size \-\-format=berkeley test.o test2.o
+ text data bss dec hex filename
+ 182 16 5 203 cb test.elf
+ 82 8 1 91 5b test2.o
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+For Mach\-O files, the output format is slightly different:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ llvm\-size \-\-format=berkeley macho.obj macho2.obj
+__TEXT __DATA __OBJC others dec hex
+4 8 0 0 12 c macho.obj
+16 32 0 0 48 30 macho2.obj
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Sysv output displays size and address information for most sections, with each
+file being listed separately:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ llvm\-size \-\-format=sysv test.elf test2.o
+ test.elf :
+ section size addr
+ .eh_frame 92 2097496
+ .text 90 2101248
+ .data 16 2105344
+ .bss 5 2105360
+ .comment 209 0
+ Total 412
+
+ test2.o :
+ section size addr
+ .text 26 0
+ .data 8 0
+ .bss 1 0
+ .comment 106 0
+ .note.GNU\-stack 0 0
+ .eh_frame 56 0
+ .llvm_addrsig 2 0
+ Total 199
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fBdarwin\fP format only affects Mach\-O input files. If an input of a different
+file format is specified, \fBllvm\-size\fP falls back to \fBberkeley\fP
+format. When producing \fBdarwin\fP format, the tool displays information about
+segments and sections:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ llvm\-size \-\-format=darwin macho.obj macho2.obj
+ macho.obj:
+ Segment : 12
+ Section (__TEXT, __text): 4
+ Section (__DATA, __data): 8
+ total 12
+ total 12
+ macho2.obj:
+ Segment : 48
+ Section (__TEXT, __text): 16
+ Section (__DATA, __data): 32
+ total 48
+ total 48
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-help, \-h
+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 \-m
+Equivalent to \fI\%\-\-format\fP with a value of \fBdarwin\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-o
+Equivalent to \fI\%\-\-radix\fP with a value of \fB8\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-radix=<value>
+Display size information in the specified radix. Permitted values are \fB8\fP,
+\fB10\fP (the default) and \fB16\fP for octal, decimal and hexadecimal output
+respectively.
+.sp
+Example:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ llvm\-size \-\-radix=8 test.o
+ text data bss oct hex filename
+ 0152 04 04 162 72 test.o
+
+$ llvm\-size \-\-radix=10 test.o
+ text data bss dec hex filename
+ 106 4 4 114 72 test.o
+
+$ llvm\-size \-\-radix=16 test.o
+ text data bss dec hex filename
+ 0x6a 0x4 0x4 114 72 test.o
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-totals, \-t
+Applies only to \fBberkeley\fP output format. Display the totals for all listed
+fields, in addition to the individual file listings.
+.sp
+Example:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ llvm\-size \-\-totals test.elf test2.o
+ text data bss dec hex filename
+ 182 16 5 203 cb test.elf
+ 82 8 1 91 5b test2.o
+ 264 24 6 294 126 (TOTALS)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-version
+Display the version of the \fBllvm\-size\fP executable.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-x
+Equivalent to \fI\%\-\-radix\fP with a value of \fB16\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B @<FILE>
+Read command\-line options from response file \fB<FILE>\fP\&.
+.UNINDENT
+.SH EXIT STATUS
+.sp
+\fBllvm\-size\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\%http://llvm.org/bugs/\fP>.
+.SH AUTHOR
+Maintained by the LLVM Team (https://llvm.org/).
+.SH COPYRIGHT
+2003-2020, LLVM Project
+.\" Generated by docutils manpage writer.
+.
diff --git a/usr.bin/clang/llvm-strings/Makefile b/usr.bin/clang/llvm-strings/Makefile
new file mode 100644
index 0000000000000..bb5f28867d38c
--- /dev/null
+++ b/usr.bin/clang/llvm-strings/Makefile
@@ -0,0 +1,9 @@
+# $FreeBSD$
+
+PROG_CXX= llvm-strings
+MAN=
+
+SRCDIR= llvm/tools/llvm-strings
+SRCS+= llvm-strings.cpp
+
+.include "../llvm.prog.mk"
diff --git a/usr.bin/clang/llvm-strings/llvm-strings.1 b/usr.bin/clang/llvm-strings/llvm-strings.1
new file mode 100644
index 0000000000000..27e5f6e496482
--- /dev/null
+++ b/usr.bin/clang/llvm-strings/llvm-strings.1
@@ -0,0 +1,179 @@
+.\" $FreeBSD$
+.\" Man page generated from reStructuredText.
+.
+.TH "LLVM-STRINGS" "1" "2020-06-26" "10" "LLVM"
+.SH NAME
+llvm-strings \- print strings
+.
+.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
+..
+.SH SYNOPSIS
+.sp
+\fBllvm\-strings\fP [\fIoptions\fP] [\fIinput...\fP]
+.SH DESCRIPTION
+.sp
+\fBllvm\-strings\fP is a tool intended as a drop\-in replacement for GNU\(aqs
+\fBstrings\fP, which looks for printable strings in files and writes them
+to the standard output stream. A printable string is any sequence of four (by
+default) or more printable ASCII characters. The end of the file, or any other
+byte, terminates the current sequence.
+.sp
+\fBllvm\-strings\fP looks for strings in each \fBinput\fP file specified.
+Unlike GNU \fBstrings\fP it looks in the entire input file, regardless of
+file format, rather than restricting the search to certain sections of object
+files. If "\fB\-\fP" is specified as an \fBinput\fP, or no \fBinput\fP is specified,
+the program reads from the standard input stream.
+.SH EXAMPLE
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ cat input.txt
+bars
+foo
+wibble blob
+$ llvm\-strings input.txt
+bars
+wibble blob
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \-\-all, \-a
+Silently ignored. Present for GNU \fBstrings\fP compatibility.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-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 is 4.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-help, \-h
+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 \-\-print\-file\-name, \-f
+Display the name of the containing file before each string.
+.sp
+Example:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ 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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-radix=<radix>, \-t
+Display the offset within the file of each string, before the string and using
+the specified radix. Valid \fB<radix>\fP values are \fBo\fP, \fBd\fP and \fBx\fP for
+octal, decimal and hexadecimal respectively.
+.sp
+Example:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ 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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-version
+Display the version of the \fBllvm\-strings\fP executable.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B @<FILE>
+Read command\-line options from response file \fB<FILE>\fP\&.
+.UNINDENT
+.SH EXIT STATUS
+.sp
+\fBllvm\-strings\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\%http://llvm.org/bugs/\fP>.
+.SH AUTHOR
+Maintained by the LLVM Team (https://llvm.org/).
+.SH COPYRIGHT
+2003-2020, LLVM Project
+.\" Generated by docutils manpage writer.
+.