* 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:
Richard Henderson 1998-08-31 19:49:48 +00:00
parent 7892a56c16
commit 9ea48b423d
10 changed files with 95 additions and 0 deletions

View File

@ -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.

View 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

View File

@ -0,0 +1,2 @@
.text
.vtable_entry vtbl_a, 16

View 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

View File

@ -0,0 +1,2 @@
.text
.vtable_entry vtbl_a, 16

View 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

View 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

View 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

View File

@ -0,0 +1 @@
.vtable_inherit vtbl_a, 0

View 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"
}
}