forked from Imagelibrary/binutils-gdb
* ld.texinfo: Document that fill values now use the four least
significant bytes. * emulparams/elf32fr30.sh (NOP): Update. * emulparams/elf32mcore.sh: Likewise. * emulparams/elf64_s390.sh: Likewise. * emulparams/elf_i386.sh: Likewise. * emulparams/elf_i386_be.sh: Likewise. * emulparams/elf_i386_chaos.sh: Likewise. * emulparams/elf_i386_ldso.sh: Likewise. * emulparams/elf_s390.sh: Likewise. * emulparams/elf_x86_64.sh: Likewise. * emulparams/i386moss.sh: Likewise. * emulparams/i386nw.sh: Likewise. * emulparams/m68kelf.sh: Likewise. * scripttempl/elf.sc: Update NOP comment. * scripttempl/elfi370.sc: Likewise. * scripttempl/elfm68hc11.sc: Likewise. * scripttempl/elfm68hc12.sc: Likewise. * scripttempl/nw.sc: Likewise.
This commit is contained in:
22
ld/ChangeLog
22
ld/ChangeLog
@@ -1,3 +1,25 @@
|
||||
2001-08-17 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* ld.texinfo: Document that fill values now use the four least
|
||||
significant bytes.
|
||||
* emulparams/elf32fr30.sh (NOP): Update.
|
||||
* emulparams/elf32mcore.sh: Likewise.
|
||||
* emulparams/elf64_s390.sh: Likewise.
|
||||
* emulparams/elf_i386.sh: Likewise.
|
||||
* emulparams/elf_i386_be.sh: Likewise.
|
||||
* emulparams/elf_i386_chaos.sh: Likewise.
|
||||
* emulparams/elf_i386_ldso.sh: Likewise.
|
||||
* emulparams/elf_s390.sh: Likewise.
|
||||
* emulparams/elf_x86_64.sh: Likewise.
|
||||
* emulparams/i386moss.sh: Likewise.
|
||||
* emulparams/i386nw.sh: Likewise.
|
||||
* emulparams/m68kelf.sh: Likewise.
|
||||
* scripttempl/elf.sc: Update NOP comment.
|
||||
* scripttempl/elfi370.sc: Likewise.
|
||||
* scripttempl/elfm68hc11.sc: Likewise.
|
||||
* scripttempl/elfm68hc12.sc: Likewise.
|
||||
* scripttempl/nw.sc: Likewise.
|
||||
|
||||
2001-08-15 Tom Rix <trix@redhat.com>
|
||||
|
||||
* ldgram.y (saved_script_handle): Initialize to NULL.
|
||||
|
||||
@@ -6,5 +6,5 @@ ARCH=fr30
|
||||
MAXPAGESIZE=256
|
||||
ENTRY=_start
|
||||
EMBEDDED=yes
|
||||
NOP=0x9fa0
|
||||
NOP=0x9fa09fa0
|
||||
OTHER_RELOCATING_SECTIONS='PROVIDE (__stack = 0x200000);'
|
||||
@@ -19,7 +19,7 @@ EMBEDDED=yes
|
||||
# explicitly set first, and since the NOP code is only used as a
|
||||
# fill value between independantly viable peices of code, it should
|
||||
# not matter.
|
||||
NOP=0x0e0e
|
||||
NOP=0x0e0e0e0e
|
||||
|
||||
OTHER_BSS_SYMBOLS="__bss_start__ = . ;"
|
||||
OTHER_BSS_END_SYMBOLS="__bss_end__ = . ;"
|
||||
|
||||
@@ -6,6 +6,6 @@ MAXPAGESIZE=0x1000
|
||||
NONPAGED_TEXT_START_ADDR=0x80000000
|
||||
ARCH="s390:esame"
|
||||
MACHINE=
|
||||
NOP=0x0707
|
||||
NOP=0x07070707
|
||||
TEMPLATE_NAME=elf32
|
||||
GENERATE_SHLIB_SCRIPT=yes
|
||||
|
||||
@@ -5,6 +5,6 @@ MAXPAGESIZE=0x1000
|
||||
NONPAGED_TEXT_START_ADDR=0x08048000
|
||||
ARCH=i386
|
||||
MACHINE=
|
||||
NOP=0x9090
|
||||
NOP=0x90909090
|
||||
TEMPLATE_NAME=elf32
|
||||
GENERATE_SHLIB_SCRIPT=yes
|
||||
|
||||
@@ -6,6 +6,6 @@ NONPAGED_TEXT_START_ADDR=0x80000000
|
||||
MAXPAGESIZE=0x1000
|
||||
ARCH=i386
|
||||
MACHINE=
|
||||
NOP=0x9090
|
||||
NOP=0x90909090
|
||||
TEMPLATE_NAME=elf32
|
||||
GENERATE_SHLIB_SCRIPT=yes
|
||||
|
||||
@@ -5,6 +5,6 @@ MAXPAGESIZE=0x1000
|
||||
NONPAGED_TEXT_START_ADDR=0x40000000
|
||||
ARCH=i386
|
||||
MACHINE=
|
||||
NOP=0x9090
|
||||
NOP=0x90909090
|
||||
TEMPLATE_NAME=elf32
|
||||
GENERATE_SHLIB_SCRIPT=yes
|
||||
|
||||
@@ -5,7 +5,7 @@ MAXPAGESIZE=0x1000
|
||||
NONPAGED_TEXT_START_ADDR=0x08048000
|
||||
ARCH=i386
|
||||
MACHINE=
|
||||
NOP=0x9090
|
||||
NOP=0x90909090
|
||||
TEMPLATE_NAME=elf32
|
||||
GENERATE_SHLIB_SCRIPT=yes
|
||||
ELF_INTERPRETER_NAME=\"/usr/lib/ld.so.1\"
|
||||
|
||||
@@ -5,6 +5,6 @@ MAXPAGESIZE=0x1000
|
||||
NONPAGED_TEXT_START_ADDR=0x00400000
|
||||
ARCH=s390
|
||||
MACHINE=
|
||||
NOP=0x0707
|
||||
NOP=0x07070707
|
||||
TEMPLATE_NAME=elf32
|
||||
GENERATE_SHLIB_SCRIPT=yes
|
||||
|
||||
@@ -6,6 +6,6 @@ MAXPAGESIZE=0x100000
|
||||
NONPAGED_TEXT_START_ADDR=0x400000
|
||||
ARCH=i386
|
||||
MACHINE=
|
||||
NOP=0x9090
|
||||
NOP=0x90909090
|
||||
TEMPLATE_NAME=elf32
|
||||
GENERATE_SHLIB_SCRIPT=yes
|
||||
|
||||
@@ -5,6 +5,6 @@ MAXPAGESIZE=0x1000
|
||||
NONPAGED_TEXT_START_ADDR=0x00002000
|
||||
ARCH=i386
|
||||
MACHINE=
|
||||
NOP=0x9090
|
||||
NOP=0x90909090
|
||||
TEMPLATE_NAME=elf32
|
||||
GENERATE_SHLIB_SCRIPT=yes
|
||||
|
||||
@@ -4,6 +4,6 @@ TEXT_START_ADDR=0x08000000
|
||||
MAXPAGESIZE=0x1000
|
||||
NONPAGED_TEXT_START_ADDR=0x08000000
|
||||
ARCH=i386
|
||||
NOP=0x9090
|
||||
NOP=0x90909090
|
||||
TEMPLATE_NAME=elf32
|
||||
GENERATE_SHLIB_SCRIPT=yes
|
||||
|
||||
@@ -5,7 +5,7 @@ MAXPAGESIZE=0x2000
|
||||
NONPAGED_TEXT_START_ADDR=${TEXT_START_ADDR}
|
||||
ARCH=m68k
|
||||
MACHINE=
|
||||
NOP=0x4e75
|
||||
NOP=0x4e754e75
|
||||
TEMPLATE_NAME=elf32
|
||||
EXTRA_EM_FILE=m68kelf
|
||||
GENERATE_SHLIB_SCRIPT=yes
|
||||
|
||||
@@ -1265,7 +1265,7 @@ undefined symbols in the link.
|
||||
@kindex --sort-common
|
||||
This option tells @code{ld} to sort the common symbols by size when it
|
||||
places them in the appropriate output sections. First come all the one
|
||||
byte symbols, then all the two bytes, then all the four bytes, and then
|
||||
byte symbols, then all the two byte, then all the four byte, and then
|
||||
everything else. This is to prevent gaps between symbols due to
|
||||
alignment constraints.
|
||||
|
||||
@@ -2781,16 +2781,16 @@ You may use the @code{FILL} command to set the fill pattern for the
|
||||
current section. It is followed by an expression in parentheses. Any
|
||||
otherwise unspecified regions of memory within the section (for example,
|
||||
gaps left due to the required alignment of input sections) are filled
|
||||
with the two least significant bytes of the expression, repeated as
|
||||
with the four least significant bytes of the expression, repeated as
|
||||
necessary. A @code{FILL} statement covers memory locations after the
|
||||
point at which it occurs in the section definition; by including more
|
||||
than one @code{FILL} statement, you can have different fill patterns in
|
||||
different parts of an output section.
|
||||
|
||||
This example shows how to fill unspecified regions of memory with the
|
||||
value @samp{0x9090}:
|
||||
value @samp{0x90}:
|
||||
@smallexample
|
||||
FILL(0x9090)
|
||||
FILL(0x90909090)
|
||||
@end smallexample
|
||||
|
||||
The @code{FILL} command is similar to the @samp{=@var{fillexp}} output
|
||||
@@ -3076,7 +3076,7 @@ You can set the fill pattern for an entire section by using
|
||||
@samp{=@var{fillexp}}. @var{fillexp} is an expression
|
||||
(@pxref{Expressions}). Any otherwise unspecified regions of memory
|
||||
within the output section (for example, gaps left due to the required
|
||||
alignment of input sections) will be filled with the two least
|
||||
alignment of input sections) will be filled with the four least
|
||||
significant bytes of the value, repeated as necessary.
|
||||
|
||||
You can also change the fill value with a @code{FILL} command in the
|
||||
@@ -3085,7 +3085,7 @@ output section commands; see @ref{Output Section Data}.
|
||||
Here is a simple example:
|
||||
@smallexample
|
||||
@group
|
||||
SECTIONS @{ .text : @{ *(.text) @} =0x9090 @}
|
||||
SECTIONS @{ .text : @{ *(.text) @} =0x90909090 @}
|
||||
@end group
|
||||
@end smallexample
|
||||
|
||||
@@ -3728,7 +3728,7 @@ SECTIONS
|
||||
file2(.text)
|
||||
. += 1000;
|
||||
file3(.text)
|
||||
@} = 0x1234;
|
||||
@} = 0x12345678;
|
||||
@}
|
||||
@end smallexample
|
||||
@noindent
|
||||
@@ -3736,7 +3736,7 @@ In the previous example, the @samp{.text} section from @file{file1} is
|
||||
located at the beginning of the output section @samp{output}. It is
|
||||
followed by a 1000 byte gap. Then the @samp{.text} section from
|
||||
@file{file2} appears, also with a 1000 byte gap following before the
|
||||
@samp{.text} section from @file{file3}. The notation @samp{= 0x1234}
|
||||
@samp{.text} section from @file{file3}. The notation @samp{= 0x12345678}
|
||||
specifies what data to write in the gaps (@pxref{Output Section Fill}).
|
||||
|
||||
@cindex dot inside sections
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Unusual variables checked by this code:
|
||||
# NOP - two byte opcode for no-op (defaults to 0)
|
||||
# NOP - four byte opcode for no-op (defaults to 0)
|
||||
# DATA_ADDR - if end-of-text-plus-one-page isn't right for data start
|
||||
# INITIAL_READONLY_SECTIONS - at start of text segment
|
||||
# OTHER_READONLY_SECTIONS - other than .text .init .rodata ...
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# This is just a raw copy of elfppc.sc and has not been otherwise modified
|
||||
#
|
||||
# Unusual variables checked by this code:
|
||||
# NOP - two byte opcode for no-op (defaults to 0)
|
||||
# NOP - four byte opcode for no-op (defaults to 0)
|
||||
# DATA_ADDR - if end-of-text-plus-one-page isn't right for data start
|
||||
# OTHER_READONLY_SECTIONS - other than .text .init .rodata ...
|
||||
# (e.g., .PARISC.milli)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Unusual variables checked by this code:
|
||||
# NOP - two byte opcode for no-op (defaults to 0)
|
||||
# NOP - four byte opcode for no-op (defaults to 0)
|
||||
# DATA_ADDR - if end-of-text-plus-one-page isn't right for data start
|
||||
# OTHER_READWRITE_SECTIONS - other than .data .bss .ctors .sdata ...
|
||||
# (e.g., .PARISC.global)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Unusual variables checked by this code:
|
||||
# NOP - two byte opcode for no-op (defaults to 0)
|
||||
# NOP - four byte opcode for no-op (defaults to 0)
|
||||
# DATA_ADDR - if end-of-text-plus-one-page isn't right for data start
|
||||
# OTHER_READWRITE_SECTIONS - other than .data .bss .ctors .sdata ...
|
||||
# (e.g., .PARISC.global)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Unusual variables checked by this code:
|
||||
# NOP - two byte opcode for no-op (defaults to 0)
|
||||
# NOP - four byte opcode for no-op (defaults to 0)
|
||||
# DATA_ADDR - if end-of-text-plus-one-page isn't right for data start
|
||||
# OTHER_READONLY_SECTIONS - other than .text .init .ctors .rodata ...
|
||||
# (e.g., .PARISC.milli)
|
||||
|
||||
Reference in New Issue
Block a user