* doc/binutils.texi (--only-keep-debug): Relocate stray para here ...

(--subsystem): ... from here.
This commit is contained in:
Dave Korn 2009-08-27 14:58:08 +00:00
parent 600b868636
commit b96fec5e99
2 changed files with 38 additions and 33 deletions

View file

@ -1,3 +1,8 @@
2009-08-27 Dave Korn <dave.korn.cygwin@gmail.com>
* doc/binutils.texi (--only-keep-debug): Relocate stray para here ...
(--subsystem): ... from here.
2009-08-24 Cary Coutant <ccoutant@google.com>
* objdump.c (find_symbol_for_address): Avoid costly call to

View file

@ -1553,6 +1553,39 @@ distribution and the second a debugging information file which is only
needed if debugging abilities are required. The suggested procedure
to create these files is as follows:
@enumerate
@item Link the executable as normal. Assuming that is is called
@code{foo} then...
@item Run @code{objcopy --only-keep-debug foo foo.dbg} to
create a file containing the debugging info.
@item Run @code{objcopy --strip-debug foo} to create a
stripped executable.
@item Run @code{objcopy --add-gnu-debuglink=foo.dbg foo}
to add a link to the debugging info into the stripped executable.
@end enumerate
Note---the choice of @code{.dbg} as an extension for the debug info
file is arbitrary. Also the @code{--only-keep-debug} step is
optional. You could instead do this:
@enumerate
@item Link the executable as normal.
@item Copy @code{foo} to @code{foo.full}
@item Run @code{objcopy --strip-debug foo}
@item Run @code{objcopy --add-gnu-debuglink=foo.full foo}
@end enumerate
i.e., the file pointed to by the @option{--add-gnu-debuglink} can be the
full executable. It does not have to be a file created by the
@option{--only-keep-debug} switch.
Note---this switch is only intended for use on fully linked files. It
does not make sense to use it on object files where the debugging
information may be incomplete. Besides the gnu_debuglink feature
currently only supports the presence of one filename containing
debugging information, not multiple filenames on a one-per-object-file
basis.
@item --file-alignment @var{num}
Specify the file alignment. Sections in the file will always begin at
file offsets which are multiples of this number. This defaults to
@ -1596,39 +1629,6 @@ the subsystem version also. Numeric values are also accepted for
@var{which}.
[This option is specific to PE targets.]
@enumerate
@item Link the executable as normal. Assuming that is is called
@code{foo} then...
@item Run @code{objcopy --only-keep-debug foo foo.dbg} to
create a file containing the debugging info.
@item Run @code{objcopy --strip-debug foo} to create a
stripped executable.
@item Run @code{objcopy --add-gnu-debuglink=foo.dbg foo}
to add a link to the debugging info into the stripped executable.
@end enumerate
Note---the choice of @code{.dbg} as an extension for the debug info
file is arbitrary. Also the @code{--only-keep-debug} step is
optional. You could instead do this:
@enumerate
@item Link the executable as normal.
@item Copy @code{foo} to @code{foo.full}
@item Run @code{objcopy --strip-debug foo}
@item Run @code{objcopy --add-gnu-debuglink=foo.full foo}
@end enumerate
i.e., the file pointed to by the @option{--add-gnu-debuglink} can be the
full executable. It does not have to be a file created by the
@option{--only-keep-debug} switch.
Note---this switch is only intended for use on fully linked files. It
does not make sense to use it on object files where the debugging
information may be incomplete. Besides the gnu_debuglink feature
currently only supports the presence of one filename containing
debugging information, not multiple filenames on a one-per-object-file
basis.
@item --extract-symbol
Keep the file's section flags and symbols but remove all section data.
Specifically, the option: