mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-22 19:09:31 +08:00
document behaviour of dot inside sections.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
1999-06-22 Nick Clifton <nickc@cygnus.com>
|
||||||
|
|
||||||
|
* ld.texinfo (Location Counter): Describe behaviour of
|
||||||
|
location counter inside section statements.
|
||||||
|
|
||||||
1999-06-20 Mark Mitchell <mark@codesourcery.com>
|
1999-06-20 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
|
||||||
* scripttempl/elf.sc (WRITABLE_RODATA): New variable for
|
* scripttempl/elf.sc (WRITABLE_RODATA): New variable for
|
||||||
|
@ -3410,6 +3410,39 @@ followed by a 1000 byte gap. Then the @samp{.text} section from
|
|||||||
@samp{.text} section from @file{file3}. The notation @samp{= 0x1234}
|
@samp{.text} section from @file{file3}. The notation @samp{= 0x1234}
|
||||||
specifies what data to write in the gaps (@pxref{Output Section Fill}).
|
specifies what data to write in the gaps (@pxref{Output Section Fill}).
|
||||||
|
|
||||||
|
@cindex dot inside sections
|
||||||
|
Note: @code{.} actually refers to the byte offset from the start of the
|
||||||
|
current containing object. Normally this is the @code{SECTIONS}
|
||||||
|
statement, whoes start address is 0, hence @code{.} can be used as an
|
||||||
|
absolute address. If @code{.} is used inside a section description
|
||||||
|
however, it refers to the byte offset from the start of that section,
|
||||||
|
not an absolute address. Thus in a script like this:
|
||||||
|
|
||||||
|
@smallexample
|
||||||
|
SECTIONS
|
||||||
|
@{
|
||||||
|
. = 0x100
|
||||||
|
.text: @{
|
||||||
|
*(.text)
|
||||||
|
. = 0x200
|
||||||
|
@}
|
||||||
|
. = 0x500
|
||||||
|
.data: @{
|
||||||
|
*(.data)
|
||||||
|
. += 0x600
|
||||||
|
@}
|
||||||
|
@}
|
||||||
|
@end smallexample
|
||||||
|
|
||||||
|
The @samp{.text} section will be assigned a starting address of 0x100
|
||||||
|
and a size of exactly 0x200 bytes, even if there is not enough data in
|
||||||
|
the @samp{.text} input sections to fill this area. (If there is too
|
||||||
|
much data, an error will be produced because this would be an attempt to
|
||||||
|
move @code{.} backwards). The @samp{.data} section will start at 0x500
|
||||||
|
and it will have an extra 0x600 bytes worth of space after the end of
|
||||||
|
the values from the @samp{.data} input sections and before the end of
|
||||||
|
the @samp{.data} output section itself.
|
||||||
|
|
||||||
@need 2000
|
@need 2000
|
||||||
@node Operators
|
@node Operators
|
||||||
@subsection Operators
|
@subsection Operators
|
||||||
|
Reference in New Issue
Block a user