aboutsummaryrefslogtreecommitdiff
path: root/man
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2007-01-09 23:49:32 +0000
committerMike Frysinger <vapier@gentoo.org>2007-01-09 23:49:32 +0000
commit878296ef1c61eae94d277d699fcd61bbd20bb130 (patch)
treeac9609ab576ae9b0c5361af491ed4ccd6d9b081b /man
parentfix whitespace in which() and remove unneeded memset() (diff)
downloadpax-utils-878296ef1c61eae94d277d699fcd61bbd20bb130.tar.gz
pax-utils-878296ef1c61eae94d277d699fcd61bbd20bb130.tar.bz2
pax-utils-878296ef1c61eae94d277d699fcd61bbd20bb130.zip
convert manpages to docbooks
Diffstat (limited to 'man')
-rw-r--r--man/Makefile9
-rw-r--r--man/dumpelf.123
-rw-r--r--man/dumpelf.docbook57
-rw-r--r--man/fragment/date0
-rw-r--r--man/fragment/reftail25
-rw-r--r--man/fragment/version1
-rw-r--r--man/pax-utils.docbook44
-rw-r--r--man/pspax.176
-rw-r--r--man/pspax.docbook74
-rw-r--r--man/scanelf.1173
-rw-r--r--man/scanelf.docbook232
11 files changed, 442 insertions, 272 deletions
diff --git a/man/Makefile b/man/Makefile
new file mode 100644
index 0000000..5acd642
--- /dev/null
+++ b/man/Makefile
@@ -0,0 +1,9 @@
+man_XMANS = dumpelf.1 pspax.1 scanelf.1
+
+all:
+ xmlto man pax-utils.docbook
+
+distclean:
+ rm -f $(man_XMANS)
+
+.PHONY: all clean distclean
diff --git a/man/dumpelf.1 b/man/dumpelf.1
deleted file mode 100644
index 702c78b..0000000
--- a/man/dumpelf.1
+++ /dev/null
@@ -1,23 +0,0 @@
-.TH dumpelf "1" "May 2005" "SpankY" "User Commands"
-.SH NAME
-dumpelf \- manual page for dumpelf
-.SH SYNOPSIS
-.B dumpelf
-\fI<file1> \fR[\fIfile2 fileN \fR...]
-.SH DESCRIPTION
-* Dump internal ELF structure
-.SH OPTIONS
-.TP
-\fB\-v, \-\-verbose\fR
-Be verbose (can be specified more than once)
-.TP
-\fB\-h\fR, \fB\-\-help\fR
-* Print this help and exit
-.TP
-\fB\-V\fR, \fB\-\-version\fR
-* Print version and exit
-.PP
-.SH "SEE ALSO"
-.BR readelf (1),
-.SH "AUTHORS"
-dumpelf written for Gentoo Linux by <vapier@gentoo>
diff --git a/man/dumpelf.docbook b/man/dumpelf.docbook
new file mode 100644
index 0000000..a5074fb
--- /dev/null
+++ b/man/dumpelf.docbook
@@ -0,0 +1,57 @@
+<chapter>
+<refentry id='dumpelf.1'>
+
+<refmeta>
+ <refentrytitle>dumpelf</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class='source'>&project;</refmiscinfo>
+</refmeta>
+
+<refnamediv id='name'>
+ <refname>dumpelf</refname>
+ <refpurpose>dump internal ELF structure</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv id='synopsis'>
+ <cmdsynopsis>
+ <command>dumpelf</command>
+ <arg choice='opt'>
+ <replaceable>options</replaceable>
+ </arg>
+ <arg choice='plain'>
+ <replaceable>ELFs</replaceable>
+ </arg>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1 id='description'>
+ <title>DESCRIPTION</title>
+ <para>
+ <command>dumpelf</command> is a user-space utility to dump all of the internal
+ ELF structures into the equivalent C structures for fun debugging and/or
+ reference purposes.
+ </para>
+</refsect1>
+
+<refsect1 id='options'>
+ <title>OPTIONS</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>-h</option>, <option>--help</option></term>
+ <listitem><para>Show condensed usage and exit</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-V</option>, <option>--version</option></term>
+ <listitem><para>Print version and exit</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-v</option>, <option>--verbose</option></term>
+ <listitem><para>Be verbose (can be used more than once)</para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+&reftail;
+
+</refentry>
+</chapter>
diff --git a/man/fragment/date b/man/fragment/date
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/man/fragment/date
diff --git a/man/fragment/reftail b/man/fragment/reftail
new file mode 100644
index 0000000..6221860
--- /dev/null
+++ b/man/fragment/reftail
@@ -0,0 +1,25 @@
+<refsect1 id='homepage'>
+ <title>HOMEPAGE</title>
+ <para>http://hardened.gentoo.org/pax-utils.xml</para>
+</refsect1>
+
+<refsect1 id='report_bugs'>
+ <title>REPORTING BUGS</title>
+ <para>
+ Please include as much information as possible (using any available
+ debugging options) and send bug reports to the maintainers (see the
+ <link><emphasis remap='B'>AUTHORS</emphasis></link> section).
+ </para>
+</refsect1>
+
+<refsect1 id='see_also'>
+ <title>SEE ALSO</title>
+ <para>
+ <citerefentry><refentrytitle>chpax</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>dumpelf</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>paxctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>pspax</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>readelf</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>scanelf</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ </para>
+</refsect1>
diff --git a/man/fragment/version b/man/fragment/version
new file mode 100644
index 0000000..6ea022b
--- /dev/null
+++ b/man/fragment/version
@@ -0,0 +1 @@
+<releaseinfo>cvs</releaseinfo>
diff --git a/man/pax-utils.docbook b/man/pax-utils.docbook
new file mode 100644
index 0000000..3be7838
--- /dev/null
+++ b/man/pax-utils.docbook
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.4//EN"
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+
+ <!ENTITY date SYSTEM "fragment/date">
+ <!ENTITY version SYSTEM "fragment/version">
+ <!ENTITY reftail SYSTEM "fragment/reftail">
+
+ <!ENTITY project "pax-utils">
+
+ <!ENTITY dumpelf SYSTEM "dumpelf.docbook">
+ <!ENTITY pspax SYSTEM "pspax.docbook">
+ <!ENTITY scanelf SYSTEM "scanelf.docbook">
+]>
+
+<book id="pax-utils" lang="en">
+
+<bookinfo>
+ <title>Documentation for pax-utils</title>
+
+ <authorgroup>
+ <author>
+ <firstname>Ned</firstname>
+ <surname>Ludd</surname>
+ <authorblurb><para>Maintainer</para></authorblurb>
+ <email>solar@gentoo.org</email>
+ </author>
+ <author>
+ <firstname>Mike</firstname>
+ <surname>Frysinger</surname>
+ <authorblurb><para>Maintainer</para></authorblurb>
+ <email>vapier@gentoo.org</email>
+ </author>
+ </authorgroup>
+
+ &version;
+ &date;
+</bookinfo>
+
+&dumpelf;
+&pspax;
+&scanelf;
+
+</book>
diff --git a/man/pspax.1 b/man/pspax.1
deleted file mode 100644
index 1e7e4b9..0000000
--- a/man/pspax.1
+++ /dev/null
@@ -1,76 +0,0 @@
-.TH "scanelf" "1" "User Commands" "Ned Ludd" "User Commands"
-.SH "NAME"
-.LP
-scanelf \-
-user-space utility to scan elf files
-.SH "SYNTAX"
-.LP
-Usage: pspax [options]
-
-user@shell$ pspax
-.BR
-.SH "DESCRIPTION"
-pspax is a user-space utility that scans the proc directory and list ELF types, as well as their respctive PaX flags and filenames and attributes. Depending on how pspax was compiled it additionaly will display the process running set of cabilities.
-.LP
-.SH "OPTIONS"
-.TP
-\fB\-a, \-\-all\fR
-* Show all processes
-.TP
-\fB\-e, \-\-header\fR
-* Print GNU_STACK/PT_LOAD markings
-.TP
-\fB\-p, \-\-pid\fR
-* Process ID/pid #
-.TP
-\fB\-u, \-\-uid\fR
-* Process user/uid #
-.TP
-\fB\-g, \-\-gid\fR
-* Process group/gid #
-.TP
-\fB\-n, \-\-nx\fR
-* Only display w^x processes
-.TP
-\fB\-w, \-\-wx\fR
-* Only display w|x processes
-.TP
-\fB\-v, \-\-verbose\fR
-* Be verbose about executable mappings
-.TP
-\fB\-B, \-\-nobanner\fR
-* Don't display the header
-.TP
-\fB\-h, \-\-help\fR
-* Print this help and exit
-.TP
-\fB\-V, \-\-version\fR
-* Print version and exit
-.LP
-.SH "FILES"
-.LP
-\fI/proc/\fP
-\fI/proc/%d/exe\fP
-\fI/proc/%d/stat\fP
-\fI/proc/%d/status\fP
-\fI/proc/%d/attr/current\fP
-\fI/proc/%d/maps\fP
-.SH "ENVIRONMENT VARIABLES"
-.TP
-\fBPATH\fP
-When the program is compiled with capability support those will be listed as well.
-.SH "EXAMPLES"
-.LP
-To run this program the standard way type:
-.LP
-pspax
-.SH "REPORTING BUGS"
-Please include as much information as possible (using any available debugging options) and send bug reports to pax-utils <solar@gentoo.org>.
-.SH "SEE ALSO"
-.BR chpax (1),
-.BR paxctl (1),
-.BR pspax (1),
-.BR gradm (8),
-.BR scanelf (1),
-.SH "AUTHORS"
-scanelf was written by <solar and vapier @gentoo.org>
diff --git a/man/pspax.docbook b/man/pspax.docbook
new file mode 100644
index 0000000..8403dba
--- /dev/null
+++ b/man/pspax.docbook
@@ -0,0 +1,74 @@
+<chapter>
+<refentry id='pspax.1'>
+
+<refmeta>
+ <refentrytitle>pspax</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class='source'>&project;</refmiscinfo>
+</refmeta>
+
+<refnamediv id='name'>
+ <refname>pspax</refname>
+ <refpurpose>list ELF/PaX information about running processes</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv id='synopsis'>
+ <cmdsynopsis>
+ <command>pspax</command>
+ <arg choice='opt'>
+ <replaceable>options</replaceable>
+ </arg>
+ <arg choice='plain'>
+ <replaceable>ELFs</replaceable>
+ </arg>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1 id='description'>
+ <title>DESCRIPTION</title>
+ <para>
+ <command>pspax</command> is a user-space utility that scans the proc
+ directory and list ELF types, as well as thier respctive PaX flags and
+ filenames and attributes. Depending on build options, it may additionaly
+ display the process running set of capabilities.
+ </para>
+</refsect1>
+
+<refsect1 id='options'>
+ <title>OPTIONS</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>-a</option>, <option>--all</option></term>
+ <listitem><para>Show all processes</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-B</option>, <option>--banner</option></term>
+ <listitem><para>Don't display the header</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-e</option>, <option>--header</option></term>
+ <listitem><para>Print GNU_STACK/PT_LOAD markings</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-h</option>, <option>--help</option></term>
+ <listitem><para>Show condensed usage and exit</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-p</option>, <option>--pid</option> <replaceable>PID</replaceable></term>
+ <listitem><para>Only process specified process id</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-V</option>, <option>--version</option></term>
+ <listitem><para>Print version and exit</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-v</option>, <option>--verbose</option></term>
+ <listitem><para>Be verbose (can be used more than once)</para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+&reftail;
+
+</refentry>
+</chapter>
diff --git a/man/scanelf.1 b/man/scanelf.1
deleted file mode 100644
index 8b11b7a..0000000
--- a/man/scanelf.1
+++ /dev/null
@@ -1,173 +0,0 @@
-.TH "scanelf" "1" "Dec 2006" "Ned Ludd, Mike Frysinger" "User Commands"
-.SH "NAME"
-.LP
-scanelf \-
-user-space utility to scan elf files
-.SH "SYNTAX"
-.LP
-scanelf [\fIoptions\fP] dir1 dir2 dirN...
-.BR
-.SH "DESCRIPTION"
-scanelf is a user-space utility to scan and list ELF types, as well as thier respctive PaX flags and filenames.
-.LP
-.SH "OPTIONS"
-.LP
-.TP
-\fB\-p, \-\-path\fR
-Scan all directories in PATH environment
-.TP
-\fB\-A, \-\-archives\fR
-Scan archives (.a files)
-.TP
-\fB\-l, \-\-ldpath\fR
-Scan all directories in /etc/ld.so.conf
-.TP
-\fB\-R, \-\-recursive\fR
-Scan directories recursively
-.TP
-\fB\-m, \-\-mount\fR
-Don't recursively cross mount points
-.TP
-\fB\-y, \-\-symlink\fR
-Don't scan symlinks
-.TP
-\fB\-X, \-\-fix\fR
-Try and 'fix' bad things (use with -r/-e)
-.TP
-\fB\-z, \-\-setpax\fR
-Sets EI_PAX/PT_PAX_FLAGS to <arg> (use with -Xx)
-.TP
-\fB\-x, \-\-pax\fR
-Print PaX markings
-.TP
-\fB\-L, \-\-ldcache\fR
-Utilize ld.so.cache information (use with -r/-n)
-.TP
-\fB\-e, \-\-header\fR
-Print GNU_STACK markings
-.TP
-\fB\-t, \-\-textrel\fR
-Print TEXTREL information
-.TP
-\fB\-r, \-\-rpath\fR
-Print RPATH information
-.TP
-\fB\-n, \-\-needed\fR
-Print NEEDED information
-.TP
-\fB\-i, \-\-interp\fR
-Print INTERP information
-.TP
-\fB\-b, \-\-bind\fR
-Print BIND information
-.TP
-\fB\-S, \-\-soname\fR
-Print SONAME information
-.TP
-\fB\-s, \-\-symbol <arg>\fR
-Find a specified symbol
-.TP
-\fB\-k, \-\-section <arg>\fR
-Find a specified section
-.TP
-\fB\-N, \-\-lib <arg>\fR
-Find a specified library
-.TP
-\fB\-g, \-\-gmatch\fR
-Use strncmp to match libraries. (use with \-N)
-.TP
-\fB\-T, \-\-textrels <arg>\fR
-Find a specified symbol
-Locate cause of TEXTREL
-.TP
-\fB\-E, \-\-etype <arg>\fR
-Print only ELF files matching etype ET_DYN,ET_EXEC ...
-.TP
-\fB\-M, \-\-bits <arg>\fR
-Print only ELF files matching numeric bits
-.TP
-\fB\-a, \-\-all\fR
-Print all scanned info (-x -e -t -r -n -i -b)
-.TP
-\fB\-q, \-\-quiet\fR
-Only output 'bad' things.
-.TP
-\fB\-v, \-\-verbose\fR
-Be verbose (can be specified more than once)
-.TP
-\fB\-F, \-\-format <arg>\fR
-The format modifiers mainly correspond to the getopt counterparts.
-This option implies -a internally.
-
-Use specified format for output.
- \fB%F\fR FILENAME
- \fB%x\fR PaX-Flags
- \fB%e\fR STACK/RELRO/LOAD
- \fB%t\fR TEXTREL
- \fB%r\fR RPATH
- \fB%b\fR BINDINGS
- \fB%n\fR NEEDED
- \fB%i\fR INTERP
- \fB%s\fR symbol
- \fB%k\fR section
- \fB%a\fR arch
- \fB%N\fR library
- \fB%T\fR TEXTRELs
- \fB%o\fR Elf Type
- \fB%p\fR filename (with search path removed)
- \fB%f\fR base filename
-.TP
- Prefix each modifier with '%' (verbose) or '#' (silent)
-.TP
-\fB\-f, \-\-from <arg>\fR
-Read input stream from a filename
-.TP
-\fB\-o, \-\-file <arg>\fR
-Write output stream to a filename
-.TP
-\fB\-B, \-\-nobanner\fR
-Don't display the header
-.TP
-\fB\-h, \-\-help\fR
-Print this help and exit
-.TP
-\fB\-V, \-\-version\fR
-Print version and exit
-.TP
-.BR
-.SH "FILES"
-.LP
-\fI/etc/ld.so.conf\fP
-.SH "ENVIRONMENT VARIABLES"
-.TP
-\fBPATH\fP
-When the -p option is used the environment variable PATH will be used.
-
-.SH "EXAMPLES"
-.LP
-To run this program the standard way type:
-.LP
-scanelf -p # Would print everything in your normal PATH.
-.TP
-scanelf -l -p -a -R # Would print everything in library path and PATHs recursively.
-.LP
-scanelf -ltq # Would search every elf in your library paths for quality assurance problems with text relocations. use -p on native pie systems.
-.TP
-Alternativly you can run it like:
-.LP
-scanelf /bin /usr/bin /lib /sbin/insmod
-.SH "HOMEPAGE"
-http://hardened.gentoo.org/pax-utils.xml
-.LP
-.SH "REPORTING BUGS"
-Please include as much information as possible (using any available debugging
-options) and send bug reports to pax-utils <solar@gentoo.org> or
-<vapier@gentoo.org>
-.SH "SEE ALSO"
-.BR chpax (1),
-.BR paxctl (1),
-.BR pspax (1),
-.BR dumpelf (1),
-.BR readelf (1),
-.SH "AUTHORS"
-scanelf was written by <solar@gentoo.org> and <vapier@gentoo.org>
diff --git a/man/scanelf.docbook b/man/scanelf.docbook
new file mode 100644
index 0000000..60759f3
--- /dev/null
+++ b/man/scanelf.docbook
@@ -0,0 +1,232 @@
+<chapter>
+<refentry id='scanelf.1'>
+
+<refmeta>
+ <refentrytitle>scanelf</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class='source'>&project;</refmiscinfo>
+</refmeta>
+
+<refnamediv id='name'>
+ <refname>scanelf</refname>
+ <refpurpose>user-space utility to scan ELF files</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv id='synopsis'>
+ <cmdsynopsis>
+ <command>scanelf</command>
+ <arg choice='opt'>
+ <replaceable>options</replaceable>
+ </arg>
+ <arg choice='plain'>
+ <replaceable>ELFs</replaceable>
+ or
+ <replaceable>directories</replaceable>
+ </arg>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1 id='description'>
+ <title>DESCRIPTION</title>
+ <para>
+ <command>scanelf</command> is a user-space utility to quickly scan given
+ ELFs, directories, or common system paths for different information. This
+ may include ELF types, their PaX markings, TEXTRELs, etc...
+ </para>
+</refsect1>
+
+<refsect1 id='options'>
+ <title>OPTIONS</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>-A</option>, <option>--archives</option></term>
+ <listitem><para>Scan archives (.a files)</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-a</option>, <option>--all</option></term>
+ <listitem><para>Print all scanned info (<option>-x -e -t -r -n -i -b</option>)</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-B</option>, <option>--banner</option></term>
+ <listitem><para>Don't display the header</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-b</option>, <option>--bind</option></term>
+ <listitem><para>Print BIND information</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-E</option>, <option>--etype</option> <replaceable>ETYPE</replaceable></term>
+ <listitem><para>Print only ELF files matching specified etype (like ET_DYN, ET_EXEC, etc...)</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-e</option>, <option>--header</option></term>
+ <listitem><para>Print GNU_STACK markings</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-F</option>, <option>--format</option> <replaceable>FORMAT</replaceable></term>
+ <listitem><para>Use specified format for output; see the <emphasis remap='B'>FORMAT</emphasis> section</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-f</option>, <option>--from</option> <replaceable>FILE</replaceable></term>
+ <listitem><para>Read input stream from specified filename</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-g</option>, <option>--gmatch</option></term>
+ <listitem><para>Use strncmp to match libraries (use with <option>-N</option>)</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-h</option>, <option>--help</option></term>
+ <listitem><para>Show condensed usage and exit</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-i</option>, <option>--interp</option></term>
+ <listitem><para>Print INTERP information</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-k</option>, <option>--section</option> <replaceable>SECTION</replaceable></term>
+ <listitem><para>Find the specified section</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-L</option>, <option>--ldcache</option></term>
+ <listitem><para>Utilize <filename>ld.so.cache</filename> information (use with <option>-r</option>/<option>-n</option>)</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-l</option>, <option>--ldpath</option></term>
+ <listitem><para>Scan all directories in <filename>/etc/ld.so.conf</filename></para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-M</option>, <option>--bits</option> <replaceable>BITS</replaceable></term>
+ <listitem><para>Print only ELF files matching specified numeric bits (like 32/64)</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-m</option>, <option>--mount</option></term>
+ <listitem><para>Don't recursively cross mount points</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-N</option>, <option>--lib</option> <replaceable>SONAME</replaceable></term>
+ <listitem><para>Find ELFs that need the specified SONAME</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-n</option>, <option>--needed</option></term>
+ <listitem><para>Print NEEDED information</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-o</option>, <option>--file</option> <replaceable>FILE</replaceable></term>
+ <listitem><para>Write output stream to specified filename</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-p</option>, <option>--path</option></term>
+ <listitem><para>Scan all directories in PATH environment</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-q</option>, <option>--quiet</option></term>
+ <listitem><para>Only output 'bad' things.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-R</option>, <option>--recursive</option></term>
+ <listitem><para>Scan directories recursively</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-r</option>, <option>--rpath</option></term>
+ <listitem><para>Print RUNPATH information</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-S</option>, <option>--soname</option></term>
+ <listitem><para>Print SONAME information</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-s</option>, <option>--symbol</option> <replaceable>SYMBOL</replaceable></term>
+ <listitem><para>Find the specified symbol; a <emphasis remap='B'>-</emphasis> prefix will only show undefined references while a <emphasis remap='B'>+</emphasis> prefix will only show defined references while no prefix will show both</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-T</option>, <option>--textrels</option></term>
+ <listitem><para>Locate cause of TEXTRELs</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-t</option>, <option>--textrel</option></term>
+ <listitem><para>Print TEXTREL information</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-V</option>, <option>--version</option></term>
+ <listitem><para>Print version and exit</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-v</option>, <option>--verbose</option></term>
+ <listitem><para>Be verbose (can be used more than once)</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-X</option>, <option>--fix</option></term>
+ <listitem><para>Try and 'fix' bad things (use with <option>-r</option>/<option>-e</option>)</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-x</option>, <option>--pax</option></term>
+ <listitem><para>Print PaX markings</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-y</option>, <option>--symlink</option></term>
+ <listitem><para>Don't scan symlinks</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-z</option>, <option>--setpax</option> <replaceable>FLAGS</replaceable></term>
+ <listitem><para>Sets EI_PAX/PT_PAX_FLAGS to specified flags (use with <option>-Xx</option>)</para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1 id='format'>
+ <title>FORMAT</title>
+ <para>
+ The format string is much like a printf string in that it is a literal string
+ with flags requesting different information. For example, you could use
+ a format string and expect the following results.
+ </para>
+ <programlisting>
+ # <command>scanelf</command> <option>-BF</option> 'file %f needs %n; funky time!' /bin/bash
+ file bash needs libncurses.so.5,libdl.so.2,libc.so.6; funky time!
+ </programlisting>
+ <para>
+ Note that when you use a format string, generally information related flags
+ should be omitted. In other words, you do not want to try and request NEEDED
+ output (<option>-n</option>) and try to specify a format output at the sametime
+ as these operations are mutually exclusive. Each information related flag has
+ an equivalent conversion specifier, so use those instead. You can of course
+ continue to use non-information related flags (such as <option>--verbose</option>).
+ </para>
+ <para>
+ There are three characters that introduce conversion specifiers.
+ <itemizedlist>
+ <listitem><para><emphasis remap='B'>%</emphasis> - replace with info</para></listitem>
+ <listitem><para><emphasis remap='B'>#</emphasis> - silent boolean match</para></listitem>
+ <listitem><para><emphasis remap='B'>+</emphasis> - verbose match</para></listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ And there are a number of conversion specifiers. We try to match up the
+ specifier with corresponding option.
+ <itemizedlist spacing="compact">
+ <listitem><para><emphasis remap='B'>a</emphasis> - machine (EM) type</para></listitem>
+ <listitem><para><emphasis remap='B'>b</emphasis> - bind flags</para></listitem>
+ <listitem><para><emphasis remap='B'>e</emphasis> - program headers</para></listitem>
+ <listitem><para><emphasis remap='B'>F</emphasis> - long filename</para></listitem>
+ <listitem><para><emphasis remap='B'>f</emphasis> - short filename</para></listitem>
+ <listitem><para><emphasis remap='B'>i</emphasis> - interp</para></listitem>
+ <listitem><para><emphasis remap='B'>k</emphasis> - section</para></listitem>
+ <listitem><para><emphasis remap='B'>M</emphasis> - EI class</para></listitem>
+ <listitem><para><emphasis remap='B'>N</emphasis> - specified needed</para></listitem>
+ <listitem><para><emphasis remap='B'>n</emphasis> - needed libraries</para></listitem>
+ <listitem><para><emphasis remap='B'>p</emphasis> - filename (minus search)</para></listitem>
+ <listitem><para><emphasis remap='B'>o</emphasis> - etype</para></listitem>
+ <listitem><para><emphasis remap='B'>r</emphasis> - runpaths</para></listitem>
+ <listitem><para><emphasis remap='B'>S</emphasis> - SONAME</para></listitem>
+ <listitem><para><emphasis remap='B'>s</emphasis> - symbol</para></listitem>
+ <listitem><para><emphasis remap='B'>T</emphasis> - all textrels</para></listitem>
+ <listitem><para><emphasis remap='B'>t</emphasis> - textrel status</para></listitem>
+ <listitem><para><emphasis remap='B'>x</emphasis> - pax flags</para></listitem>
+ </itemizedlist>
+ </para>
+</refsect1>
+
+&reftail;
+
+</refentry>
+</chapter>