mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-27 02:14:04 +08:00
* objcopy.c (copy_object): If the output file format is `binary',
and the start address was not set using --set-start, default the start address to zero. This hack is because the `binary' output file format uses the start address to set the virtual address of the first byte in the file. * binutils.texi, objcopy.1: Add some notes on generating S-records and binary files.
This commit is contained in:
parent
c768bd3f2d
commit
67f67ed998
@ -1,5 +1,13 @@
|
||||
Tue Oct 18 11:12:01 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
||||
|
||||
* objcopy.c (copy_object): If the output file format is `binary',
|
||||
and the start address was not set using --set-start, default the
|
||||
start address to zero. This hack is because the `binary' output
|
||||
file format uses the start address to set the virtual address of
|
||||
the first byte in the file.
|
||||
* binutils.texi, objcopy.1: Add some notes on generating S-records
|
||||
and binary files.
|
||||
|
||||
* nm.c (print_symdef_entry): Call print_symname to print the
|
||||
symbol name, so that --demangle works.
|
||||
|
||||
|
@ -767,6 +767,22 @@ translation work; it has access to all the formats described in @sc{bfd}
|
||||
and thus is able to recognize most formats without being told
|
||||
explicitly. @xref{BFD,,BFD,ld.info,Using LD}.
|
||||
|
||||
@code{objcopy} can be used to generate S-records by using an output
|
||||
target of @samp{srec} (e.g., use @samp{-O srec}).
|
||||
|
||||
@code{objcopy} can be used to generate a raw binary file by using an
|
||||
output target of @samp{binary} (e.g., use @samp{-O binary}). When
|
||||
@code{objcopy} generates a raw binary file, it will essentially produce
|
||||
a memory dump of the contents of the input object file. All symbols and
|
||||
relocation information will be discarded. By default, the memory dump
|
||||
will start at virtual address zero; the @samp{--set-start} option may be
|
||||
used to specify a different starting point.
|
||||
|
||||
When generating an S-record or a raw binary file, it may be helpful to
|
||||
use @samp{-S} to remove sections containing debugging information. In
|
||||
some cases @samp{-R} will be useful to remove sections which contain
|
||||
information which is not needed by the binary file.
|
||||
|
||||
@table @code
|
||||
@item @var{infile}
|
||||
@itemx @var{outfile}
|
||||
@ -833,7 +849,9 @@ copy with the @var{-b} or @samp{--byte} option. The default is 4.
|
||||
|
||||
@item --set-start @var{val}
|
||||
Set the address of the new file to @var{val}. Not all object file
|
||||
formats support setting the start address.
|
||||
formats support setting the start address. When using the @samp{binary}
|
||||
output file format, the start address sets the virtual address of the
|
||||
first byte in the binary output file.
|
||||
|
||||
@item --adjust-start @var{incr}
|
||||
Adjust the start address by adding @var{incr}. Not all object file
|
||||
|
@ -55,6 +55,34 @@ uses BFD to do all its translation work; it knows about all the
|
||||
formats BFD knows about, and thus is able to recognize most formats
|
||||
without being told explicitly.
|
||||
.PP
|
||||
.B objcopy
|
||||
can be used to generate S-records by using an output target of
|
||||
.B srec
|
||||
(e.g., use
|
||||
.B -O srec).
|
||||
.PP
|
||||
.B objcopy
|
||||
can be used to generate a raw binary file by using an output target of
|
||||
.B binary
|
||||
(e.g., use
|
||||
.B -O binary).
|
||||
When
|
||||
.B objcopy
|
||||
generates a raw binary file, it will essentially produce a memory dump
|
||||
of the contents of the input object file. All symbols and relocation
|
||||
information will be discarded. By default, the memory dump will start
|
||||
at virtual address zero; the
|
||||
.B --set-start
|
||||
option may be used to specify a different starting point.
|
||||
.PP
|
||||
When generating an S-record or a raw binary file, it may be helpful to
|
||||
use
|
||||
.B -S
|
||||
to remove sections containing debugging information. In some cases
|
||||
.B -R
|
||||
will be useful to remove sections which contain information which is
|
||||
not needed by the binary file.
|
||||
.PP
|
||||
.I infile
|
||||
and
|
||||
.I outfile
|
||||
@ -112,7 +140,9 @@ The interleave is ignored if neither \fB\-b\fP nor \fB\-\-byte\fP is given.
|
||||
.TP
|
||||
.B \fB\-\-set\-start=\fIval
|
||||
Set the start address of the new file to \fIval\fP. Not all object
|
||||
file formats support setting the start address.
|
||||
file formats support setting the start address. When using the
|
||||
\fBbinary\fP output file format, the start address sets the virtual
|
||||
address of the first byte in the binary output file.
|
||||
.TP
|
||||
.B \fB\-\-adjust\-start=\fIincr
|
||||
Adjust the start address by adding \fIincr\fP. Not all object file
|
||||
|
@ -316,7 +316,15 @@ copy_object (ibfd, obfd)
|
||||
if (set_start_set)
|
||||
start = set_start;
|
||||
else
|
||||
start = bfd_get_start_address (ibfd);
|
||||
{
|
||||
/* As a special hack make it easier to generate a raw binary
|
||||
file, we default the starting address to zero for the binary
|
||||
output format. */
|
||||
if (strcmp (bfd_get_target (obfd), "binary") == 0)
|
||||
start = 0;
|
||||
else
|
||||
start = bfd_get_start_address (ibfd);
|
||||
}
|
||||
start += adjust_start;
|
||||
|
||||
if (!bfd_set_start_address (obfd, start)
|
||||
|
Loading…
Reference in New Issue
Block a user