diff options
Diffstat (limited to 'binutils-2.25/binutils/doc/binutils.texi')
-rw-r--r-- | binutils-2.25/binutils/doc/binutils.texi | 119 |
1 files changed, 88 insertions, 31 deletions
diff --git a/binutils-2.25/binutils/doc/binutils.texi b/binutils-2.25/binutils/doc/binutils.texi index 6abcae29..39eb1d24 100644 --- a/binutils-2.25/binutils/doc/binutils.texi +++ b/binutils-2.25/binutils/doc/binutils.texi @@ -10,7 +10,7 @@ @copying @c man begin COPYRIGHT -Copyright @copyright{} 1991-2013 Free Software Foundation, Inc. +Copyright @copyright{} 1991-2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 @@ -174,7 +174,7 @@ in the section entitled ``GNU Free Documentation License''. @c man title ar create, modify, and extract from archives @smallexample -ar [@option{--plugin} @var{name}] [-]@var{p}[@var{mod} [@var{relpos}] [@var{count}]] [@option{--target} @var{bfdname}] @var{archive} [@var{member}@dots{}] +ar [-]@var{p}[@var{mod}] [@option{--plugin} @var{name}] [@option{--target} @var{bfdname}] [@var{relpos}] [@var{count}] @var{archive} [@var{member}@dots{}] ar -M [ <mri-script ] @end smallexample @@ -234,7 +234,8 @@ a normal archive. Instead the elements of the first archive are added individually to the second archive. The paths to the elements of the archive are stored relative to the -archive itself. +archive itself. For security reasons absolute paths and paths with a +@code{/../} component are not allowed. @cindex compatibility, @command{ar} @cindex @command{ar} compatibility @@ -258,7 +259,7 @@ program. @smallexample @c man begin SYNOPSIS ar -ar [@option{--plugin} @var{name}] [@option{-X32_64}] [@option{-}]@var{p}[@var{mod} [@var{relpos}] [@var{count}]] [@option{--target} @var{bfdname}] @var{archive} [@var{member}@dots{}] +ar [@option{-X32_64}] [@option{-}]@var{p}[@var{mod}] [@option{--plugin} @var{name}] [@option{--target} @var{bfdname}] [@var{relpos}] [@var{count}] @var{archive} [@var{member}@dots{}] @c man end @end smallexample @@ -1089,6 +1090,7 @@ objcopy [@option{-F} @var{bfdname}|@option{--target=}@var{bfdname}] [@option{--change-warnings}] [@option{--no-change-warnings}] [@option{--set-section-flags} @var{sectionpattern}=@var{flags}] [@option{--add-section} @var{sectionname}=@var{filename}] + [@option{--dump-section} @var{sectionname}=@var{filename}] [@option{--rename-section} @var{oldname}=@var{newname}[,@var{flags}]] [@option{--long-section-names} @{enable,disable,keep@}] [@option{--change-leading-char}] [@option{--remove-leading-char}] @@ -1475,6 +1477,17 @@ Add a new section named @var{sectionname} while copying the file. The contents of the new section are taken from the file @var{filename}. The size of the section will be the size of the file. This option only works on file formats which can support sections with arbitrary names. +Note - it may be necessary to use the @option{--set-section-flags} +option to set the attributes of the newly created section. + +@item --dump-section @var{sectionname}=@var{filename} +Place the contents of section named @var{sectionname} into the file +@var{filename}, overwriting any contents that may have been there +previously. This option is the inverse of @option{--add-section}. +This option is similar to the @option{--only-section} option except +that it does not create a formatted file, it just dumps the contents +as raw binary data, without applying any relocations. The option can +be specified more than once. @item --rename-section @var{oldname}=@var{newname}[,@var{flags}] Rename a section from @var{oldname} to @var{newname}, optionally @@ -2120,6 +2133,9 @@ Disassemble MSA instructions. @item virt Disassemble the virtualization ASE instructions. +@item xpa +Disassemble the eXtended Physical Address (XPA) ASE instructions. + @item gpr-names=@var{ABI} Print GPR (general-purpose register) names as appropriate for the specified ABI. By default, GPR names are selected according to @@ -2650,21 +2666,31 @@ strings [@option{-afovV}] [@option{-}@var{min-len}] [@option{-e} @var{encoding}] [@option{--encoding=}@var{encoding}] [@option{-}] [@option{--all}] [@option{--print-file-name}] [@option{-T} @var{bfdname}] [@option{--target=}@var{bfdname}] + [@option{-w}] [@option{--include-all-whitespace}] [@option{--help}] [@option{--version}] @var{file}@dots{} @c man end @end smallexample @c man begin DESCRIPTION strings -For each @var{file} given, @sc{gnu} @command{strings} prints the printable -character sequences that are at least 4 characters long (or the number -given with the options below) and are followed by an unprintable -character. By default, it only prints the strings from the initialized -and loaded sections of object files; for other types of files, it prints -the strings from the whole file. +For each @var{file} given, @sc{gnu} @command{strings} prints the +printable character sequences that are at least 4 characters long (or +the number given with the options below) and are followed by an +unprintable character. + +Depending upon how the strings program was configured it will default +to either displaying all the printable sequences that it can find in +each file, or only those sequences that are in loadable, initialized +data sections. If the file type in unrecognizable, or if strings is +reading from stdin then it will always display all of the printable +sequences that it can find. + +For backwards compatibility any file that occurs after a command line +option of just @option{-} will also be scanned in full, regardless of +the presence of any @option{-d} option. -@command{strings} is mainly useful for determining the contents of non-text -files. +@command{strings} is mainly useful for determining the contents of +non-text files. @c man end @@ -2674,8 +2700,25 @@ files. @item -a @itemx --all @itemx - -Do not scan only the initialized and loaded sections of object files; -scan the whole files. +Scan the whole file, regardless of what sections it contains or +whether those sections are loaded or initialized. Normally this is +the default behaviour, but strings can be configured so that the +@option{-d} is the default instead. + +The @option{-} option is position dependent and forces strings to +perform full scans of any file that is mentioned after the @option{-} +on the command line, even if the @option{-d} option has been +specified. + +@item -d +@itemx --data +Only print strings from initialized, loaded data sections in the +file. This may reduce the amount of garbage in the output, but it +also exposes the strings program to any security flaws that may be +present in the BFD library used to scan and load sections. Strings +can be configured so that this option is the default behaviour. In +such cases the @option{-a} option can be used to avoid using the BFD +library and instead just print all of the strings found in the file. @item -f @itemx --print-file-name @@ -2721,6 +2764,13 @@ Specify an object code format other than your system's default format. @itemx -V @itemx --version Print the program version number on the standard output and exit. + +@item -w +@itemx --include-all-whitespace +By default tab and space characters are included in the strings that +are displayed, but other whitespace characters, such a newlines and +carriage returns, are not. The @option{-w} option changes this so +that all whitespace characters are considered to be part of a string. @end table @c man end @@ -3191,26 +3241,33 @@ standard input, and prints the file name and line number for each address on standard output. In this mode, @command{addr2line} may be used in a pipe to convert dynamically chosen addresses. -The format of the output is @samp{FILENAME:LINENO}. The file name and -line number for each input address is printed on separate lines. +The format of the output is @samp{FILENAME:LINENO}. By default +each input address generates one line of output. + +Two options can generate additional lines before each +@samp{FILENAME:LINENO} line (in that order). + +If the @option{-a} option is used then a line with the input address +is displayed. + +If the @option{-f} option is used, then a line with the +@samp{FUNCTIONNAME} is displayed. This is the name of the function +containing the address. -If the @option{-f} option is used, then each @samp{FILENAME:LINENO} -line is preceded by @samp{FUNCTIONNAME} which is the name of the -function containing the address. +One option can generate additional lines after the +@samp{FILENAME:LINENO} line. If the @option{-i} option is used and the code at the given address is -present there because of inlining by the compiler then the -@samp{@{FUNCTIONNAME@} FILENAME:LINENO} information for the inlining -function will be displayed afterwards. This continues recursively -until there is no more inlining to report. - -If the @option{-a} option is used then the output is prefixed by the -input address. - -If the @option{-p} option is used then the output for each input -address is displayed on one, possibly quite long, line. If -@option{-p} is not used then the output is broken up into multiple -lines, based on the paragraphs above. +present there because of inlining by the compiler then additional +lines are displayed afterwards. One or two extra lines (if the +@option{-f} option is used) are displayed for each inlined function. + +Alternatively if the @option{-p} option is used then each input +address generates a single, long, output line containing the address, +the function name, the file name and the line number. If the +@option{-i} option has also been used then any inlined functions will +be displayed in the same manner, but on separate lines, and prefixed +by the text @samp{(inlined by)}. If the file name or function name can not be determined, @command{addr2line} will print two question marks in their place. If the |