From 563e308f244b1d6adb9d012a3e11d458400b3ff2 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 17 Aug 2001 09:51:08 +0000 Subject: [PATCH] * 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. --- ld/ChangeLog | 22 ++++++++++++++++++++++ ld/emulparams/elf32fr30.sh | 2 +- ld/emulparams/elf32mcore.sh | 2 +- ld/emulparams/elf64_s390.sh | 2 +- ld/emulparams/elf_i386.sh | 2 +- ld/emulparams/elf_i386_be.sh | 2 +- ld/emulparams/elf_i386_chaos.sh | 2 +- ld/emulparams/elf_i386_ldso.sh | 2 +- ld/emulparams/elf_s390.sh | 2 +- ld/emulparams/elf_x86_64.sh | 2 +- ld/emulparams/i386moss.sh | 2 +- ld/emulparams/i386nw.sh | 2 +- ld/emulparams/m68kelf.sh | 2 +- ld/ld.texinfo | 16 ++++++++-------- ld/scripttempl/elf.sc | 2 +- ld/scripttempl/elfi370.sc | 2 +- ld/scripttempl/elfm68hc11.sc | 2 +- ld/scripttempl/elfm68hc12.sc | 2 +- ld/scripttempl/nw.sc | 2 +- 19 files changed, 47 insertions(+), 25 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index b8a5cac67c..b10f2fd3e3 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,25 @@ +2001-08-17 Alan Modra + + * 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 * ldgram.y (saved_script_handle): Initialize to NULL. diff --git a/ld/emulparams/elf32fr30.sh b/ld/emulparams/elf32fr30.sh index 1be1f534b1..0c40750c49 100755 --- a/ld/emulparams/elf32fr30.sh +++ b/ld/emulparams/elf32fr30.sh @@ -6,5 +6,5 @@ ARCH=fr30 MAXPAGESIZE=256 ENTRY=_start EMBEDDED=yes -NOP=0x9fa0 +NOP=0x9fa09fa0 OTHER_RELOCATING_SECTIONS='PROVIDE (__stack = 0x200000);' \ No newline at end of file diff --git a/ld/emulparams/elf32mcore.sh b/ld/emulparams/elf32mcore.sh index 2d06387307..06b23257a9 100644 --- a/ld/emulparams/elf32mcore.sh +++ b/ld/emulparams/elf32mcore.sh @@ -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__ = . ;" diff --git a/ld/emulparams/elf64_s390.sh b/ld/emulparams/elf64_s390.sh index 1ba223e41a..08cf4ccb6f 100644 --- a/ld/emulparams/elf64_s390.sh +++ b/ld/emulparams/elf64_s390.sh @@ -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 diff --git a/ld/emulparams/elf_i386.sh b/ld/emulparams/elf_i386.sh index dff567bffb..6928f642b7 100644 --- a/ld/emulparams/elf_i386.sh +++ b/ld/emulparams/elf_i386.sh @@ -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 diff --git a/ld/emulparams/elf_i386_be.sh b/ld/emulparams/elf_i386_be.sh index 9977a069a4..4405d210fc 100644 --- a/ld/emulparams/elf_i386_be.sh +++ b/ld/emulparams/elf_i386_be.sh @@ -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 diff --git a/ld/emulparams/elf_i386_chaos.sh b/ld/emulparams/elf_i386_chaos.sh index 32e7719de6..6afe3c8d70 100644 --- a/ld/emulparams/elf_i386_chaos.sh +++ b/ld/emulparams/elf_i386_chaos.sh @@ -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 diff --git a/ld/emulparams/elf_i386_ldso.sh b/ld/emulparams/elf_i386_ldso.sh index e1f43b2b37..4bb212359c 100644 --- a/ld/emulparams/elf_i386_ldso.sh +++ b/ld/emulparams/elf_i386_ldso.sh @@ -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\" diff --git a/ld/emulparams/elf_s390.sh b/ld/emulparams/elf_s390.sh index 6fa383607c..811add4751 100644 --- a/ld/emulparams/elf_s390.sh +++ b/ld/emulparams/elf_s390.sh @@ -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 diff --git a/ld/emulparams/elf_x86_64.sh b/ld/emulparams/elf_x86_64.sh index 635748f638..c6586c38e8 100644 --- a/ld/emulparams/elf_x86_64.sh +++ b/ld/emulparams/elf_x86_64.sh @@ -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 diff --git a/ld/emulparams/i386moss.sh b/ld/emulparams/i386moss.sh index a5e0e05eb2..eece447397 100644 --- a/ld/emulparams/i386moss.sh +++ b/ld/emulparams/i386moss.sh @@ -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 diff --git a/ld/emulparams/i386nw.sh b/ld/emulparams/i386nw.sh index e70ed678f3..621b4755b8 100644 --- a/ld/emulparams/i386nw.sh +++ b/ld/emulparams/i386nw.sh @@ -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 diff --git a/ld/emulparams/m68kelf.sh b/ld/emulparams/m68kelf.sh index a27f63cff5..508d58d59f 100644 --- a/ld/emulparams/m68kelf.sh +++ b/ld/emulparams/m68kelf.sh @@ -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 diff --git a/ld/ld.texinfo b/ld/ld.texinfo index 82e7fc4fc8..95785e036e 100644 --- a/ld/ld.texinfo +++ b/ld/ld.texinfo @@ -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 diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc index c66be4b623..84630bd21f 100644 --- a/ld/scripttempl/elf.sc +++ b/ld/scripttempl/elf.sc @@ -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 ... diff --git a/ld/scripttempl/elfi370.sc b/ld/scripttempl/elfi370.sc index 05b1cf1d1b..39bf8a1458 100644 --- a/ld/scripttempl/elfi370.sc +++ b/ld/scripttempl/elfi370.sc @@ -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) diff --git a/ld/scripttempl/elfm68hc11.sc b/ld/scripttempl/elfm68hc11.sc index f40e32c511..4bd0dc6937 100644 --- a/ld/scripttempl/elfm68hc11.sc +++ b/ld/scripttempl/elfm68hc11.sc @@ -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) diff --git a/ld/scripttempl/elfm68hc12.sc b/ld/scripttempl/elfm68hc12.sc index d7898bba5e..50e9241abd 100644 --- a/ld/scripttempl/elfm68hc12.sc +++ b/ld/scripttempl/elfm68hc12.sc @@ -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) diff --git a/ld/scripttempl/nw.sc b/ld/scripttempl/nw.sc index 725522c789..4a0b051e47 100644 --- a/ld/scripttempl/nw.sc +++ b/ld/scripttempl/nw.sc @@ -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) -- 2.34.1