*** ../binutils-2.19.51.0.14-copy-patched/binutils/doc/binutils.texi 2010-03-01 14:31:11.000000000 +0000 --- binutils/doc/binutils.texi 2010-03-01 16:23:00.000000000 +0000 *************** distribution and the second a debugging *** 1541,1546 **** --- 1541,1587 ---- 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 it 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 *************** the subsystem version also. Numeric val *** 1584,1622 **** @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: --- 1625,1630 ---- *************** needed if debugging abilities are requir *** 2650,2662 **** 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 --- 2658,2674 ---- to create these files is as follows: @enumerate ! @item ! Link the executable as normal. Assuming that it 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 *************** file is arbitrary. Also the @code{--onl *** 2665,2674 **** optional. You could instead do this: @enumerate ! @item Link the executable as normal. ! @item Copy @code{foo} to @code{foo.full} ! @item Run @code{strip --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 --- 2677,2690 ---- optional. You could instead do this: @enumerate ! @item ! Link the executable as normal. ! @item ! Copy @code{foo} to @code{foo.full} ! @item ! Run @code{strip --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