diff --git a/runtime/doc/xxd.man b/runtime/doc/xxd.man
index 057c8e9..7e1097f 100644
--- a/runtime/doc/xxd.man
+++ b/runtime/doc/xxd.man
@@ -1,4 +1,4 @@
-XXD(1)                                                                  XXD(1)
+XXD(1)                      General Commands Manual                     XXD(1)
 
 
 
@@ -14,30 +14,29 @@
        xxd  creates a hex dump of a given file or standard input.  It can also
        convert a hex dump back to its original binary form.  Like  uuencode(1)
        and  uudecode(1)  it allows the transmission of binary data in a `mail-
-       safe' ASCII representation, but has the advantage of decoding to  stan-
+       safe' ASCII representation, but has the advantage of decoding to  stan‐
        dard output.  Moreover, it can be used to perform binary file patching.
 
 OPTIONS
-       If no infile is given, standard input is read.  If infile is  specified
-       as  a  `-'  character,  then input is taken from standard input.  If no
+       If  no infile is given, standard input is read.  If infile is specified
+       as a `-' character, then input is taken from  standard  input.   If  no
        outfile is given (or a `-' character is in its place), results are sent
        to standard output.
 
-       Note  that  a  "lazy" parser is used which does not check for more than
-       the first option letter, unless the option is followed by a  parameter.
-       Spaces  between  a single option letter and its parameter are optional.
+       Note that a "lazy" parser is used which does not check  for  more  than
+       the  first option letter, unless the option is followed by a parameter.
+       Spaces between a single option letter and its parameter  are  optional.
        Parameters to options can be specified in decimal, hexadecimal or octal
        notation.  Thus -c8, -c 8, -c 010 and -cols 8 are all equivalent.
 
-
        -a | -autoskip
-              toggle  autoskip: A single '*' replaces nul-lines.  Default off.
+              toggle autoskip: A single '*' replaces nul-lines.  Default off.
 
        -b | -bits
               Switch to bits (binary digits) dump, rather than hexdump.   This
               option  writes octets as eight digits "1"s and "0"s instead of a
               normal hexadecimal dump. Each line is preceded by a line  number
-              in  hexadecimal and followed by an ascii (or ebcdic) representa-
+              in  hexadecimal and followed by an ascii (or ebcdic) representa‐
               tion. The command line switches -r, -p, -i do not work with this
               mode.
 
@@ -50,25 +49,34 @@
               to EBCDIC.  This does not change the hexadecimal representation.
               The option is meaningless in combinations with -r, -p or -i.
 
+       -e     Switch to little-endian hexdump.  This option treats byte groups
+              as words in little-endian byte order.  The default grouping of 4
+              bytes may be changed using -g.  This option only applies to hex‐
+              dump,  leaving  the  ASCII (or EBCDIC) representation unchanged.
+              The command line switches -r, -p, -i do not work with this mode.
+
        -g bytes | -groupsize bytes
               separate the output of every <bytes> bytes (two  hex  characters
-              or eight bit-digits each) by a whitespace.  Specify -g 0 to sup-
-              press grouping.  <Bytes> defaults to 2 in normal mode and  1  in
-              bits  mode.   Grouping  does  not apply to postscript or include
-              style.
+              or eight bit-digits each) by a whitespace.  Specify -g 0 to sup‐
+              press grouping.  <Bytes> defaults to 2 in normal mode, 4 in lit‐
+              tle-endian  mode and 1 in bits mode.  Grouping does not apply to
+              postscript or include style.
 
        -h | -help
               print a summary of available commands and exit.  No hex  dumping
               is performed.
 
        -i | -include
-              output  in C include file style. A complete static array defini-
+              output  in C include file style. A complete static array defini‐
               tion is written (named after the input file), unless  xxd  reads
               from stdin.
 
        -l len | -len len
               stop after writing <len> octets.
 
+       -o offset
+              add <offset> to the displayed file position.
+
        -p | -ps | -postscript | -plain
               output  in  postscript  continuous  hexdump style. Also known as
               plain hexdump style.
@@ -76,8 +84,8 @@
        -r | -revert
               reverse operation: convert (or patch) hexdump into  binary.   If
               not  writing  to stdout, xxd writes into its output file without
-              truncating it. Use the combination -r -p to read plain hexadeci-
-              mal dumps without line number information and without a particu-
+              truncating it. Use the combination -r -p to read plain hexadeci‐
+              mal dumps without line number information and without a particu‐
               lar column layout. Additional  Whitespace  and  line-breaks  are
               allowed anywhere.
 
@@ -101,7 +109,7 @@
 CAVEATS
        xxd -r has some builtin magic while evaluating line number information.
        If the output file is seekable, then the linenumbers at  the  start  of
-       each  hexdump  line may be out of order, lines may be missing, or over-
+       each  hexdump  line may be out of order, lines may be missing, or over‐
        lapping. In these cases xxd will lseek(2) to the next position. If  the
        output  file  is  not  seekable,  only  gaps are allowed, which will be
        filled by null-bytes.
@@ -112,8 +120,8 @@
        input line after reading enough columns of hexadecimal data (see option
        -c). This also means, that changes to the printable ascii  (or  ebcdic)
        columns  are  always  ignored.  Reverting a plain (or postscript) style
-       hexdump with xxd -r -p does not depend on the correct  number  of  col-
-       umns.  Here  anything  that  looks  like a pair of hex-digits is inter-
+       hexdump with xxd -r -p does not depend on the correct  number  of  col‐
+       umns.  Here  anything  that  looks  like a pair of hex-digits is inter‐
        preted.
 
        Note the difference between
@@ -218,7 +226,6 @@
        % stty < /dev/term/b -echo -opost -isig -icanon min 1
        % echo -n foo > /dev/term/b
 
-
 RETURN VALUES
        The following error values are returned:
 
@@ -256,7 +263,4 @@
        <tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au>
        Small changes by Bram Moolenaar.  Edited by Juergen Weigert.
 
-
-
-
 Manual page for xxd               August 1996                           XXD(1)
