* gas/vtable/vtable.exp: New.
* gas/vtable/{entry0.s,entry0.d}: New. * gas/vtable/{entry1.s,entry1.d}: New. * gas/vtable/{inherit0.s,inherit0.d}: New. * gas/vtable/{inherit1.s,inherit1.l}: New.
This commit is contained in:
parent
7892a56c16
commit
9ea48b423d
10 changed files with 95 additions and 0 deletions
|
@ -1,3 +1,11 @@
|
|||
Mon Aug 31 12:45:49 1998 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* gas/vtable/vtable.exp: New.
|
||||
* gas/vtable/{entry0.s,entry0.d}: New.
|
||||
* gas/vtable/{entry1.s,entry1.d}: New.
|
||||
* gas/vtable/{inherit0.s,inherit0.d}: New.
|
||||
* gas/vtable/{inherit1.s,inherit1.l}: New.
|
||||
|
||||
Thu Aug 20 23:18:06 1998 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* gas/i386/white.l: Revert patch of August 12.
|
||||
|
|
10
gas/testsuite/gas/vtable/entry0.d
Normal file
10
gas/testsuite/gas/vtable/entry0.d
Normal file
|
@ -0,0 +1,10 @@
|
|||
#objdump: -r
|
||||
#name: vtable entry0
|
||||
|
||||
.*: +file format .*
|
||||
|
||||
RELOCATION RECORDS FOR \[.text\]:
|
||||
OFFSET TYPE VALUE
|
||||
0+0000010 R_.*_GNU_VTENTRY vtbl_a
|
||||
|
||||
|
2
gas/testsuite/gas/vtable/entry0.s
Normal file
2
gas/testsuite/gas/vtable/entry0.s
Normal file
|
@ -0,0 +1,2 @@
|
|||
.text
|
||||
.vtable_entry vtbl_a, 16
|
10
gas/testsuite/gas/vtable/entry1.d
Normal file
10
gas/testsuite/gas/vtable/entry1.d
Normal file
|
@ -0,0 +1,10 @@
|
|||
#objdump: -r
|
||||
#name: vtable entry1
|
||||
|
||||
.*: +file format .*
|
||||
|
||||
RELOCATION RECORDS FOR \[.text\]:
|
||||
OFFSET TYPE VALUE
|
||||
0+0000000 R_.*_GNU_VTENTRY vtbl_a\+0x0+10
|
||||
|
||||
|
2
gas/testsuite/gas/vtable/entry1.s
Normal file
2
gas/testsuite/gas/vtable/entry1.s
Normal file
|
@ -0,0 +1,2 @@
|
|||
.text
|
||||
.vtable_entry vtbl_a, 16
|
10
gas/testsuite/gas/vtable/inherit0.d
Normal file
10
gas/testsuite/gas/vtable/inherit0.d
Normal file
|
@ -0,0 +1,10 @@
|
|||
#objdump: -r
|
||||
#name: vtable inherit0
|
||||
|
||||
.*: +file format .*
|
||||
|
||||
RELOCATION RECORDS FOR \[.data\]:
|
||||
OFFSET TYPE VALUE
|
||||
0+0000000 R_.*_GNU_VTINHERIT \*ABS\*
|
||||
0+0000010 R_.*_GNU_VTINHERIT vtbl_a
|
||||
|
13
gas/testsuite/gas/vtable/inherit0.s
Normal file
13
gas/testsuite/gas/vtable/inherit0.s
Normal file
|
@ -0,0 +1,13 @@
|
|||
.data
|
||||
|
||||
.type vtbl_a,@object
|
||||
vtbl_a:
|
||||
.space 16
|
||||
.size vtbl_a,16
|
||||
.vtable_inherit vtbl_a, 0
|
||||
|
||||
.type vtbl_b,@object
|
||||
vtbl_b:
|
||||
.space 16
|
||||
.size vtbl_b,16
|
||||
.vtable_inherit vtbl_b, vtbl_a
|
6
gas/testsuite/gas/vtable/inherit1.l
Normal file
6
gas/testsuite/gas/vtable/inherit1.l
Normal file
|
@ -0,0 +1,6 @@
|
|||
.*: Assembler messages:
|
||||
.*:1: Error: expected `vtbl_a' to have already been set for .vtable_inherit
|
||||
GAS LISTING.*
|
||||
|
||||
|
||||
+1.*vtable_inherit vtbl_a, 0
|
1
gas/testsuite/gas/vtable/inherit1.s
Normal file
1
gas/testsuite/gas/vtable/inherit1.s
Normal file
|
@ -0,0 +1 @@
|
|||
.vtable_inherit vtbl_a, 0
|
33
gas/testsuite/gas/vtable/vtable.exp
Normal file
33
gas/testsuite/gas/vtable/vtable.exp
Normal file
|
@ -0,0 +1,33 @@
|
|||
#
|
||||
# vtable tests
|
||||
#
|
||||
proc run_list_test { name opts } {
|
||||
global srcdir subdir
|
||||
set testname "vtable $name"
|
||||
set file $srcdir/$subdir/$name
|
||||
gas_run ${name}.s $opts ">&dump.out"
|
||||
if { [regexp_diff "dump.out" "${file}.l"] } then {
|
||||
fail $testname
|
||||
verbose "output is [file_contents "dump.out"]" 2
|
||||
return
|
||||
}
|
||||
pass $testname
|
||||
}
|
||||
|
||||
# Vtable bits are only supported by ELF targets.
|
||||
if {[istarget "*-*-elf*"] || [istarget "*-*-linux*"]} then {
|
||||
|
||||
run_dump_test "inherit0"
|
||||
run_list_test "inherit1" "-al"
|
||||
|
||||
# The vtable entry results are different on Rel and Rela targets.
|
||||
if {[istarget "i*86-*-*"] || [istarget "mips*-*-*"]} then {
|
||||
|
||||
run_dump_test "entry0"
|
||||
|
||||
} else {
|
||||
|
||||
run_dump_test "entry1"
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue