* 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.
+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.
--- /dev/null
+#objdump: -r
+#name: vtable entry0
+
+.*: +file format .*
+
+RELOCATION RECORDS FOR \[.text\]:
+OFFSET TYPE VALUE
+0+0000010 R_.*_GNU_VTENTRY vtbl_a
+
+
--- /dev/null
+.text
+.vtable_entry vtbl_a, 16
--- /dev/null
+#objdump: -r
+#name: vtable entry1
+
+.*: +file format .*
+
+RELOCATION RECORDS FOR \[.text\]:
+OFFSET TYPE VALUE
+0+0000000 R_.*_GNU_VTENTRY vtbl_a\+0x0+10
+
+
--- /dev/null
+.text
+.vtable_entry vtbl_a, 16
--- /dev/null
+#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
+
--- /dev/null
+.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
--- /dev/null
+.*: Assembler messages:
+.*:1: Error: expected `vtbl_a' to have already been set for .vtable_inherit
+GAS LISTING.*
+
+
+ +1.*vtable_inherit vtbl_a, 0
--- /dev/null
+.vtable_inherit vtbl_a, 0
--- /dev/null
+#
+# 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"
+
+ }
+}