* ld-sh/sh64/rd-sh64.exp: New framework file.

* ld-sh/sh64/init-cmpct.d, ld-sh/sh64/init-media.d,
	ld-sh/sh64/init64.d, ld-sh/sh64/init.s: New tests for
	correct setting of ISA bit for init and fini entry-points.
This commit is contained in:
Alan Modra 2002-08-23 08:14:06 +00:00
parent 3b587c71d7
commit 30c8cc6872
6 changed files with 111 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2002-08-23 Stephen Clarke <stephen.clarke@superh.com>
* ld-sh/sh64/rd-sh64.exp: New framework file.
* ld-sh/sh64/init-cmpct.d, ld-sh/sh64/init-media.d,
ld-sh/sh64/init64.d, ld-sh/sh64/init.s: New tests for
correct setting of ISA bit for init and fini entry-points.
2002-08-16 Stephen Clarke <stephen.clarke@superh.com>
* ld-sh/sh64/sh64.exp: Add dlsection.

View File

@ -0,0 +1,20 @@
#source: init.s
#as: --abi=32 --isa=SHcompact
#ld: -shared -mshelf32
#readelf: -d
#target: sh64-*-elf
# Make sure that the lsb of DT_INIT and DT_FINI entries is not set
# when _init and _fini are SHcompact code.
Dynamic segment at offset 0x358 contains 8 entries:
Tag Type Name/Value
0x0000000c \(INIT\) 0x346
0x0000000d \(FINI\) 0x34e
0x00000004 \(HASH\) 0x94
0x00000005 \(STRTAB\) 0x2d4
0x00000006 \(SYMTAB\) 0x144
0x0000000a \(STRSZ\) 114 \(bytes\)
0x0000000b \(SYMENT\) 16 \(bytes\)
0x00000000 \(NULL\) 0x0

View File

@ -0,0 +1,19 @@
#source: init.s
#as: --abi=32 --isa=SHmedia
#ld: -shared -mshelf32
#readelf: -d
#target: sh64-*-elf
# Make sure that the lsb of DT_INIT and DT_FINI entries is set
# when _init and _fini are SHmedia code.
Dynamic segment at offset 0x368 contains 8 entries:
Tag Type Name/Value
0x0000000c \(INIT\) 0x347
0x0000000d \(FINI\) 0x357
0x00000004 \(HASH\) 0x94
0x00000005 \(STRTAB\) 0x2d4
0x00000006 \(SYMTAB\) 0x144
0x0000000a \(STRSZ\) 114 \(bytes\)
0x0000000b \(SYMENT\) 16 \(bytes\)
0x00000000 \(NULL\) 0x0

View File

@ -0,0 +1,16 @@
.section .text,"ax"
.global _init
.type _init,@function
_init:
nop
nop
nop
nop
.global _fini
.type _fini,@function
_fini:
nop
nop
nop
nop

View File

@ -0,0 +1,19 @@
#source: init.s
#as: --abi=64
#ld: -shared -mshelf64
#readelf: -d
#target: sh64-*-elf
# Make sure that the lsb of DT_INIT and DT_FINI entries is set
# when _init and _fini are SHmedia code.
Dynamic segment at offset 0x488 contains 8 entries:
Tag Type Name/Value
0x000000000000000c \(INIT\) 0x463
0x000000000000000d \(FINI\) 0x473
0x0000000000000004 \(HASH\) 0xe8
0x0000000000000005 \(STRTAB\) 0x3f0
0x0000000000000006 \(SYMTAB\) 0x198
0x000000000000000a \(STRSZ\) 114 \(bytes\)
0x000000000000000b \(SYMENT\) 24 \(bytes\)
0x0000000000000000 \(NULL\) 0x0

View File

@ -0,0 +1,30 @@
# Expect script for run_dump_test based ld-sh/sh64 tests.
# Copyright 2002 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# Written by Stephen Clarke (stephen.clarke@superh.com)
#
if ![istarget sh64-*-*] {
return
}
set rd_test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]]
foreach sh64test $rd_test_list {
# We need to strip the ".d", but can leave the dirname.
verbose [file rootname $sh64test]
run_dump_test [file rootname $sh64test]
}