Browse Source

* 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.
binutils-2_12-branch
Alan Modra 25 years ago
parent
commit
563e308f24
  1. 22
      ld/ChangeLog
  2. 2
      ld/emulparams/elf32fr30.sh
  3. 2
      ld/emulparams/elf32mcore.sh
  4. 2
      ld/emulparams/elf64_s390.sh
  5. 2
      ld/emulparams/elf_i386.sh
  6. 2
      ld/emulparams/elf_i386_be.sh
  7. 2
      ld/emulparams/elf_i386_chaos.sh
  8. 2
      ld/emulparams/elf_i386_ldso.sh
  9. 2
      ld/emulparams/elf_s390.sh
  10. 2
      ld/emulparams/elf_x86_64.sh
  11. 2
      ld/emulparams/i386moss.sh
  12. 2
      ld/emulparams/i386nw.sh
  13. 2
      ld/emulparams/m68kelf.sh
  14. 16
      ld/ld.texinfo
  15. 2
      ld/scripttempl/elf.sc
  16. 2
      ld/scripttempl/elfi370.sc
  17. 2
      ld/scripttempl/elfm68hc11.sc
  18. 2
      ld/scripttempl/elfm68hc12.sc
  19. 2
      ld/scripttempl/nw.sc

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> 2001-08-15 Tom Rix <trix@redhat.com>
* ldgram.y (saved_script_handle): Initialize to NULL. * ldgram.y (saved_script_handle): Initialize to NULL.

2
ld/emulparams/elf32fr30.sh

@ -6,5 +6,5 @@ ARCH=fr30
MAXPAGESIZE=256 MAXPAGESIZE=256
ENTRY=_start ENTRY=_start
EMBEDDED=yes EMBEDDED=yes
NOP=0x9fa0 NOP=0x9fa09fa0
OTHER_RELOCATING_SECTIONS='PROVIDE (__stack = 0x200000);' OTHER_RELOCATING_SECTIONS='PROVIDE (__stack = 0x200000);'

2
ld/emulparams/elf32mcore.sh

@ -19,7 +19,7 @@ EMBEDDED=yes
# explicitly set first, and since the NOP code is only used as a # explicitly set first, and since the NOP code is only used as a
# fill value between independantly viable peices of code, it should # fill value between independantly viable peices of code, it should
# not matter. # not matter.
NOP=0x0e0e NOP=0x0e0e0e0e
OTHER_BSS_SYMBOLS="__bss_start__ = . ;" OTHER_BSS_SYMBOLS="__bss_start__ = . ;"
OTHER_BSS_END_SYMBOLS="__bss_end__ = . ;" OTHER_BSS_END_SYMBOLS="__bss_end__ = . ;"

2
ld/emulparams/elf64_s390.sh

@ -6,6 +6,6 @@ MAXPAGESIZE=0x1000
NONPAGED_TEXT_START_ADDR=0x80000000 NONPAGED_TEXT_START_ADDR=0x80000000
ARCH="s390:esame" ARCH="s390:esame"
MACHINE= MACHINE=
NOP=0x0707 NOP=0x07070707
TEMPLATE_NAME=elf32 TEMPLATE_NAME=elf32
GENERATE_SHLIB_SCRIPT=yes GENERATE_SHLIB_SCRIPT=yes

2
ld/emulparams/elf_i386.sh

@ -5,6 +5,6 @@ MAXPAGESIZE=0x1000
NONPAGED_TEXT_START_ADDR=0x08048000 NONPAGED_TEXT_START_ADDR=0x08048000
ARCH=i386 ARCH=i386
MACHINE= MACHINE=
NOP=0x9090 NOP=0x90909090
TEMPLATE_NAME=elf32 TEMPLATE_NAME=elf32
GENERATE_SHLIB_SCRIPT=yes GENERATE_SHLIB_SCRIPT=yes

2
ld/emulparams/elf_i386_be.sh

@ -6,6 +6,6 @@ NONPAGED_TEXT_START_ADDR=0x80000000
MAXPAGESIZE=0x1000 MAXPAGESIZE=0x1000
ARCH=i386 ARCH=i386
MACHINE= MACHINE=
NOP=0x9090 NOP=0x90909090
TEMPLATE_NAME=elf32 TEMPLATE_NAME=elf32
GENERATE_SHLIB_SCRIPT=yes GENERATE_SHLIB_SCRIPT=yes

2
ld/emulparams/elf_i386_chaos.sh

@ -5,6 +5,6 @@ MAXPAGESIZE=0x1000
NONPAGED_TEXT_START_ADDR=0x40000000 NONPAGED_TEXT_START_ADDR=0x40000000
ARCH=i386 ARCH=i386
MACHINE= MACHINE=
NOP=0x9090 NOP=0x90909090
TEMPLATE_NAME=elf32 TEMPLATE_NAME=elf32
GENERATE_SHLIB_SCRIPT=yes GENERATE_SHLIB_SCRIPT=yes

2
ld/emulparams/elf_i386_ldso.sh

@ -5,7 +5,7 @@ MAXPAGESIZE=0x1000
NONPAGED_TEXT_START_ADDR=0x08048000 NONPAGED_TEXT_START_ADDR=0x08048000
ARCH=i386 ARCH=i386
MACHINE= MACHINE=
NOP=0x9090 NOP=0x90909090
TEMPLATE_NAME=elf32 TEMPLATE_NAME=elf32
GENERATE_SHLIB_SCRIPT=yes GENERATE_SHLIB_SCRIPT=yes
ELF_INTERPRETER_NAME=\"/usr/lib/ld.so.1\" ELF_INTERPRETER_NAME=\"/usr/lib/ld.so.1\"

2
ld/emulparams/elf_s390.sh

@ -5,6 +5,6 @@ MAXPAGESIZE=0x1000
NONPAGED_TEXT_START_ADDR=0x00400000 NONPAGED_TEXT_START_ADDR=0x00400000
ARCH=s390 ARCH=s390
MACHINE= MACHINE=
NOP=0x0707 NOP=0x07070707
TEMPLATE_NAME=elf32 TEMPLATE_NAME=elf32
GENERATE_SHLIB_SCRIPT=yes GENERATE_SHLIB_SCRIPT=yes

2
ld/emulparams/elf_x86_64.sh

@ -6,6 +6,6 @@ MAXPAGESIZE=0x100000
NONPAGED_TEXT_START_ADDR=0x400000 NONPAGED_TEXT_START_ADDR=0x400000
ARCH=i386 ARCH=i386
MACHINE= MACHINE=
NOP=0x9090 NOP=0x90909090
TEMPLATE_NAME=elf32 TEMPLATE_NAME=elf32
GENERATE_SHLIB_SCRIPT=yes GENERATE_SHLIB_SCRIPT=yes

2
ld/emulparams/i386moss.sh

@ -5,6 +5,6 @@ MAXPAGESIZE=0x1000
NONPAGED_TEXT_START_ADDR=0x00002000 NONPAGED_TEXT_START_ADDR=0x00002000
ARCH=i386 ARCH=i386
MACHINE= MACHINE=
NOP=0x9090 NOP=0x90909090
TEMPLATE_NAME=elf32 TEMPLATE_NAME=elf32
GENERATE_SHLIB_SCRIPT=yes GENERATE_SHLIB_SCRIPT=yes

2
ld/emulparams/i386nw.sh

@ -4,6 +4,6 @@ TEXT_START_ADDR=0x08000000
MAXPAGESIZE=0x1000 MAXPAGESIZE=0x1000
NONPAGED_TEXT_START_ADDR=0x08000000 NONPAGED_TEXT_START_ADDR=0x08000000
ARCH=i386 ARCH=i386
NOP=0x9090 NOP=0x90909090
TEMPLATE_NAME=elf32 TEMPLATE_NAME=elf32
GENERATE_SHLIB_SCRIPT=yes GENERATE_SHLIB_SCRIPT=yes

2
ld/emulparams/m68kelf.sh

@ -5,7 +5,7 @@ MAXPAGESIZE=0x2000
NONPAGED_TEXT_START_ADDR=${TEXT_START_ADDR} NONPAGED_TEXT_START_ADDR=${TEXT_START_ADDR}
ARCH=m68k ARCH=m68k
MACHINE= MACHINE=
NOP=0x4e75 NOP=0x4e754e75
TEMPLATE_NAME=elf32 TEMPLATE_NAME=elf32
EXTRA_EM_FILE=m68kelf EXTRA_EM_FILE=m68kelf
GENERATE_SHLIB_SCRIPT=yes GENERATE_SHLIB_SCRIPT=yes

16
ld/ld.texinfo

@ -1265,7 +1265,7 @@ undefined symbols in the link.
@kindex --sort-common @kindex --sort-common
This option tells @code{ld} to sort the common symbols by size when it 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 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 everything else. This is to prevent gaps between symbols due to
alignment constraints. 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 current section. It is followed by an expression in parentheses. Any
otherwise unspecified regions of memory within the section (for example, otherwise unspecified regions of memory within the section (for example,
gaps left due to the required alignment of input sections) are filled 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 necessary. A @code{FILL} statement covers memory locations after the
point at which it occurs in the section definition; by including more point at which it occurs in the section definition; by including more
than one @code{FILL} statement, you can have different fill patterns in than one @code{FILL} statement, you can have different fill patterns in
different parts of an output section. different parts of an output section.
This example shows how to fill unspecified regions of memory with the This example shows how to fill unspecified regions of memory with the
value @samp{0x9090}: value @samp{0x90}:
@smallexample @smallexample
FILL(0x9090) FILL(0x90909090)
@end smallexample @end smallexample
The @code{FILL} command is similar to the @samp{=@var{fillexp}} output 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 @samp{=@var{fillexp}}. @var{fillexp} is an expression
(@pxref{Expressions}). Any otherwise unspecified regions of memory (@pxref{Expressions}). Any otherwise unspecified regions of memory
within the output section (for example, gaps left due to the required 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. significant bytes of the value, repeated as necessary.
You can also change the fill value with a @code{FILL} command in the 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: Here is a simple example:
@smallexample @smallexample
@group @group
SECTIONS @{ .text : @{ *(.text) @} =0x9090 @} SECTIONS @{ .text : @{ *(.text) @} =0x90909090 @}
@end group @end group
@end smallexample @end smallexample
@ -3728,7 +3728,7 @@ SECTIONS
file2(.text) file2(.text)
. += 1000; . += 1000;
file3(.text) file3(.text)
@} = 0x1234; @} = 0x12345678;
@} @}
@end smallexample @end smallexample
@noindent @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 located at the beginning of the output section @samp{output}. It is
followed by a 1000 byte gap. Then the @samp{.text} section from followed by a 1000 byte gap. Then the @samp{.text} section from
@file{file2} appears, also with a 1000 byte gap following before the @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}). specifies what data to write in the gaps (@pxref{Output Section Fill}).
@cindex dot inside sections @cindex dot inside sections

2
ld/scripttempl/elf.sc

@ -1,6 +1,6 @@
# #
# Unusual variables checked by this code: # 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 # DATA_ADDR - if end-of-text-plus-one-page isn't right for data start
# INITIAL_READONLY_SECTIONS - at start of text segment # INITIAL_READONLY_SECTIONS - at start of text segment
# OTHER_READONLY_SECTIONS - other than .text .init .rodata ... # OTHER_READONLY_SECTIONS - other than .text .init .rodata ...

2
ld/scripttempl/elfi370.sc

@ -2,7 +2,7 @@
# This is just a raw copy of elfppc.sc and has not been otherwise modified # This is just a raw copy of elfppc.sc and has not been otherwise modified
# #
# Unusual variables checked by this code: # 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 # DATA_ADDR - if end-of-text-plus-one-page isn't right for data start
# OTHER_READONLY_SECTIONS - other than .text .init .rodata ... # OTHER_READONLY_SECTIONS - other than .text .init .rodata ...
# (e.g., .PARISC.milli) # (e.g., .PARISC.milli)

2
ld/scripttempl/elfm68hc11.sc

@ -1,6 +1,6 @@
# #
# Unusual variables checked by this code: # 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 # DATA_ADDR - if end-of-text-plus-one-page isn't right for data start
# OTHER_READWRITE_SECTIONS - other than .data .bss .ctors .sdata ... # OTHER_READWRITE_SECTIONS - other than .data .bss .ctors .sdata ...
# (e.g., .PARISC.global) # (e.g., .PARISC.global)

2
ld/scripttempl/elfm68hc12.sc

@ -1,6 +1,6 @@
# #
# Unusual variables checked by this code: # 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 # DATA_ADDR - if end-of-text-plus-one-page isn't right for data start
# OTHER_READWRITE_SECTIONS - other than .data .bss .ctors .sdata ... # OTHER_READWRITE_SECTIONS - other than .data .bss .ctors .sdata ...
# (e.g., .PARISC.global) # (e.g., .PARISC.global)

2
ld/scripttempl/nw.sc

@ -1,6 +1,6 @@
# #
# Unusual variables checked by this code: # 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 # DATA_ADDR - if end-of-text-plus-one-page isn't right for data start
# OTHER_READONLY_SECTIONS - other than .text .init .ctors .rodata ... # OTHER_READONLY_SECTIONS - other than .text .init .ctors .rodata ...
# (e.g., .PARISC.milli) # (e.g., .PARISC.milli)

Loading…
Cancel
Save