\-\-gap\-fill\fR \fIval\fR" 4 .IX Item "--gap-fill val" Fill gaps between sections with \fIval\fR. This operation applies to the \fIload address\fR (\s-1LMA\s0) of the sections. It is done by increasing the size of the section with the lower address, and filling in the extra space created with \fIval\fR. .IP "\fB\-\-pad\-to\fR \fIaddress\fR" 4 .IX Item "--pad-to address" Pad the output file up to the load address \fIaddress\fR. This is done by increasing the size of the last section. The extra space is filled in with the value specified by \fB\-\-gap\-fill\fR (default zero). .IP "\fB\-\-set\-start\fR \fIval\fR" 4 .IX Item "--set-start val" Set the start address of the new file to \fIval\fR. Not all object file formats support setting the start address. .IP "\fB\-\-change\-start\fR \fIincr\fR" 4 .IX Item "--change-start incr" .PD 0 .IP "\fB\-\-adjust\-start\fR \fIincr\fR" 4 .IX Item "--adjust-start incr" .PD Change the start address by adding \fIincr\fR. Not all object file formats support setting the start address. .IP "\fB\-\-change\-addresses\fR \fIincr\fR" 4 .IX Item "--change-addresses incr" .PD 0 .IP "\fB\-\-adjust\-vma\fR \fIincr\fR" 4 .IX Item "--adjust-vma incr" .PD Change the \s-1VMA\s0 and \s-1LMA\s0 addresses of all sections, as well as the start address, by adding \fIincr\fR. Some object file formats do not permit section addresses to be changed arbitrarily. Note that this does not relocate the sections; if the program expects sections to be loaded at a certain address, and this option is used to change the sections such that they are loaded at a different address, the program may fail. .IP "\fB\-\-change\-section\-address\fR \fIsection\fR\fB{=,+,\-}\fR\fIval\fR" 4 .IX Item "--change-section-address section{=,+,-}val" .PD 0 .IP "\fB\-\-adjust\-section\-vma\fR \fIsection\fR\fB{=,+,\-}\fR\fIval\fR" 4 .IX Item "--adjust-section-vma section{=,+,-}val" .PD Set or change both the \s-1VMA\s0 address and the \s-1LMA\s0 address of the named \&\fIsection\fR. If \fB=\fR is used, the section address is set to \&\fIval\fR. Otherwise, \fIval\fR is added to or subtracted from the section address. See the comments under \fB\-\-change\-addresses\fR, above. If \fIsection\fR does not exist in the input file, a warning will be issued, unless \fB\-\-no\-change\-warnings\fR is used. .IP "\fB\-\-change\-section\-lma\fR \fIsection\fR\fB{=,+,\-}\fR\fIval\fR" 4 .IX Item "--change-section-lma section{=,+,-}val" Set or change the \s-1LMA\s0 address of the named \fIsection\fR. The \s-1LMA\s0 address is the address where the section will be loaded into memory at program load time. Normally this is the same as the \s-1VMA\s0 address, which is the address of the section at program run time, but on some systems, especially those where a program is held in \s-1ROM\s0, the two can be different. If \fB=\fR is used, the section address is set to \&\fIval\fR. Otherwise, \fIval\fR is added to or subtracted from the section address. See the comments under \fB\-\-change\-addresses\fR, above. If \fIsection\fR does not exist in the input file, a warning will be issued, unless \fB\-\-no\-change\-warnings\fR is used. .IP "\fB\-\-change\-section\-vma\fR \fIsection\fR\fB{=,+,\-}\fR\fIval\fR" 4 .IX Item "--change-section-vma section{=,+,-}val" Set or change the \s-1VMA\s0 address of the named \fIsection\fR. The \s-1VMA\s0 address is the address where the section will be located once the program has started executing. Normally this is the same as the \s-1LMA\s0 address, which is the address where the section will be loaded into memory, but on some systems, especially those where a program is held in \&\s-1ROM\s0, the two can be different. If \fB=\fR is used, the section address is set to \fIval\fR. Otherwise, \fIval\fR is added to or subtracted from the section address. See the comments under \&\fB\-\-change\-addresses\fR, above. If \fIsection\fR does not exist in the input file, a warning will be issued, unless \&\fB\-\-no\-change\-warnings\fR is used. .IP "\fB\-\-change\-warnings\fR" 4 .IX Item "--change-warnings" .PD 0 .IP "\fB\-\-adjust\-warnings\fR" 4 .IX Item "--adjust-warnings" .PD If \fB\-\-change\-section\-address\fR or \fB\-\-change\-section\-lma\fR or \&\fB\-\-change\-section\-vma\fR is used, and the named section does not exist, issue a warning. This is the default. .IP "\fB\-\-no\-change\-warnings\fR" 4 .IX Item "--no-change-warnings" .PD 0 .IP "\fB\-\-no\-adjust\-warnings\fR" 4 .IX Item "--no-adjust-warnings" .PD Do not issue a warning if \fB\-\-change\-section\-address\fR or \&\fB\-\-adjust\-section\-lma\fR or \fB\-\-adjust\-section\-vma\fR is used, even if the named section does not exist. .IP "\fB\-\-set\-section\-flags\fR \fIsection\fR\fB=\fR\fIflags\fR" 4 .IX Item "--set-section-flags section=flags" Set the flags for the named section. The \fIflags\fR argument is a comma separated string of flag names. The recognized names are \&\fBalloc\fR, \fBcontents\fR, \fBload\fR, \fBnoload\fR, \&\fBreadonly\fR, \fBcode\fR, \fBdata\fR, \fBrom\fR, \fBshare\fR, and \&\fBdebug\fR. You can set the \fBcontents\fR flag for a section which does not have contents, but it is not meaningful to clear the \&\fBcontents\fR flag of a section which does have contents\*(--just remove the section instead. Not all flags are meaningful for all object file formats. .IP "\fB\-\-add\-section\fR \fIsectionname\fR\fB=\fR\fIfilename\fR" 4 .IX Item "--add-section sectionname=filename" Add a new section named \fIsectionname\fR while copying the file. The contents of the new section are taken from the file \fIfilename\fR. 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. .IP "\fB\-\-rename\-section\fR \fIoldname\fR\fB=\fR\fInewname\fR\fB[,\fR\fIflags\fR\fB]\fR" 4 .IX Item "--rename-section oldname=newname[,flags]" Rename a section from \fIoldname\fR to \fInewname\fR, optionally changing the section's flags to \fIflags\fR in the process. This has the advantage over usng a linker script to perform the rename in that the output stays as an object file and does not become a linked executable. .Sp This option is particularly helpful when the input format is binary, since this will always create a section called .data. If for example, you wanted instead to create a section called .rodata containing binary data you could use the following command line to achieve it: .Sp .Vb 3 \& objcopy \-I binary \-O \-B \e \& \-\-rename\-section .data=.rodata,alloc,load,readonly,data,contents \e \& .Ve .IP "\fB\-\-long\-section\-names {enable,disable,keep}\fR" 4 .IX Item "--long-section-names {enable,disable,keep}" Controls the handling of long section names when processing \f(CW\*(C`COFF\*(C'\fR and \f(CW\*(C`PE\-COFF\*(C'\fR object formats. The default behaviour, \fBkeep\fR, is to preserve long section names if any are present in the input file. The \fBenable\fR and \fBdisable\fR options forcibly enable or disable the use of long section names in the output object; when \fBdisable\fR is in effect, any long section names in the input object will be truncated. The \fBenable\fR option will only emit long section names if any are present in the inputs; this is mostly the same as \fBkeep\fR, but it is left undefined whether the \fBenable\fR option might force the creation of an empty string table in the output file. .IP "\fB\-\-change\-leading\-char\fR" 4 .IX Item "--change-leading-char" Some object file formats use special characters at the start of symbols. The most common such character is underscore, which compilers often add before every symbol. This option tells \fBobjcopy\fR to change the leading character of every symbol when it converts between object file formats. If the object file formats use the same leading character, this option has no effect. Otherwise, it will add a character, or remove a character, or change a character, as appropriate. .IP "\fB\-\-remove\-leading\-char\fR" 4 .IX Item "--remove-leading-char" If the first character of a global symbol is a special symbol leading character used by the object file format, remove the character. The most common symbol leading character is underscore. This option will remove a leading underscore from all global symbols. This can be useful if you want to link together objects of different file formats with different conventions for symbol names. This is different from \&\fB\-\-change\-leading\-char\fR because it always changes the symbol name when appropriate, regardless of the object file format of the output file. .IP "\fB\-\-reverse\-bytes=\fR\fInum\fR" 4 .IX Item "--reverse-bytes=num" Reverse the bytes in a section with output contents. A section length must be evenly divisible by the value given in order for the swap to be able to take place. Reversing takes place before the interleaving is performed. .Sp This option is used typically in generating \s-1ROM\s0 images for problematic target systems. For example, on some target boards, the 32\-bit words fetched from 8\-bit ROMs are re-assembled in little-endian byte order regardless of the \s-1CPU\s0 byte order. Depending on the programming model, the endianness of the \s-1ROM\s0 may need to be modified. .Sp Consider a simple file with a section containing the following eight bytes: \f(CW12345678\fR. .Sp Using \fB\-\-reverse\-bytes=2\fR for the above example, the bytes in the output file would be ordered \f(CW21436587\fR. .Sp Using \fB\-\-reverse\-bytes=4\fR for the above example, the bytes in the output file would be ordered \f(CW43218765\fR. .Sp By using \fB\-\-reverse\-bytes=2\fR for the above example, followed by \&\fB\-\-reverse\-bytes=4\fR on the output file, the bytes in the second output file would be ordered \f(CW34127856\fR. .IP "\fB\-\-srec\-len=\fR\fIival\fR" 4 .IX Item "--srec-len=ival" Meaningful only for srec output. Set the maximum length of the Srecords being produced to \fIival\fR. This length covers both address, data and crc fields. .IP "\fB\-\-srec\-forceS3\fR" 4 .IX Item "--srec-forceS3" Meaningful only for srec output. Avoid generation of S1/S2 records, creating S3\-only record format. .IP "\fB\-\-redefine\-sym\fR \fIold\fR\fB=\fR\fInew\fR" 4 .IX Item "--redefine-sym old=new" Change the name of a symbol \fIold\fR, to \fInew\fR. This can be useful when one is trying link two things together for which you have no source, and there are name collisions. .IP "\fB\-\-redefine\-syms=\fR\fIfilename\fR" 4 .IX Item "--redefine-syms=filename" Apply \fB\-\-redefine\-sym\fR to each symbol pair "\fIold\fR \fInew\fR" listed in the file \fIfilename\fR. \fIfilename\fR is simply a flat file, with one symbol pair per line. Line comments may be introduced by the hash character. This option may be given more than once. .IP "\fB\-\-weaken\fR" 4 .IX Item "--weaken" Change all global symbols in the file to be weak. This can be useful when building an object which will be linked against other objects using the \fB\-R\fR option to the linker. This option is only effective when using an object file format which supports weak symbols. .IP "\fB\-\-keep\-symbols=\fR\fIfilename\fR" 4 .IX Item "--keep-symbols=filename" Apply \fB\-\-keep\-symbol\fR option to each symbol listed in the file \&\fIfilename\fR. \fIfilename\fR is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once. .IP "\fB\-\-strip\-symbols=\fR\fIfilename\fR" 4 .IX Item "--strip-symbols=filename" Apply \fB\-\-strip\-symbol\fR option to each symbol listed in the file \&\fIfilename\fR. \fIfilename\fR is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once. .IP "\fB\-\-strip\-unneeded\-symbols=\fR\fIfilename\fR" 4 .IX Item "--strip-unneeded-symbols=filename" Apply \fB\-\-strip\-unneeded\-symbol\fR option to each symbol listed in the file \fIfilename\fR. \fIfilename\fR is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once. .IP "\fB\-\-keep\-global\-symbols=\fR\fIfilename\fR" 4 .IX Item "--keep-global-symbols=filename" Apply \fB\-\-keep\-global\-symbol\fR option to each symbol listed in the file \fIfilename\fR. \fIfilename\fR is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once. .IP "\fB\-\-localize\-symbols=\fR\fIfilename\fR" 4 .IX Item "--localize-symbols=filename" Apply \fB\-\-localize\-symbol\fR option to each symbol listed in the file \&\fIfilename\fR. \fIfilename\fR is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once. .IP "\fB\-\-globalize\-symbols=\fR\fIfilename\fR" 4 .IX Item "--globalize-symbols=filename" Apply \fB\-\-globalize\-symbol\fR option to each symbol listed in the file \&\fIfilename\fR. \fIfilename\fR is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once. .IP "\fB\-\-weaken\-symbols=\fR\fIfilename\fR" 4 .IX Item "--weaken-symbols=filename" Apply \fB\-\-weaken\-symbol\fR option to each symbol listed in the file \&\fIfilename\fR. \fIfilename\fR is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once. .IP "\fB\-\-alt\-machine\-code=\fR\fIindex\fR" 4 .IX Item "--alt-machine-code=index" If the output architecture has alternate machine codes, use the \&\fIindex\fRth code instead of the default one. This is useful in case a machine is assigned an official code and the tool-chain adopts the new code, but other applications still depend on the original code being used. For \s-1ELF\s0 based architectures if the \fIindex\fR alternative does not exist then the value is treated as an absolute number to be stored in the e_machine field of the \s-1ELF\s0 header. .IP "\fB\-\-writable\-text\fR" 4 .IX Item "--writable-text" Mark the output text as writable. This option isn't meaningful for all object file formats. .IP "\fB\-\-readonly\-text\fR" 4 .IX Item "--readonly-text" Make the output text write protected. This option isn't meaningful for all object file formats. .IP "\fB\-\-pure\fR" 4 .IX Item "--pure" Mark the output file as demand paged. This option isn't meaningful for all object file formats. .IP "\fB\-\-impure\fR" 4 .IX Item "--impure" Mark the output file as impure. This option isn't meaningful for all object file formats. .IP "\fB\-\-prefix\-symbols=\fR\fIstring\fR" 4 .IX Item "--prefix-symbols=string" Prefix all symbols in the output file with \fIstring\fR. .IP "\fB\-\-prefix\-sections=\fR\fIstring\fR" 4 .IX Item "--prefix-sections=string" Prefix all section names in the output file with \fIstring\fR. .IP "\fB\-\-prefix\-alloc\-sections=\fR\fIstring\fR" 4 .IX Item "--prefix-alloc-sections=string" Prefix all the names of all allocated sections in the output file with \&\fIstring\fR. .IP "\fB\-\-add\-gnu\-debuglink=\fR\fIpath-to-file\fR" 4 .IX Item "--add-gnu-debuglink=path-to-file" Creates a .gnu_debuglink section which contains a reference to \fIpath-to-file\fR and adds it to the output file. .IP "\fB\-\-keep\-file\-symbols\fR" 4 .IX Item "--keep-file-symbols" When stripping a file, perhaps with \fB\-\-strip\-debug\fR or \&\fB\-\-strip\-unneeded\fR, retain any symbols specifying source file names, which would otherwise get stripped. .IP "\fB\-\-only\-keep\-debug\fR" 4 .IX Item "--only-keep-debug" Strip a file, removing contents of any sections that would not be stripped by \fB\-\-strip\-debug\fR and leaving the debugging sections intact. In \s-1ELF\s0 files, this preserves all note sections in the output. .Sp The intention is that this option will be used in conjunction with \&\fB\-\-add\-gnu\-debuglink\fR to create a two part executable. One a stripped binary which will occupy less space in \s-1RAM\s0 and in a 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: .RS 4 .IP "1." 4 .IX Item "1." \&\f(CW\*(C`foo\*(C'\fR then... .ie n .IP "1." 4 .el .IP "1." 4 .IX Item "1." create a file containing the debugging info. .ie n .IP "1." 4 .el .IP "1." 4 .IX Item "1." stripped executable. .ie n .IP "1." 4 .el .IP "1." 4 .IX Item "1." to add a link to the debugging info into the stripped executable. .RE .RS 4 .Sp Note\-\-\-the choice of \f(CW\*(C`.dbg\*(C'\fR as an extension for the debug info file is arbitrary. Also the \f(CW\*(C`\-\-only\-keep\-debug\*(C'\fR step is optional. You could instead do this: .IP "1." 4 .IX Item "1." .PD 0 .ie n .IP "1." 4 .el .IP "1." 4 .IX Item "1." .ie n .IP "1." 4 .el .IP "1." 4 .IX Item "1." .ie n .IP "1." 4 .el .IP "1." 4 .IX Item "1." .RE .RS 4 .PD .Sp i.e., the file pointed to by the \fB\-\-add\-gnu\-debuglink\fR can be the full executable. It does not have to be a file created by the \&\fB\-\-only\-keep\-debug\fR switch. .Sp 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. .RE .IP "\fB\-\-file\-alignment\fR \fInum\fR" 4 .IX Item "--file-alignment num" Specify the file alignment. Sections in the file will always begin at file offsets which are multiples of this number. This defaults to 512. [This option is specific to \s-1PE\s0 targets.] .IP "\fB\-\-heap\fR \fIreserve\fR" 4 .IX Item "--heap reserve" .PD 0 .IP "\fB\-\-heap\fR \fIreserve\fR\fB,\fR\fIcommit\fR" 4 .IX Item "--heap reserve,commit" .PD Specify the number of bytes of memory to reserve (and optionally commit) to be used as heap for this program. [This option is specific to \s-1PE\s0 targets.] .IP "\fB\-\-image\-base\fR \fIvalue\fR" 4 .IX Item "--image-base value" Use \fIvalue\fR as the base address of your program or dll. This is the lowest memory location that will be used when your program or dll is loaded. To reduce the need to relocate and improve performance of your dlls, each should have a unique base address and not overlap any other dlls. The default is 0x400000 for executables, and 0x10000000 for dlls. [This option is specific to \s-1PE\s0 targets.] .IP "\fB\-\-section\-alignment\fR \fInum\fR" 4 .IX Item "--section-alignment num" Sets the section alignment. Sections in memory will always begin at addresses which are a multiple of this number. Defaults to 0x1000. [This option is specific to \s-1PE\s0 targets.] .IP "\fB\-\-stack\fR \fIreserve\fR" 4 .IX Item "--stack reserve" .PD 0 .IP "\fB\-\-stack\fR \fIreserve\fR\fB,\fR\fIcommit\fR" 4 .IX Item "--stack reserve,commit" .PD Specify the number of bytes of memory to reserve (and optionally commit) to be used as stack for this program. [This option is specific to \s-1PE\s0 targets.] .IP "\fB\-\-subsystem\fR \fIwhich\fR" 4 .IX Item "--subsystem which" .PD 0 .IP "\fB\-\-subsystem\fR \fIwhich\fR\fB:\fR\fImajor\fR" 4 .IX Item "--subsystem which:major" .IP "\fB\-\-subsystem\fR \fIwhich\fR\fB:\fR\fImajor\fR\fB.\fR\fIminor\fR" 4 .IX Item "--subsystem which:major.minor" .PD Specifies the subsystem under which your program will execute. The legal values for \fIwhich\fR are \f(CW\*(C`native\*(C'\fR, \f(CW\*(C`windows\*(C'\fR, \&\f(CW\*(C`console\*(C'\fR, \f(CW\*(C`posix\*(C'\fR, \f(CW\*(C`efi\-app\*(C'\fR, \f(CW\*(C`efi\-bsd\*(C'\fR, \&\f(CW\*(C`efi\-rtd\*(C'\fR, \f(CW\*(C`sal\-rtd\*(C'\fR, and \f(CW\*(C`xbox\*(C'\fR. You may optionally set the subsystem version also. Numeric values are also accepted for \&\fIwhich\fR. [This option is specific to \s-1PE\s0 targets.] .IP "\fB\-\-extract\-symbol\fR" 4 .IX Item "--extract-symbol" Keep the file's section flags and symbols but remove all section data. Specifically, the option: .RS 4 .IP "*" 4 .IX Item "*" .PD 0 .IP "*" 4 .IX Item "*" .IP "*" 4 .IX Item "*" .RE .RS 4 .PD .Sp This option is used to build a \fI.sym\fR file for a VxWorks kernel. It can also be a useful way of reducing the size of a \fB\-\-just\-symbols\fR linker input file. .RE .IP "\fB\-\-compress\-debug\-sections\fR" 4 .IX Item "--compress-debug-sections" Compress \s-1DWARF\s0 debug sections using zlib. .IP "\fB\-\-decompress\-debug\-sections\fR" 4 .IX Item "--decompress-debug-sections" Decompress \s-1DWARF\s0 debug sections using zlib. .IP "\fB\-V\fR" 4 .IX Item "-V" .PD 0 .IP "\fB\-\-version\fR" 4 .IX Item "--version" .PD Show the version number of \fBobjcopy\fR. .IP "\fB\-v\fR" 4 .IX Item "-v" .PD 0 .IP "\fB\-\-verbose\fR" 4 .IX Item "--verbose" .PD Verbose output: list all object files modified. In the case of archives, \fBobjcopy \-V\fR lists all members of the archive. .IP "\fB\-\-help\fR" 4 .IX Item "--help" Show a summary of the options to \fBobjcopy\fR. .IP "\fB\-\-info\fR" 4 .IX Item "--info" Display a list showing all architectures and object formats available. .IP "\fB@\fR\fIfile\fR" 4 .IX Item "@file" Read command-line options from \fIfile\fR. The options read are inserted in place of the original @\fIfile\fR option. If \fIfile\fR does not exist, or cannot be read, then the option will be treated literally, and not removed. .Sp Options in \fIfile\fR are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The \fIfile\fR may itself contain additional @\fIfile\fR options; any such options will be processed recursively. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIld\fR\|(1), \fIobjdump\fR\|(1), and the Info entries for \fIbinutils\fR. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. .PP Permission is granted to copy, distribute and/or modify this document under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". .\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05) .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "ELFEDIT 1" .TH ELFEDIT 1 "2010-12-08" "binutils-2.21" "GNU Development Tools" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" elfedit \- Update the ELF header of ELF files. .SH "SYNOPSIS" .IX Header "SYNOPSIS" elfedit [\fB\-\-input\-mach=\fR\fImachine\fR] [\fB\-\-input\-type=\fR\fItype\fR] [\fB\-\-input\-osabi=\fR\fIosbi\fR] \fB\-\-output\-mach=\fR\fImachine\fR \fB\-\-output\-type=\fR\fItype\fR \fB\-\-output\-osabi=\fR\fIosbi\fR [\fB\-v\fR|\fB\-\-version\fR] [\fB\-h\fR|\fB\-\-help\fR] \fIelffile\fR... .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBelfedit\fR updates the \s-1ELF\s0 header of \s-1ELF\s0 files which have the matching \s-1ELF\s0 machine and file types. The options control how and which fields in the \s-1ELF\s0 header should be updated. .PP \&\fIelffile\fR... are the \s-1ELF\s0 files to be updated. 32\-bit and 64\-bit \s-1ELF\s0 files are supported, as are archives containing \s-1ELF\s0 files. .SH "OPTIONS" .IX Header "OPTIONS" The long and short forms of options, shown here as alternatives, are equivalent. At least one of the \fB\-\-output\-mach\fR, \&\fB\-\-output\-type\fR and \fB\-\-output\-osabi\fR options must be given. .IP "\fB\-\-input\-mach=\fR\fImachine\fR" 4 .IX Item "--input-mach=machine" Set the matching input \s-1ELF\s0 machine type to \fImachine\fR. If \&\fB\-\-input\-mach\fR isn't specified, it will match any \s-1ELF\s0 machine types. .Sp The supported \s-1ELF\s0 machine types are, \fIL1OM\fR and \fIx86\-64\fR. .IP "\fB\-\-output\-mach=\fR\fImachine\fR" 4 .IX Item "--output-mach=machine" Change the \s-1ELF\s0 machine type in the \s-1ELF\s0 header to \fImachine\fR. The supported \s-1ELF\s0 machine types are the same as \fB\-\-input\-mach\fR. .IP "\fB\-\-input\-type=\fR\fItype\fR" 4 .IX Item "--input-type=type" Set the matching input \s-1ELF\s0 file type to \fItype\fR. If \&\fB\-\-input\-type\fR isn't specified, it will match any \s-1ELF\s0 file types. .Sp The supported \s-1ELF\s0 file types are, \fIrel\fR, \fIexec\fR and \fIdyn\fR. .IP "\fB\-\-output\-type=\fR\fItype\fR" 4 .IX Item "--output-type=type" Change the \s-1ELF\s0 file type in the \s-1ELF\s0 header to \fItype\fR. The supported \s-1ELF\s0 types are the same as \fB\-\-input\-type\fR. .IP "\fB\-\-input\-osabi=\fR\fIosabi\fR" 4 .IX Item "--input-osabi=osabi" Set the matching input \s-1ELF\s0 file \s-1OSABI\s0 to \fIosbi\fR. If \&\fB\-\-input\-osabi\fR isn't specified, it will match any \s-1ELF\s0 OSABIs. .Sp The supported \s-1ELF\s0 OSABIs are, \fInone\fR, \fI\s-1HPUX\s0\fR, \fINetBSD\fR, \&\fILinux\fR, \fIHurd\fR, \fISolaris\fR, \fI\s-1AIX\s0\fR, \fIIrix\fR, \&\fIFreeBSD\fR, \fI\s-1TRU64\s0\fR, \fIModesto\fR, \fIOpenBSD\fR, \fIOpenVMS\fR, \&\fI\s-1NSK\s0\fR, \fI\s-1AROS\s0\fR and \fIFenixOS\fR. .IP "\fB\-\-output\-osabi=\fR\fIosabi\fR" 4 .IX Item "--output-osabi=osabi" Change the \s-1ELF\s0 \s-1OSABI\s0 in the \s-1ELF\s0 header to \fItype\fR. The supported \s-1ELF\s0 \s-1OSABI\s0 are the same as \fB\-\-input\-osabi\fR. .IP "\fB\-v\fR" 4 .IX Item "-v" .PD 0 .IP "\fB\-\-version\fR" 4 .IX Item "--version" .PD Display the version number of \fBelfedit\fR. .IP "\fB\-h\fR" 4 .IX Item "-h" .PD 0 .IP "\fB\-\-help\fR" 4 .IX Item "--help" .PD Display the command line options understood by \fBelfedit\fR. .IP "\fB@\fR\fIfile\fR" 4 .IX Item "@file" Read command-line options from \fIfile\fR. The options read are inserted in place of the original @\fIfile\fR option. If \fIfile\fR does not exist, or cannot be read, then the option will be treated literally, and not removed. .Sp Options in \fIfile\fR are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The \fIfile\fR may itself contain additional @\fIfile\fR options; any such options will be processed recursively. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIreadelf\fR\|(1), and the Info entries for \fIbinutils\fR. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. .PP Permission is granted to copy, distribute and/or modify this document under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". .\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05) .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "ADDR2LINE 1" .TH ADDR2LINE 1 "2010-12-08" "binutils-2.21" "GNU Development Tools" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" addr2line \- convert addresses into file names and line numbers. .SH "SYNOPSIS" .IX Header "SYNOPSIS" addr2line [\fB\-a\fR|\fB\-\-addresses\fR] [\fB\-b\fR \fIbfdname\fR|\fB\-\-target=\fR\fIbfdname\fR] [\fB\-C\fR|\fB\-\-demangle\fR[=\fIstyle\fR]] [\fB\-e\fR \fIfilename\fR|\fB\-\-exe=\fR\fIfilename\fR] [\fB\-f\fR|\fB\-\-functions\fR] [\fB\-s\fR|\fB\-\-basename\fR] [\fB\-i\fR|\fB\-\-inlines\fR] [\fB\-p\fR|\fB\-\-pretty\-print\fR] [\fB\-j\fR|\fB\-\-section=\fR\fIname\fR] [\fB\-H\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] [addr addr ...] .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBaddr2line\fR translates addresses into file names and line numbers. Given an address in an executable or an offset in a section of a relocatable object, it uses the debugging information to figure out which file name and line number are associated with it. .PP The executable or relocatable object to use is specified with the \fB\-e\fR option. The default is the file \fIa.out\fR. The section in the relocatable object to use is specified with the \fB\-j\fR option. .PP \&\fBaddr2line\fR has two modes of operation. .PP In the first, hexadecimal addresses are specified on the command line, and \fBaddr2line\fR displays the file name and line number for each address. .PP In the second, \fBaddr2line\fR reads hexadecimal addresses from standard input, and prints the file name and line number for each address on standard output. In this mode, \fBaddr2line\fR may be used in a pipe to convert dynamically chosen addresses. .PP The format of the output is \fB\s-1FILENAME:LINENO\s0\fR. The file name and line number for each address is printed on a separate line. If the \&\fB\-f\fR option is used, then each \fB\s-1FILENAME:LINENO\s0\fR line is preceded by a \fB\s-1FUNCTIONNAME\s0\fR line which is the name of the function containing the address. If the \fB\-a\fR option is used, then the address read is first printed. .PP If the file name or function name can not be determined, \&\fBaddr2line\fR will print two question marks in their place. If the line number can not be determined, \fBaddr2line\fR will print 0. .SH "OPTIONS" .IX Header "OPTIONS" The long and short forms of options, shown here as alternatives, are equivalent. .IP "\fB\-a\fR" 4 .IX Item "-a" .PD 0 .IP "\fB\-\-addresses\fR" 4 .IX Item "--addresses" .PD Display address before function names or file and line number information. The address is printed with a \fB0x\fR prefix to easily identify it. .IP "\fB\-b\fR \fIbfdname\fR" 4 .IX Item "-b bfdname" .PD 0 .IP "\fB\-\-target=\fR\fIbfdname\fR" 4 .IX Item "--target=bfdname" .PD Specify that the object-code format for the object files is \&\fIbfdname\fR. .IP "\fB\-C\fR" 4 .IX Item "-C" .PD 0 .IP "\fB\-\-demangle[=\fR\fIstyle\fR\fB]\fR" 4 .IX Item "--demangle[=style]" .PD Decode (\fIdemangle\fR) low-level symbol names into user-level names. Besides removing any initial underscore prepended by the system, this makes \*(C+ function names readable. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler. .IP "\fB\-e\fR \fIfilename\fR" 4 .IX Item "-e filename" .PD 0 .IP "\fB\-\-exe=\fR\fIfilename\fR" 4 .IX Item "--exe=filename" .PD Specify the name of the executable for which addresses should be translated. The default file is \fIa.out\fR. .IP "\fB\-f\fR" 4 .IX Item "-f" .PD 0 .IP "\fB\-\-functions\fR" 4 .IX Item "--functions" .PD Display function names as well as file and line number information. .IP "\fB\-s\fR" 4 .IX Item "-s" .PD 0 .IP "\fB\-\-basenames\fR" 4 .IX Item "--basenames" .PD Display only the base of each file name. .IP "\fB\-i\fR" 4 .IX Item "-i" .PD 0 .IP "\fB\-\-inlines\fR" 4 .IX Item "--inlines" .PD If the address belongs to a function that was inlined, the source information for all enclosing scopes back to the first non-inlined function will also be printed. For example, if \f(CW\*(C`main\*(C'\fR inlines \&\f(CW\*(C`callee1\*(C'\fR which inlines \f(CW\*(C`callee2\*(C'\fR, and address is from \&\f(CW\*(C`callee2\*(C'\fR, the source information for \f(CW\*(C`callee1\*(C'\fR and \f(CW\*(C`main\*(C'\fR will also be printed. .IP "\fB\-j\fR" 4 .IX Item "-j" .PD 0 .IP "\fB\-\-section\fR" 4 .IX Item "--section" .PD Read offsets relative to the specified section instead of absolute addresses. .IP "\fB\-p\fR" 4 .IX Item "-p" .PD 0 .IP "\fB\-\-pretty\-print\fR" 4 .IX Item "--pretty-print" .PD Make the output more human friendly: each location are printed on one line. If option \fB\-i\fR is specified, lines for all enclosing scopes are prefixed with \fB(inlined by)\fR. .IP "\fB@\fR\fIfile\fR" 4 .IX Item "@file" Read command-line options from \fIfile\fR. The options read are inserted in place of the original @\fIfile\fR option. If \fIfile\fR does not exist, or cannot be read, then the option will be treated literally, and not removed. .Sp Options in \fIfile\fR are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The \fIfile\fR may itself contain additional @\fIfile\fR options; any such options will be processed recursively. .SH "SEE ALSO" .IX Header "SEE ALSO" Info entries for \fIbinutils\fR. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. .PP Permission is granted to copy, distribute and/or modify this document under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". .\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05) .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "SIZE 1" .TH SIZE 1 "2010-12-08" "binutils-2.21" "GNU Development Tools" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" size \- list section sizes and total size. .SH "SYNOPSIS" .IX Header "SYNOPSIS" size [\fB\-A\fR|\fB\-B\fR|\fB\-\-format=\fR\fIcompatibility\fR] [\fB\-\-help\fR] [\fB\-d\fR|\fB\-o\fR|\fB\-x\fR|\fB\-\-radix=\fR\fInumber\fR] [\fB\-\-common\fR] [\fB\-t\fR|\fB\-\-totals\fR] [\fB\-\-target=\fR\fIbfdname\fR] [\fB\-V\fR|\fB\-\-version\fR] [\fIobjfile\fR...] .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \s-1GNU\s0 \fBsize\fR utility lists the section sizes\-\-\-and the total size\-\-\-for each of the object or archive files \fIobjfile\fR in its argument list. By default, one line of output is generated for each object file or each module in an archive. .PP \&\fIobjfile\fR... are the object files to be examined. If none are specified, the file \f(CW\*(C`a.out\*(C'\fR will be used. .SH "OPTIONS" .IX Header "OPTIONS" The command line options have the following meanings: .IP "\fB\-A\fR" 4 .IX Item "-A" .PD 0 .IP "\fB\-B\fR" 4 .IX Item "-B" .IP "\fB\-\-format=\fR\fIcompatibility\fR" 4 .IX Item "--format=compatibility" .PD Using one of these options, you can choose whether the output from \s-1GNU\s0 \&\fBsize\fR resembles output from System V \fBsize\fR (using \fB\-A\fR, or \fB\-\-format=sysv\fR), or Berkeley \fBsize\fR (using \fB\-B\fR, or \&\fB\-\-format=berkeley\fR). The default is the one-line format similar to Berkeley's. .Sp Here is an example of the Berkeley (default) format of output from \&\fBsize\fR: .Sp .Vb 4 \& $ size \-\-format=Berkeley ranlib size \& text data bss dec hex filename \& 294880 81920 11592 388392 5ed28 ranlib \& 294880 81920 11888 388688 5ee50 size .Ve .Sp This is the same data, but displayed closer to System V conventions: .Sp .Vb 7 \& $ size \-\-format=SysV ranlib size \& ranlib : \& section size addr \& .text 294880 8192 \& .data 81920 303104 \& .bss 11592 385024 \& Total 388392 \& \& \& size : \& section size addr \& .text 294880 8192 \& .data 81920 303104 \& .bss 11888 385024 \& Total 388688 .Ve .IP "\fB\-\-help\fR" 4 .IX Item "--help" Show a summary of acceptable arguments and options. .IP "\fB\-d\fR" 4 .IX Item "-d" .PD 0 .IP "\fB\-o\fR" 4 .IX Item "-o" .IP "\fB\-x\fR" 4 .IX Item "-x" .IP "\fB\-\-radix=\fR\fInumber\fR" 4 .IX Item "--radix=number" .PD Using one of these options, you can control whether the size of each section is given in decimal (\fB\-d\fR, or \fB\-\-radix=10\fR); octal (\fB\-o\fR, or \fB\-\-radix=8\fR); or hexadecimal (\fB\-x\fR, or \&\fB\-\-radix=16\fR). In \fB\-\-radix=\fR\fInumber\fR, only the three values (8, 10, 16) are supported. The total size is always given in two radices; decimal and hexadecimal for \fB\-d\fR or \fB\-x\fR output, or octal and hexadecimal if you're using \fB\-o\fR. .IP "\fB\-\-common\fR" 4 .IX Item "--common" Print total size of common symbols in each file. When using Berkeley format these are included in the bss size. .IP "\fB\-t\fR" 4 .IX Item "-t" .PD 0 .IP "\fB\-\-totals\fR" 4 .IX Item "--totals" .PD Show totals of all objects listed (Berkeley format listing mode only). .IP "\fB\-\-target=\fR\fIbfdname\fR" 4 .IX Item "--target=bfdname" Specify that the object-code format for \fIobjfile\fR is \&\fIbfdname\fR. This option may not be necessary; \fBsize\fR can automatically recognize many formats. .IP "\fB\-V\fR" 4 .IX Item "-V" .PD 0 .IP "\fB\-\-version\fR" 4 .IX Item "--version" .PD Display the version number of \fBsize\fR. .IP "\fB@\fR\fIfile\fR" 4 .IX Item "@file" Read command-line options from \fIfile\fR. The options read are inserted in place of the original @\fIfile\fR option. If \fIfile\fR does not exist, or cannot be read, then the option will be treated literally, and not removed. .Sp Options in \fIfile\fR are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The \fIfile\fR may itself contain additional @\fIfile\fR options; any such options will be processed recursively. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIar\fR\|(1), \fIobjdump\fR\|(1), \fIreadelf\fR\|(1), and the Info entries for \fIbinutils\fR. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. .PP Permission is granted to copy, distribute and/or modify this document under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". å* ._$ ..æ* ..install.cmdç*.installè*À ib_user_mad.hcmd_/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/toolchain/linux/include/rdma/.install := perl scripts/headers_install.pl /usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/toolchain/linux-2.6.37.2/include/rdma /usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/toolchain/linux/include/rdma x86 ib_user_mad.h; perl scripts/headers_install.pl /usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/toolchain/linux-2.6.37.2/include/rdma /usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/toolchain/linux/include/rdma x86 ; touch /usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/toolchain/linux/include/rdma/.install /* * Copyright (c) 2004 Topspin Communications. All rights reserved. * Copyright (c) 2005 Voltaire, Inc. All rights reserved. * * This software is available to you under a choice of one of two * licenses. You may choose to be licensed under the terms of the GNU * General Public License (GPL) Version 2, available from the file * COPYING in the main directory of this source tree, or the * OpenIB.org BSD license below: * * Redistribution and use in source and binary forms, with or * without modification, are permitted provided that the following * conditions are met: * * - Redistributions of source code must retain the above * copyright notice, this list of conditions and the following * disclaimer. * * - Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials * provided with the distribution. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #ifndef IB_USER_MAD_H #define IB_USER_MAD_H #include #include /* * Increment this value if any changes that break userspace ABI * compatibility are made. */ #define IB_USER_MAD_ABI_VERSION 5 /* * Make sure that all structs defined in this file remain laid out so * that they pack the same way on 32-bit and 64-bit architectures (to * avoid incompatibility between 32-bit userspace and 64-bit kernels). */ /** * ib_user_mad_hdr_old - Old version of MAD packet header without pkey_index * @id - ID of agent MAD received with/to be sent with * @status - 0 on successful receive, ETIMEDOUT if no response * received (transaction ID in data[] will be set to TID of original * request) (ignored on send) * @timeout_ms - Milliseconds to wait for response (unset on receive) * @retries - Number of automatic retries to attempt * @qpn - Remote QP number received from/to be sent to * @qkey - Remote Q_Key to be sent with (unset on receive) * @lid - Remote lid received from/to be sent to * @sl - Service level received with/to be sent with * @path_bits - Local path bits received with/to be sent with * @grh_present - If set, GRH was received/should be sent * @gid_index - Local GID index to send with (unset on receive) * @hop_limit - Hop limit in GRH * @traffic_class - Traffic class in GRH * @gid - Remote GID in GRH * @flow_label - Flow label in GRH */ struct ib_user_mad_hdr_old { __u32 id; __u32 status; __u32 timeout_ms; __u32 retries; __u32 length; __be32 qpn; __be32 qkey; __be16 lid; __u8 sl; __u8 path_bits; __u8 grh_present; __u8 gid_index; __u8 hop_limit; __u8 traffic_class; __u8 gid[16]; __be32 flow_label; }; /** * ib_user_mad_hdr - MAD packet header * This layout allows specifying/receiving the P_Key index. To use * this capability, an application must call the * IB_USER_MAD_ENABLE_PKEY ioctl on the user MAD file handle before * any other actions with the file handle. * @id - ID of agent MAD received with/to be sent with * @status - 0 on successful receive, ETIMEDOUT if no response * received (transaction ID in data[] will be set to TID of original * request) (ignored on send) * @timeout_ms - Milliseconds to wait for response (unset on receive) * @retries - Number of automatic retries to attempt * @qpn - Remote QP number received from/to be sent to * @qkey - Remote Q_Key to be sent with (unset on receive) * @lid - Remote lid received from/to be sent to * @sl - Service level received with/to be sent with * @path_bits - Local path bits received with/to be sent with * @grh_present - If set, GRH was received/should be sent * @gid_index - Local GID index to send with (unset on receive) * @hop_limit - Hop limit in GRH * @traffic_class - Traffic class in GRH * @gid - Remote GID in GRH * @flow_label - Flow label in GRH * @pkey_index - P_Key index */ struct ib_user_mad_hdr { __u32 id; __u32 status; __u32 timeout_ms; __u32 retries; __u32 length; __be32 qpn; __be32 qkey; __be16 lid; __u8 sl; __u8 path_bits; __u8 grh_present; __u8 gid_index; __u8 hop_limit; __u8 traffic_class; __u8 gid[16]; __be32 flow_label; __u16 pkey_index; __u8 reserved[6]; }; /** * ib_user_mad - MAD packet * @hdr - MAD packet header * @data - Contents of MAD * */ struct ib_user_mad { struct ib_user_mad_hdr hdr; __u64 data[0]; }; /* * Earlier versions of this interface definition declared the * method_mask[] member as an array of __u32 but treated it as a * bitmap made up of longs in the kernel. This ambiguity meant that * 32-bit big-endian applications that can run on both 32-bit and * 64-bit kernels had no consistent ABI to rely on, and 64-bit * big-endian applications that treated method_mask as being made up * of 32-bit words would have their bitmap misinterpreted. * * To clear up this confusion, we change the declaration of * method_mask[] to use unsigned long and handle the conversion from * 32-bit userspace to 64-bit kernel for big-endian systems in the * compat_ioctl method. Unfortunately, to keep the structure layout * the same, we need the method_mask[] array to be aligned only to 4 * bytes even when long is 64 bits, which forces us into this ugly * typedef. */ typedef unsigned long __attribute__((aligned(4))) packed_ulong; #define IB_USER_MAD_LONGS_PER_METHOD_MASK (128 / (8 * sizeof (long))) /** * ib_user_mad_reg_req - MAD registration request * @id - Set by the kernel; used to identify agent in future requests. * @qpn - Queue pair number; must be 0 or 1. * @method_mask - The caller will receive unsolicited MADs for any method * where @method_mask = 1. * @mgmt_class - Indicates which management class of MADs should be receive * by the caller. This field is only required if the user wishes to * receive unsolicited MADs, otherwise it should be 0. * @mgmt_class_version - Indicates which version of MADs for the given * management class to receive. * @oui: Indicates IEEE OUI when mgmt_class is a vendor class * in the range from 0x30 to 0x4f. Otherwise not used. * @rmpp_version: If set, indicates the RMPP version used. * */ struct ib_user_mad_reg_req { __u32 id; packed_ulong method_mask[IB_USER_MAD_LONGS_PER_METHOD_MASK]; __u8 qpn; __u8 mgmt_class; __u8 mgmt_class_version; __u8 oui[3]; __u8 rmpp_version; }; #define IB_IOCTL_MAGIC 0x1b #define IB_USER_MAD_REGISTER_AGENT _IOWR(IB_IOCTL_MAGIC, 1, \ struct ib_user_mad_reg_req) #define IB_USER_MAD_UNREGISTER_AGENT _IOW(IB_IOCTL_MAGIC, 2, __u32) #define IB_USER_MAD_ENABLE_PKEY _IO(IB_IOCTL_MAGIC, 3) #endif /* IB_USER_MAD_H */ é* ._$ ..ê* nftl-user.hë* mtd-user.hì* ..install.cmdí*.installî* ubi-user.hï* mtd-abi.hð*p inftl-user.h/* * Copyright © 1999-2010 David Woodhouse * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * */ #ifndef __MTD_NFTL_USER_H__ #define __MTD_NFTL_USER_H__ #include /* Block Control Information */ struct nftl_bci { unsigned char ECCSig[6]; __u8 Status; __u8 Status1; }__attribute__((packed)); /* Unit Control Information */ struct nftl_uci0 { __u16 VirtUnitNum; __u16 ReplUnitNum; __u16 SpareVirtUnitNum; __u16 SpareReplUnitNum; } __attribute__((packed)); struct nftl_uci1 { __u32 WearInfo; __u16 EraseMark; __u16 EraseMark1; } __attribute__((packed)); struct nftl_uci2 { __u16 FoldMark; __u16 FoldMark1; __u32 unused; } __attribute__((packed)); union nftl_uci { struct nftl_uci0 a; struct nftl_uci1 b; struct nftl_uci2 c; }; struct nftl_oob { struct nftl_bci b; union nftl_uci u; }; /* NFTL Media Header */ struct NFTLMediaHeader { char DataOrgID[6]; __u16 NumEraseUnits; __u16 FirstPhysicalEUN; __u32 FormattedSize; unsigned char UnitSizeFactor; } __attribute__((packed)); #define MAX_ERASE_ZONES (8192 - 512) #define ERASE_MARK 0x3c69 #define SECTOR_FREE 0xff #define SECTOR_USED 0x55 #define SECTOR_IGNORE 0x11 #define SECTOR_DELETED 0x00 #define FOLD_MARK_IN_PROGRESS 0x5555 #define ZONE_GOOD 0xff #define ZONE_BAD_ORIGINAL 0 #define ZONE_BAD_MARKED 7 #endif /* __MTD_NFTL_USER_H__