* Makefile.am (eelf64bmip.c): Depend on emulparams/elf64bmip-defs.sh.
	(eelf64btsmip.c, eelf64ltsmip.c): Likewise.
	* Makefile.in: Regenerate.
	* emulparams/elf32bmipn32-defs.sh (INITIAL_READONLY_SECTIONS): Include
	.reginfo rather than .MIPS.options.
	* emulparams/elf64bmip-defs.sh: New file.
	* emulparams/elf64bmip.sh: Include it.
	(COMMONPAGESIZE): Delete.
	* emulparams/elf64btsmip.sh: As for elf64bmip.sh.

ld/testsuite/
	* ld-mips-elf/branch-misc-1.d: Set the start address to 0x20000000.
	* ld-mips-elf/jalbal.d: Likewise 0x200000a0.
	* ld-mips-elf/jaloverflow-2.d: Likewise 0x20000000.
	* ld-mips-elf/reloc-3-n32.d: Likewise.
	* ld-mips-elf/reloc-3.d: Likewise.
	* ld-mips-elf/textrel-1.d: Don't require a specific file offset for
	.dynamic.
This commit is contained in:
Richard Sandiford 2006-10-16 21:34:25 +00:00
parent b8da4ba61a
commit 94bb04b3c6
14 changed files with 67 additions and 40 deletions

View file

@ -1,3 +1,15 @@
2006-10-16 Richard Sandiford <richard@codesourcery.com>
* Makefile.am (eelf64bmip.c): Depend on emulparams/elf64bmip-defs.sh.
(eelf64btsmip.c, eelf64ltsmip.c): Likewise.
* Makefile.in: Regenerate.
* emulparams/elf32bmipn32-defs.sh (INITIAL_READONLY_SECTIONS): Include
.reginfo rather than .MIPS.options.
* emulparams/elf64bmip-defs.sh: New file.
* emulparams/elf64bmip.sh: Include it.
(COMMONPAGESIZE): Delete.
* emulparams/elf64btsmip.sh: As for elf64bmip.sh.
2006-10-12 Bob Wilson <bob.wilson@acm.org> 2006-10-12 Bob Wilson <bob.wilson@acm.org>
* emultempl/xtensaelf.em (is_inconsistent_linkonce_section): Check * emultempl/xtensaelf.em (is_inconsistent_linkonce_section): Check

View file

@ -912,6 +912,7 @@ eelf64_sparc_fbsd.c: $(srcdir)/emulparams/elf64_sparc_fbsd.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf64_sparc_fbsd "$(tdir_elf64_sparc_fbsd)" ${GENSCRIPTS} elf64_sparc_fbsd "$(tdir_elf64_sparc_fbsd)"
eelf64bmip.c: $(srcdir)/emulparams/elf64bmip.sh \ eelf64bmip.c: $(srcdir)/emulparams/elf64bmip.sh \
$(srcdir)/emulparams/elf64bmip-defs.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/irix.em $(srcdir)/emultempl/mipself.em \ $(srcdir)/emultempl/irix.em $(srcdir)/emultempl/mipself.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
@ -926,11 +927,12 @@ emmo.c: $(srcdir)/emulparams/mmo.sh $(srcdir)/emultempl/mmix-elfnmmo.em \
$(srcdir)/scripttempl/mmo.sc ${GEN_DEPENDS} $(srcdir)/scripttempl/mmo.sc ${GEN_DEPENDS}
${GENSCRIPTS} mmo "$(tdir_mmo)" ${GENSCRIPTS} mmo "$(tdir_mmo)"
eelf64btsmip.c: $(srcdir)/emulparams/elf64btsmip.sh \ eelf64btsmip.c: $(srcdir)/emulparams/elf64btsmip.sh \
$(srcdir)/emulparams/elf64bmip-defs.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf64btsmip "$(tdir_elf64btsmip)" ${GENSCRIPTS} elf64btsmip "$(tdir_elf64btsmip)"
eelf64ltsmip.c: $(srcdir)/emulparams/elf64ltsmip.sh \ eelf64ltsmip.c: $(srcdir)/emulparams/elf64ltsmip.sh \
$(srcdir)/emulparams/elf64btsmip.sh \ $(srcdir)/emulparams/elf64btsmip.sh $(srcdir)/emulparams/elf64bmip-defs.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf64ltsmip "$(tdir_elf64ltsmip)" ${GENSCRIPTS} elf64ltsmip "$(tdir_elf64ltsmip)"

View file

@ -1723,6 +1723,7 @@ eelf64_sparc_fbsd.c: $(srcdir)/emulparams/elf64_sparc_fbsd.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf64_sparc_fbsd "$(tdir_elf64_sparc_fbsd)" ${GENSCRIPTS} elf64_sparc_fbsd "$(tdir_elf64_sparc_fbsd)"
eelf64bmip.c: $(srcdir)/emulparams/elf64bmip.sh \ eelf64bmip.c: $(srcdir)/emulparams/elf64bmip.sh \
$(srcdir)/emulparams/elf64bmip-defs.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/irix.em $(srcdir)/emultempl/mipself.em \ $(srcdir)/emultempl/irix.em $(srcdir)/emultempl/mipself.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
@ -1737,11 +1738,12 @@ emmo.c: $(srcdir)/emulparams/mmo.sh $(srcdir)/emultempl/mmix-elfnmmo.em \
$(srcdir)/scripttempl/mmo.sc ${GEN_DEPENDS} $(srcdir)/scripttempl/mmo.sc ${GEN_DEPENDS}
${GENSCRIPTS} mmo "$(tdir_mmo)" ${GENSCRIPTS} mmo "$(tdir_mmo)"
eelf64btsmip.c: $(srcdir)/emulparams/elf64btsmip.sh \ eelf64btsmip.c: $(srcdir)/emulparams/elf64btsmip.sh \
$(srcdir)/emulparams/elf64bmip-defs.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf64btsmip "$(tdir_elf64btsmip)" ${GENSCRIPTS} elf64btsmip "$(tdir_elf64btsmip)"
eelf64ltsmip.c: $(srcdir)/emulparams/elf64ltsmip.sh \ eelf64ltsmip.c: $(srcdir)/emulparams/elf64ltsmip.sh \
$(srcdir)/emulparams/elf64btsmip.sh \ $(srcdir)/emulparams/elf64btsmip.sh $(srcdir)/emulparams/elf64bmip-defs.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf64ltsmip "$(tdir_elf64ltsmip)" ${GENSCRIPTS} elf64ltsmip "$(tdir_elf64ltsmip)"

View file

@ -57,7 +57,7 @@ TEXT_START_SYMBOLS='_ftext = . ;'
DATA_START_SYMBOLS='_fdata = . ;' DATA_START_SYMBOLS='_fdata = . ;'
OTHER_BSS_SYMBOLS='_fbss = .;' OTHER_BSS_SYMBOLS='_fbss = .;'
INITIAL_READONLY_SECTIONS=".MIPS.options : { *(.MIPS.options) }" INITIAL_READONLY_SECTIONS=".reginfo ${RELOCATING-0} : { *(.reginfo) }"
# Discard any .MIPS.content* or .MIPS.events* sections. The linker # Discard any .MIPS.content* or .MIPS.events* sections. The linker
# doesn't know how to adjust them. # doesn't know how to adjust them.
OTHER_SECTIONS="/DISCARD/ : { *(.MIPS.content*) *(.MIPS.events*) }" OTHER_SECTIONS="/DISCARD/ : { *(.MIPS.content*) *(.MIPS.events*) }"

View file

@ -0,0 +1,3 @@
. ${srcdir}/emulparams/elf32bmipn32-defs.sh
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
INITIAL_READONLY_SECTIONS=".MIPS.options : { *(.MIPS.options) }"

View file

@ -1,9 +1,8 @@
. ${srcdir}/emulparams/elf32bmipn32-defs.sh . ${srcdir}/emulparams/elf64bmip-defs.sh
OUTPUT_FORMAT="elf64-bigmips" OUTPUT_FORMAT="elf64-bigmips"
BIG_OUTPUT_FORMAT="elf64-bigmips" BIG_OUTPUT_FORMAT="elf64-bigmips"
LITTLE_OUTPUT_FORMAT="elf64-littlemips" LITTLE_OUTPUT_FORMAT="elf64-littlemips"
SHLIB_TEXT_START_ADDR=0x3ffffe0000 SHLIB_TEXT_START_ADDR=0x3ffffe0000
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
# IRIX6 defines these symbols. 0x40 is the size of the ELF header. # IRIX6 defines these symbols. 0x40 is the size of the ELF header.
EXECUTABLE_SYMBOLS=" EXECUTABLE_SYMBOLS="

View file

@ -1,11 +1,10 @@
# If you change this file, please also look at files which source this one: # If you change this file, please also look at files which source this one:
# elf64ltsmip.sh # elf64ltsmip.sh
. ${srcdir}/emulparams/elf32bmipn32-defs.sh . ${srcdir}/emulparams/elf64bmip-defs.sh
OUTPUT_FORMAT="elf64-tradbigmips" OUTPUT_FORMAT="elf64-tradbigmips"
BIG_OUTPUT_FORMAT="elf64-tradbigmips" BIG_OUTPUT_FORMAT="elf64-tradbigmips"
LITTLE_OUTPUT_FORMAT="elf64-tradlittlemips" LITTLE_OUTPUT_FORMAT="elf64-tradlittlemips"
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
# Magic sections. # Magic sections.
OTHER_TEXT_SECTIONS='*(.mips16.fn.*) *(.mips16.call.*)' OTHER_TEXT_SECTIONS='*(.mips16.fn.*) *(.mips16.call.*)'

View file

@ -1,3 +1,13 @@
2006-10-16 Richard Sandiford <richard@codesourcery.com>
* ld-mips-elf/branch-misc-1.d: Set the start address to 0x20000000.
* ld-mips-elf/jalbal.d: Likewise 0x200000a0.
* ld-mips-elf/jaloverflow-2.d: Likewise 0x20000000.
* ld-mips-elf/reloc-3-n32.d: Likewise.
* ld-mips-elf/reloc-3.d: Likewise.
* ld-mips-elf/textrel-1.d: Don't require a specific file offset for
.dynamic.
2006-10-03 Jakub Jelinek <jakub@redhat.com> 2006-10-03 Jakub Jelinek <jakub@redhat.com>
* ld-elf/eh4.d: New test. * ld-elf/eh4.d: New test.

View file

@ -1,7 +1,7 @@
#name: MIPS branch-misc-1 #name: MIPS branch-misc-1
#source: ../../../gas/testsuite/gas/mips/branch-misc-1.s #source: ../../../gas/testsuite/gas/mips/branch-misc-1.s
#objdump: --prefix-addresses -tdr --show-raw-insn #objdump: --prefix-addresses -tdr --show-raw-insn
#ld: -Ttext 0x500000 -e 0x500000 -N #ld: -Ttext 0x20000000 -e 0x20000000 -N
.*: file format elf.*mips.* .*: file format elf.*mips.*
@ -11,18 +11,18 @@ Disassembly of section \.text:
\.\.\. \.\.\.
\.\.\. \.\.\.
\.\.\. \.\.\.
0+50003c <[^>]*> 0411fff0 bal 0+500000 <[^>]*> 0*2000003c <[^>]*> 0411fff0 bal 0*20000000 <[^>]*>
0+500040 <[^>]*> 00000000 nop 0*20000040 <[^>]*> 00000000 nop
0+500044 <[^>]*> 0411fff3 bal 0+500014 <[^>]*> 0*20000044 <[^>]*> 0411fff3 bal 0*20000014 <[^>]*>
0+500048 <[^>]*> 00000000 nop 0*20000048 <[^>]*> 00000000 nop
0+50004c <[^>]*> 0411fff6 bal 0+500028 <[^>]*> 0*2000004c <[^>]*> 0411fff6 bal 0*20000028 <[^>]*>
0+500050 <[^>]*> 00000000 nop 0*20000050 <[^>]*> 00000000 nop
0+500054 <[^>]*> 0411000a bal 0+500080 <[^>]*> 0*20000054 <[^>]*> 0411000a bal 0*20000080 <[^>]*>
0+500058 <[^>]*> 00000000 nop 0*20000058 <[^>]*> 00000000 nop
0+50005c <[^>]*> 0411000d bal 0+500094 <[^>]*> 0*2000005c <[^>]*> 0411000d bal 0*20000094 <[^>]*>
0+500060 <[^>]*> 00000000 nop 0*20000060 <[^>]*> 00000000 nop
0+500064 <[^>]*> 04110010 bal 0+5000a8 <[^>]*> 0*20000064 <[^>]*> 04110010 bal 0*200000a8 <[^>]*>
0+500068 <[^>]*> 00000000 nop 0*20000068 <[^>]*> 00000000 nop
\.\.\. \.\.\.
\.\.\. \.\.\.
\.\.\. \.\.\.

View file

@ -1,7 +1,7 @@
#name: jal to bal #name: jal to bal
#source: jalbal.s #source: jalbal.s
#as: -EB -n32 -march=rm9000 #as: -EB -n32 -march=rm9000
#ld: -EB -e s1 -Ttext 0x100000a0 #ld: -EB -e s1 -Ttext 0x200000a0
#objdump: -d #objdump: -d
.*file format elf.*mips.* .*file format elf.*mips.*
@ -9,16 +9,16 @@
Disassembly of section \.text: Disassembly of section \.text:
.* <s1>: .* <s1>:
.* 0c00802a jal .*100200a8 <s3> .* 0c00802a jal .*200200a8 <s3>
.* 00000000 nop .* 00000000 nop
.* 04117fff bal .*100200a8 <s3> .* 04117fff bal .*200200a8 <s3>
.* <s2>: .* <s2>:
.* \.\.\. .* \.\.\.
.* <s3>: .* <s3>:
.* 04118000 bal .*100000ac <s2> .* 04118000 bal .*200000ac <s2>
.* 00000000 nop .* 00000000 nop
.* 0c00002b jal .*100000ac <s2> .* 0c00002b jal .*200000ac <s2>
.* 00000000 nop .* 00000000 nop
.* \.\.\. .* \.\.\.

View file

@ -1,8 +1,8 @@
#name: JAL overflow 2 #name: JAL overflow 2
#source: jaloverflow-2.s #source: jaloverflow-2.s
#as: #as:
#ld: -Ttext=0x10000000 -e start #ld: -Ttext=0x20000000 -e start
#objdump: -dr #objdump: -dr
#... #...
0*10000000: 0c000000.* 0*20000000: 0c000000.*
#pass #pass

View file

@ -2,7 +2,7 @@
#source: ../../../gas/testsuite/gas/mips/elf-rel6.s #source: ../../../gas/testsuite/gas/mips/elf-rel6.s
#as: -march=mips64 -mabi=n32 -EB #as: -march=mips64 -mabi=n32 -EB
#objdump: --prefix-addresses -tdr --show-raw-insn #objdump: --prefix-addresses -tdr --show-raw-insn
#ld: -Ttext 0x500000 -e 0x500000 -N -melf32btsmipn32 #ld: -Ttext 0x20000000 -e 0x20000000 -N -melf32btsmipn32
.*: file format elf.*mips.* .*: file format elf.*mips.*
@ -10,9 +10,9 @@
#... #...
Disassembly of section \.text: Disassembly of section \.text:
0+500000 <[^>]*> f010 8352 lb v0,-32750\(v1\) 0*20000000 <[^>]*> f010 8352 lb v0,-32750\(v1\)
0+500004 <[^>]*> f010 8353 lb v0,-32749\(v1\) 0*20000004 <[^>]*> f010 8353 lb v0,-32749\(v1\)
0+500008 <[^>]*> f252 8346 lb v0,-28090\(v1\) 0*20000008 <[^>]*> f252 8346 lb v0,-28090\(v1\)
0+50000c <[^>]*> 6500 nop 0*2000000c <[^>]*> 6500 nop
0+50000e <[^>]*> 6500 nop 0*2000000e <[^>]*> 6500 nop
#pass #pass

View file

@ -1,16 +1,16 @@
#name: R_MIPS16_GPREL reloc #name: R_MIPS16_GPREL reloc
#source: ../../../gas/testsuite/gas/mips/elf-rel6.s #source: ../../../gas/testsuite/gas/mips/elf-rel6.s
#objdump: --prefix-addresses -tdr --show-raw-insn #objdump: --prefix-addresses -tdr --show-raw-insn
#ld: -Ttext 0x500000 -e 0x500000 -N #ld: -Ttext 0x20000000 -e 0x20000000 -N
.*: file format elf.*mips.* .*: file format elf.*mips.*
#... #...
Disassembly of section \.text: Disassembly of section \.text:
0+500000 <[^>]*> f010 8352 lb v0,-32750\(v1\) 0*20000000 <[^>]*> f010 8352 lb v0,-32750\(v1\)
0+500004 <[^>]*> f010 8353 lb v0,-32749\(v1\) 0*20000004 <[^>]*> f010 8353 lb v0,-32749\(v1\)
0+500008 <[^>]*> f252 8346 lb v0,-28090\(v1\) 0*20000008 <[^>]*> f252 8346 lb v0,-28090\(v1\)
0+50000c <[^>]*> 6500 nop 0*2000000c <[^>]*> 6500 nop
0+50000e <[^>]*> 6500 nop 0*2000000e <[^>]*> 6500 nop
#pass #pass

View file

@ -4,7 +4,7 @@
#ld: -shared -melf32btsmipn32 #ld: -shared -melf32btsmipn32
#readelf: -d #readelf: -d
Dynamic section at offset 0xb4 contains 18 entries: Dynamic section at offset .* contains 18 entries:
Tag Type Name/Value Tag Type Name/Value
0x00000004 \(HASH\) 0x[0-9a-f]* 0x00000004 \(HASH\) 0x[0-9a-f]*
0x00000005 \(STRTAB\) 0x[0-9a-f]* 0x00000005 \(STRTAB\) 0x[0-9a-f]*