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 b8a5cac..b10f2fd 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 1be1f53..0c40750 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 2d06387..06b2325 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 1ba223e..08cf4cc 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 dff567b..6928f64 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 9977a06..4405d21 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 32e7719..6afe3c8 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 e1f43b2..4bb2123 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 6fa3836..811add4 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 635748f..c6586c3 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 a5e0e05..eece447 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 e70ed67..621b475 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 a27f63c..508d58d 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 82e7fc4..95785e0 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 c66be4b..84630bd 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 05b1cf1..39bf8a1 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 f40e32c..4bd0dc6 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 d7898bb..50e9241 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 725522c..4a0b051 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.7.4