aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2011-07-22 15:31:52 +0000
committerTom Tromey <tromey@redhat.com>2011-07-22 15:31:52 +0000
commit3543a589b22f9e26af4f71ce737dd9aae3410fda (patch)
tree527a7e87e1d9ae26fba99eb127227758a70c4fe4 /gdb/testsuite
parent26ac12805d14072ea51a3e880e7ef1718f9b8d7b (diff)
downloadgdb-3543a589b22f9e26af4f71ce737dd9aae3410fda.zip
gdb-3543a589b22f9e26af4f71ce737dd9aae3410fda.tar.gz
gdb-3543a589b22f9e26af4f71ce737dd9aae3410fda.tar.bz2
gdb
* amd64-tdep.c (amd64_pseudo_register_read_value): Rename from amd64_pseudo_register_read. Change arguments. Call mark_value_bytes_unavailable when needed. (amd64_init_abi): Use set_gdbarch_pseudo_register_read_value, not set_gdbarch_pseudo_register_read. * sentinel-frame.c (sentinel_frame_prev_register): Use regcache_cooked_read_value. * regcache.h (regcache_cooked_read_value): Declare. * regcache.c (regcache_cooked_read_value): New function. (regcache_cooked_read): Call gdbarch_pseudo_register_read_value if available. * i386-tdep.h (i386_pseudo_register_read_value): Declare. (i386_pseudo_register_read): Remove. * i386-tdep.c (i386_pseudo_register_read_into_value): Rename from i386_pseudo_register_read. Change arguments. Call mark_value_bytes_unavailable when needed. (i386_pseudo_register_read_value): New function. (i386_gdbarch_init): Call set_gdbarch_pseudo_register_read_value, not set_gdbarch_pseudo_register_read. * gdbarch.sh (pseudo_register_read_value): New method. * gdbarch.c, gdbarch.h: Rebuild. * findvar.c (value_from_register): Call get_frame_register_value. gdb/testsuite * gdb.dwarf2/typeddwarf.c: XFAIL 'z' on x86-64. * gdb.dwarf2/typeddwarf.exp (xfail-gdb-test): Add arch_pattern argument. * gdb.dwarf2/typeddwarf-amd64.S: New file.
Diffstat (limited to 'gdb/testsuite')
-rw-r--r--gdb/testsuite/ChangeLog7
-rw-r--r--gdb/testsuite/gdb.dwarf2/typeddwarf-amd64.S1568
-rw-r--r--gdb/testsuite/gdb.dwarf2/typeddwarf.c2
-rw-r--r--gdb/testsuite/gdb.dwarf2/typeddwarf.exp23
4 files changed, 1594 insertions, 6 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 0b2c98e..a907aa1 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2011-07-22 Tom Tromey <tromey@redhat.com>
+
+ * gdb.dwarf2/typeddwarf.c: XFAIL 'z' on x86-64.
+ * gdb.dwarf2/typeddwarf.exp (xfail-gdb-test): Add arch_pattern
+ argument.
+ * gdb.dwarf2/typeddwarf-amd64.S: New file.
+
2011-07-21 Matt Rice <ratmice@gmail.com>
* gdb.threads/Makefile.in: Avoid globbing corethreads.exp
diff --git a/gdb/testsuite/gdb.dwarf2/typeddwarf-amd64.S b/gdb/testsuite/gdb.dwarf2/typeddwarf-amd64.S
new file mode 100644
index 0000000..f97357a
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/typeddwarf-amd64.S
@@ -0,0 +1,1568 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2011 Free Software Foundation, Inc.
+
+ This program 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* This source file was generated from typeddwarf.c using the following
+ command line:
+
+ gcc -S -g -O2 typeddwarf.c -o typeddwarf-amd64.S
+
+*/
+
+
+ .file "typeddwarf.c"
+ .text
+.Ltext0:
+ .globl f1
+ .type f1, @function
+f1:
+.LFB0:
+ .file 1 "typeddwarf.c"
+ .loc 1 10 0
+ .cfi_startproc
+.LVL0:
+ .loc 1 29 0
+ movl vv(%rip), %eax
+ addl $1, %eax
+ movl %eax, vv(%rip)
+ .loc 1 30 0
+ ret
+ .cfi_endproc
+.LFE0:
+ .size f1, .-f1
+ .globl f2
+ .type f2, @function
+f2:
+.LFB1:
+ .loc 1 34 0
+ .cfi_startproc
+.LVL1:
+ .loc 1 53 0
+ movl vv(%rip), %eax
+ addl $1, %eax
+ movl %eax, vv(%rip)
+ .loc 1 54 0
+ cvttsd2si %xmm0, %eax
+ movl %eax, vv(%rip)
+ .loc 1 55 0
+ cvttsd2si %xmm1, %eax
+ movl %eax, vv(%rip)
+ .loc 1 56 0
+ cvttsd2si %xmm2, %eax
+ movl %eax, vv(%rip)
+ .loc 1 57 0
+ cvttss2si %xmm3, %eax
+ movl %eax, vv(%rip)
+ .loc 1 58 0
+ cvttss2si %xmm4, %r8d
+ movl %r8d, vv(%rip)
+ .loc 1 59 0
+ movl %edi, vv(%rip)
+ .loc 1 60 0
+ movl %esi, vv(%rip)
+ .loc 1 61 0
+ movl %edx, vv(%rip)
+ .loc 1 62 0
+ movl %ecx, vv(%rip)
+ .loc 1 63 0
+ movl %eax, vv(%rip)
+ .loc 1 64 0
+ ret
+ .cfi_endproc
+.LFE1:
+ .size f2, .-f2
+ .globl f3
+ .type f3, @function
+f3:
+.LFB2:
+ .loc 1 68 0
+ .cfi_startproc
+.LVL2:
+ .loc 1 73 0
+ movl vv(%rip), %eax
+ addl $1, %eax
+ movl %eax, vv(%rip)
+ .loc 1 74 0
+ ret
+ .cfi_endproc
+.LFE2:
+ .size f3, .-f3
+ .globl f4
+ .type f4, @function
+f4:
+.LFB3:
+ .loc 1 78 0
+ .cfi_startproc
+.LVL3:
+ .loc 1 82 0
+ movl vv(%rip), %eax
+ addl $1, %eax
+ movl %eax, vv(%rip)
+ .loc 1 83 0
+ ret
+ .cfi_endproc
+.LFE3:
+ .size f4, .-f4
+ .globl _start
+ .type _start, @function
+_start:
+.LFB4:
+ .loc 1 87 0
+ .cfi_startproc
+ subq $8, %rsp
+.LCFI0:
+ .cfi_def_cfa_offset 16
+ .loc 1 88 0
+ movl $9, %ecx
+ movl $8, %edx
+ movl $7, %esi
+ movl $6, %edi
+ movss .LC2(%rip), %xmm4
+ movss .LC3(%rip), %xmm3
+ movsd .LC0(%rip), %xmm2
+ movsd .LC1(%rip), %xmm1
+ movsd .LC4(%rip), %xmm0
+ call f1
+.LVL4:
+ .loc 1 89 0
+ movl $9, %ecx
+ movl $8, %edx
+ movl $7, %esi
+ movl $6, %edi
+ movss .LC2(%rip), %xmm4
+ movss .LC3(%rip), %xmm3
+ movsd .LC0(%rip), %xmm2
+ movsd .LC1(%rip), %xmm1
+ movsd .LC4(%rip), %xmm0
+ call f2
+.LVL5:
+ .loc 1 90 0
+ movl $4, %ecx
+ movl $3, %edx
+ movl $2, %esi
+ movl $1, %edi
+ call f3
+.LVL6:
+ .loc 1 91 0
+ movdqa .LC5(%rip), %xmm2
+ movq .LC6(%rip), %xmm1
+ movd .LC7(%rip), %xmm0
+ call f4
+.LVL7:
+ .loc 1 93 0
+ movl $0, %eax
+ addq $8, %rsp
+.LCFI1:
+ .cfi_def_cfa_offset 8
+ ret
+ .cfi_endproc
+.LFE4:
+ .size _start, .-_start
+ .comm vv,4,4
+ .section .rodata.cst8,"aM",@progbits,8
+ .align 8
+.LC0:
+ .long 0
+ .long 1074266112
+ .align 8
+.LC1:
+ .long 0
+ .long 1073741824
+ .section .rodata.cst4,"aM",@progbits,4
+ .align 4
+.LC2:
+ .long 1084227584
+ .align 4
+.LC3:
+ .long 1082130432
+ .section .rodata.cst8
+ .align 8
+.LC4:
+ .long 0
+ .long 1072693248
+ .section .rodata.cst16,"aM",@progbits,16
+ .align 16
+.LC5:
+ .quad 640
+ .quad 3476215962376601600
+ .section .rodata.cst8
+ .align 8
+.LC6:
+ .quad 3575858104132173984
+ .section .rodata.cst4
+ .align 4
+.LC7:
+ .long 838860880
+ .text
+.Letext0:
+ .section .debug_info,"",@progbits
+.Ldebug_info0:
+ .long 0x6c4
+ .value 0x2
+ .long .Ldebug_abbrev0
+ .byte 0x8
+ .uleb128 0x1
+ .long .LASF8
+ .byte 0x1
+ .long .LASF9
+ .long .LASF10
+ .quad .Ltext0
+ .quad .Letext0
+ .long .Ldebug_line0
+ .uleb128 0x2
+ .byte 0x8
+ .byte 0x4
+ .long .LASF0
+ .uleb128 0x2
+ .byte 0x4
+ .byte 0x4
+ .long .LASF1
+ .uleb128 0x2
+ .byte 0x8
+ .byte 0x7
+ .long .LASF2
+ .uleb128 0x2
+ .byte 0x8
+ .byte 0x5
+ .long .LASF3
+ .uleb128 0x2
+ .byte 0x4
+ .byte 0x7
+ .long .LASF4
+ .uleb128 0x3
+ .byte 0x4
+ .byte 0x5
+ .string "int"
+ .uleb128 0x2
+ .byte 0x8
+ .byte 0xf
+ .long .LASF5
+ .uleb128 0x2
+ .byte 0x4
+ .byte 0xf
+ .long .LASF6
+ .uleb128 0x2
+ .byte 0x10
+ .byte 0xf
+ .long .LASF7
+ .uleb128 0x4
+ .byte 0x1
+ .string "f1"
+ .byte 0x1
+ .byte 0x9
+ .byte 0x1
+ .quad .LFB0
+ .quad .LFE0
+ .byte 0x2
+ .byte 0x77
+ .sleb128 8
+ .byte 0x1
+ .long 0x22b
+ .uleb128 0x5
+ .string "a"
+ .byte 0x1
+ .byte 0x9
+ .long 0x2d
+ .byte 0x1
+ .byte 0x61
+ .uleb128 0x5
+ .string "b"
+ .byte 0x1
+ .byte 0x9
+ .long 0x2d
+ .byte 0x1
+ .byte 0x62
+ .uleb128 0x5
+ .string "c"
+ .byte 0x1
+ .byte 0x9
+ .long 0x2d
+ .byte 0x1
+ .byte 0x63
+ .uleb128 0x5
+ .string "d"
+ .byte 0x1
+ .byte 0x9
+ .long 0x34
+ .byte 0x1
+ .byte 0x64
+ .uleb128 0x5
+ .string "e"
+ .byte 0x1
+ .byte 0x9
+ .long 0x34
+ .byte 0x1
+ .byte 0x65
+ .uleb128 0x5
+ .string "f"
+ .byte 0x1
+ .byte 0x9
+ .long 0x50
+ .byte 0x1
+ .byte 0x55
+ .uleb128 0x5
+ .string "g"
+ .byte 0x1
+ .byte 0x9
+ .long 0x49
+ .byte 0x1
+ .byte 0x54
+ .uleb128 0x5
+ .string "h"
+ .byte 0x1
+ .byte 0x9
+ .long 0x22b
+ .byte 0x1
+ .byte 0x51
+ .uleb128 0x5
+ .string "i"
+ .byte 0x1
+ .byte 0x9
+ .long 0x232
+ .byte 0x1
+ .byte 0x52
+ .uleb128 0x6
+ .string "j"
+ .byte 0x1
+ .byte 0xb
+ .long 0x2d
+ .byte 0x6
+ .byte 0xf5
+ .uleb128 0x14
+ .uleb128 0x34
+ .byte 0xf7
+ .uleb128 0x2d
+ .byte 0x9f
+ .uleb128 0x6
+ .string "l"
+ .byte 0x1
+ .byte 0xc
+ .long 0x22b
+ .byte 0x8
+ .byte 0xf5
+ .uleb128 0x14
+ .uleb128 0x34
+ .byte 0xf7
+ .uleb128 0x2d
+ .byte 0xf9
+ .uleb128 0x3b
+ .byte 0x9f
+ .uleb128 0x6
+ .string "m"
+ .byte 0x1
+ .byte 0xe
+ .long 0x22b
+ .byte 0x1
+ .byte 0x63
+ .uleb128 0x6
+ .string "n"
+ .byte 0x1
+ .byte 0x10
+ .long 0x34
+ .byte 0x7
+ .byte 0x72
+ .sleb128 0
+ .byte 0xf7
+ .uleb128 0x3b
+ .byte 0xf7
+ .uleb128 0x34
+ .byte 0x9f
+ .uleb128 0x6
+ .string "o"
+ .byte 0x1
+ .byte 0x11
+ .long 0x2d
+ .byte 0x7
+ .byte 0x71
+ .sleb128 0
+ .byte 0xf7
+ .uleb128 0x42
+ .byte 0xf7
+ .uleb128 0x2d
+ .byte 0x9f
+ .uleb128 0x6
+ .string "p"
+ .byte 0x1
+ .byte 0x12
+ .long 0x34
+ .byte 0x7
+ .byte 0x74
+ .sleb128 0
+ .byte 0xf7
+ .uleb128 0x49
+ .byte 0xf7
+ .uleb128 0x34
+ .byte 0x9f
+ .uleb128 0x6
+ .string "q"
+ .byte 0x1
+ .byte 0x13
+ .long 0x2d
+ .byte 0x7
+ .byte 0x75
+ .sleb128 0
+ .byte 0xf7
+ .uleb128 0x50
+ .byte 0xf7
+ .uleb128 0x2d
+ .byte 0x9f
+ .uleb128 0x6
+ .string "r"
+ .byte 0x1
+ .byte 0x14
+ .long 0x232
+ .byte 0x6
+ .byte 0xf5
+ .uleb128 0x11
+ .uleb128 0x2d
+ .byte 0xf7
+ .uleb128 0x3b
+ .byte 0x9f
+ .uleb128 0x6
+ .string "s"
+ .byte 0x1
+ .byte 0x15
+ .long 0x22b
+ .byte 0x8
+ .byte 0xf5
+ .uleb128 0x13
+ .uleb128 0x2d
+ .byte 0xf7
+ .uleb128 0x42
+ .byte 0xf7
+ .uleb128 0
+ .byte 0x9f
+ .uleb128 0x6
+ .string "t"
+ .byte 0x1
+ .byte 0x16
+ .long 0x49
+ .byte 0x8
+ .byte 0xf5
+ .uleb128 0x14
+ .uleb128 0x34
+ .byte 0xf7
+ .uleb128 0x49
+ .byte 0xf7
+ .uleb128 0
+ .byte 0x9f
+ .uleb128 0x6
+ .string "u"
+ .byte 0x1
+ .byte 0x17
+ .long 0x50
+ .byte 0x8
+ .byte 0xf5
+ .uleb128 0x12
+ .uleb128 0x2d
+ .byte 0xf7
+ .uleb128 0x50
+ .byte 0xf7
+ .uleb128 0
+ .byte 0x9f
+ .uleb128 0x6
+ .string "v"
+ .byte 0x1
+ .byte 0x18
+ .long 0x34
+ .byte 0x6
+ .byte 0xf5
+ .uleb128 0x11
+ .uleb128 0x2d
+ .byte 0xf7
+ .uleb128 0x34
+ .byte 0x9f
+ .uleb128 0x6
+ .string "w"
+ .byte 0x1
+ .byte 0x19
+ .long 0x2d
+ .byte 0x12
+ .byte 0xf5
+ .uleb128 0x14
+ .uleb128 0x34
+ .byte 0xf7
+ .uleb128 0x2d
+ .byte 0xf4
+ .uleb128 0x2d
+ .byte 0x8
+ .long 0
+ .long 0x3fd00000
+ .byte 0x1e
+ .byte 0x9f
+ .uleb128 0x6
+ .string "x"
+ .byte 0x1
+ .byte 0x1a
+ .long 0x2d
+ .byte 0x14
+ .byte 0xf5
+ .uleb128 0x11
+ .uleb128 0x2d
+ .byte 0xf5
+ .uleb128 0x12
+ .uleb128 0x2d
+ .byte 0x22
+ .byte 0xf4
+ .uleb128 0x2d
+ .byte 0x8
+ .long 0
+ .long 0x3ff00000
+ .byte 0x22
+ .byte 0x9f
+ .uleb128 0x6
+ .string "y"
+ .byte 0x1
+ .byte 0x1b
+ .long 0x2d
+ .byte 0x14
+ .byte 0xf5
+ .uleb128 0x12
+ .uleb128 0x2d
+ .byte 0xf5
+ .uleb128 0x13
+ .uleb128 0x2d
+ .byte 0x22
+ .byte 0xf4
+ .uleb128 0x2d
+ .byte 0x8
+ .long 0
+ .long 0x40000000
+ .byte 0x22
+ .byte 0x9f
+ .uleb128 0x6
+ .string "z"
+ .byte 0x1
+ .byte 0x1c
+ .long 0x34
+ .byte 0x12
+ .byte 0xf5
+ .uleb128 0x14
+ .uleb128 0x34
+ .byte 0xf3
+ .uleb128 0x3
+ .byte 0xf5
+ .uleb128 0x15
+ .uleb128 0x34
+ .byte 0x22
+ .byte 0xf4
+ .uleb128 0x34
+ .byte 0x4
+ .long 0x40400000
+ .byte 0x22
+ .byte 0x9f
+ .byte 0
+ .uleb128 0x2
+ .byte 0x8
+ .byte 0x5
+ .long .LASF11
+ .uleb128 0x2
+ .byte 0x8
+ .byte 0x7
+ .long .LASF12
+ .uleb128 0x4
+ .byte 0x1
+ .string "f2"
+ .byte 0x1
+ .byte 0x21
+ .byte 0x1
+ .quad .LFB1
+ .quad .LFE1
+ .byte 0x2
+ .byte 0x77
+ .sleb128 8
+ .byte 0x1
+ .long 0x402
+ .uleb128 0x5
+ .string "a"
+ .byte 0x1
+ .byte 0x21
+ .long 0x2d
+ .byte 0x1
+ .byte 0x61
+ .uleb128 0x5
+ .string "b"
+ .byte 0x1
+ .byte 0x21
+ .long 0x2d
+ .byte 0x1
+ .byte 0x62
+ .uleb128 0x5
+ .string "c"
+ .byte 0x1
+ .byte 0x21
+ .long 0x2d
+ .byte 0x1
+ .byte 0x63
+ .uleb128 0x5
+ .string "d"
+ .byte 0x1
+ .byte 0x21
+ .long 0x34
+ .byte 0x1
+ .byte 0x64
+ .uleb128 0x5
+ .string "e"
+ .byte 0x1
+ .byte 0x21
+ .long 0x34
+ .byte 0x1
+ .byte 0x65
+ .uleb128 0x5
+ .string "f"
+ .byte 0x1
+ .byte 0x21
+ .long 0x50
+ .byte 0x1
+ .byte 0x55
+ .uleb128 0x5
+ .string "g"
+ .byte 0x1
+ .byte 0x21
+ .long 0x49
+ .byte 0x1
+ .byte 0x54
+ .uleb128 0x5
+ .string "h"
+ .byte 0x1
+ .byte 0x21
+ .long 0x22b
+ .byte 0x1
+ .byte 0x51
+ .uleb128 0x5
+ .string "i"
+ .byte 0x1
+ .byte 0x21
+ .long 0x232
+ .byte 0x1
+ .byte 0x52
+ .uleb128 0x6
+ .string "j"
+ .byte 0x1
+ .byte 0x23
+ .long 0x2d
+ .byte 0x6
+ .byte 0xf5
+ .uleb128 0x14
+ .uleb128 0x34
+ .byte 0xf7
+ .uleb128 0x2d
+ .byte 0x9f
+ .uleb128 0x6
+ .string "l"
+ .byte 0x1
+ .byte 0x24
+ .long 0x22b
+ .byte 0x8
+ .byte 0xf5
+ .uleb128 0x14
+ .uleb128 0x34
+ .byte 0xf7
+ .uleb128 0x2d
+ .byte 0xf9
+ .uleb128 0x3b
+ .byte 0x9f
+ .uleb128 0x6
+ .string "m"
+ .byte 0x1
+ .byte 0x26
+ .long 0x22b
+ .byte 0x1
+ .byte 0x63
+ .uleb128 0x6
+ .string "n"
+ .byte 0x1
+ .byte 0x28
+ .long 0x34
+ .byte 0x7
+ .byte 0x72
+ .sleb128 0
+ .byte 0xf7
+ .uleb128 0x3b
+ .byte 0xf7
+ .uleb128 0x34
+ .byte 0x9f
+ .uleb128 0x6
+ .string "o"
+ .byte 0x1
+ .byte 0x29
+ .long 0x2d
+ .byte 0x7
+ .byte 0x71
+ .sleb128 0
+ .byte 0xf7
+ .uleb128 0x42
+ .byte 0xf7
+ .uleb128 0x2d
+ .byte 0x9f
+ .uleb128 0x6
+ .string "p"
+ .byte 0x1
+ .byte 0x2a
+ .long 0x34
+ .byte 0x7
+ .byte 0x74
+ .sleb128 0
+ .byte 0xf7
+ .uleb128 0x49
+ .byte 0xf7
+ .uleb128 0x34
+ .byte 0x9f
+ .uleb128 0x6
+ .string "q"
+ .byte 0x1
+ .byte 0x2b
+ .long 0x2d
+ .byte 0x7
+ .byte 0x75
+ .sleb128 0
+ .byte 0xf7
+ .uleb128 0x50
+ .byte 0xf7
+ .uleb128 0x2d
+ .byte 0x9f
+ .uleb128 0x6
+ .string "r"
+ .byte 0x1
+ .byte 0x2c
+ .long 0x232
+ .byte 0x6
+ .byte 0xf5
+ .uleb128 0x11
+ .uleb128 0x2d
+ .byte 0xf7
+ .uleb128 0x3b
+ .byte 0x9f
+ .uleb128 0x6
+ .string "s"
+ .byte 0x1
+ .byte 0x2d
+ .long 0x22b
+ .byte 0x8
+ .byte 0xf5
+ .uleb128 0x13
+ .uleb128 0x2d
+ .byte 0xf7
+ .uleb128 0x42
+ .byte 0xf7
+ .uleb128 0
+ .byte 0x9f
+ .uleb128 0x6
+ .string "t"
+ .byte 0x1
+ .byte 0x2e
+ .long 0x49
+ .byte 0x8
+ .byte 0xf5
+ .uleb128 0x14
+ .uleb128 0x34
+ .byte 0xf7
+ .uleb128 0x49
+ .byte 0xf7
+ .uleb128 0
+ .byte 0x9f
+ .uleb128 0x6
+ .string "u"
+ .byte 0x1
+ .byte 0x2f
+ .long 0x50
+ .byte 0x8
+ .byte 0xf5
+ .uleb128 0x12
+ .uleb128 0x2d
+ .byte 0xf7
+ .uleb128 0x50
+ .byte 0xf7
+ .uleb128 0
+ .byte 0x9f
+ .uleb128 0x6
+ .string "v"
+ .byte 0x1
+ .byte 0x30
+ .long 0x34
+ .byte 0x6
+ .byte 0xf5
+ .uleb128 0x11
+ .uleb128 0x2d
+ .byte 0xf7
+ .uleb128 0x34
+ .byte 0x9f
+ .uleb128 0x6
+ .string "w"
+ .byte 0x1
+ .byte 0x31
+ .long 0x2d
+ .byte 0x12
+ .byte 0xf5
+ .uleb128 0x14
+ .uleb128 0x34
+ .byte 0xf7
+ .uleb128 0x2d
+ .byte 0xf4
+ .uleb128 0x2d
+ .byte 0x8
+ .long 0
+ .long 0x3fd00000
+ .byte 0x1e
+ .byte 0x9f
+ .uleb128 0x6
+ .string "x"
+ .byte 0x1
+ .byte 0x32
+ .long 0x2d
+ .byte 0x20
+ .byte 0xf5
+ .uleb128 0x11
+ .uleb128 0x2d
+ .byte 0xf5
+ .uleb128 0x12
+ .uleb128 0x2d
+ .byte 0x22
+ .byte 0xf4
+ .uleb128 0x2d
+ .byte 0x8
+ .long 0
+ .long 0x40080000
+ .byte 0x1c
+ .byte 0xf4
+ .uleb128 0x2d
+ .byte 0x8
+ .long 0x78b58c40
+ .long 0x4415af1d
+ .byte 0x22
+ .byte 0x9f
+ .uleb128 0x6
+ .string "y"
+ .byte 0x1
+ .byte 0x33
+ .long 0x2d
+ .byte 0x14
+ .byte 0xf5
+ .uleb128 0x13
+ .uleb128 0x2d
+ .byte 0xf4
+ .uleb128 0x2d
+ .byte 0x8
+ .long 0
+ .long 0x401c0000
+ .byte 0x1e
+ .byte 0xf5
+ .uleb128 0x12
+ .uleb128 0x2d
+ .byte 0x22
+ .byte 0x9f
+ .uleb128 0x6
+ .string "z"
+ .byte 0x1
+ .byte 0x34
+ .long 0x34
+ .byte 0x10
+ .byte 0xf5
+ .uleb128 0x14
+ .uleb128 0x34
+ .byte 0xf5
+ .uleb128 0x15
+ .uleb128 0x34
+ .byte 0x22
+ .byte 0xf4
+ .uleb128 0x34
+ .byte 0x4
+ .long 0x40400000
+ .byte 0x22
+ .byte 0x9f
+ .byte 0
+ .uleb128 0x4
+ .byte 0x1
+ .string "f3"
+ .byte 0x1
+ .byte 0x43
+ .byte 0x1
+ .quad .LFB2
+ .quad .LFE2
+ .byte 0x2
+ .byte 0x77
+ .sleb128 8
+ .byte 0x1
+ .long 0x4cd
+ .uleb128 0x5
+ .string "a"
+ .byte 0x1
+ .byte 0x43
+ .long 0x22b
+ .byte 0x1
+ .byte 0x55
+ .uleb128 0x5
+ .string "b"
+ .byte 0x1
+ .byte 0x43
+ .long 0x50
+ .byte 0x1
+ .byte 0x54
+ .uleb128 0x5
+ .string "c"
+ .byte 0x1
+ .byte 0x43
+ .long 0x22b
+ .byte 0x1
+ .byte 0x51
+ .uleb128 0x5
+ .string "d"
+ .byte 0x1
+ .byte 0x43
+ .long 0x49
+ .byte 0x1
+ .byte 0x52
+ .uleb128 0x6
+ .string "w"
+ .byte 0x1
+ .byte 0x45
+ .long 0x22b
+ .byte 0x14
+ .byte 0x72
+ .sleb128 0
+ .byte 0xc
+ .long 0xffffffff
+ .byte 0x1a
+ .byte 0x12
+ .byte 0x75
+ .sleb128 0
+ .byte 0x16
+ .byte 0x14
+ .byte 0x2b
+ .byte 0x28
+ .value 0x1
+ .byte 0x16
+ .byte 0x13
+ .byte 0x9f
+ .uleb128 0x6
+ .string "x"
+ .byte 0x1
+ .byte 0x46
+ .long 0x22b
+ .byte 0xe
+ .byte 0x74
+ .sleb128 0
+ .byte 0x8
+ .byte 0x20
+ .byte 0x24
+ .byte 0x8
+ .byte 0x20
+ .byte 0x26
+ .byte 0x75
+ .sleb128 0
+ .byte 0x22
+ .byte 0x23
+ .uleb128 0x7
+ .byte 0x9f
+ .uleb128 0x6
+ .string "y"
+ .byte 0x1
+ .byte 0x47
+ .long 0x22b
+ .byte 0x13
+ .byte 0x72
+ .sleb128 0
+ .byte 0xc
+ .long 0xffffffff
+ .byte 0x1a
+ .byte 0x71
+ .sleb128 0
+ .byte 0x22
+ .byte 0x23
+ .uleb128 0x912345678
+ .byte 0x9f
+ .uleb128 0x6
+ .string "z"
+ .byte 0x1
+ .byte 0x48
+ .long 0x50
+ .byte 0x21
+ .byte 0x74
+ .sleb128 0
+ .byte 0x8
+ .byte 0x20
+ .byte 0x24
+ .byte 0x8
+ .byte 0x20
+ .byte 0x26
+ .byte 0x75
+ .sleb128 0
+ .byte 0x22
+ .byte 0x23
+ .uleb128 0x7
+ .byte 0x72
+ .sleb128 0
+ .byte 0xc
+ .long 0xffffffff
+ .byte 0x1a
+ .byte 0x71
+ .sleb128 0
+ .byte 0x22
+ .byte 0x23
+ .uleb128 0x912345678
+ .byte 0x22
+ .byte 0x9f
+ .byte 0
+ .uleb128 0x4
+ .byte 0x1
+ .string "f4"
+ .byte 0x1
+ .byte 0x4d
+ .byte 0x1
+ .quad .LFB3
+ .quad .LFE3
+ .byte 0x2
+ .byte 0x77
+ .sleb128 8
+ .byte 0x1
+ .long 0x576
+ .uleb128 0x5
+ .string "a"
+ .byte 0x1
+ .byte 0x4d
+ .long 0x5e
+ .byte 0x1
+ .byte 0x61
+ .uleb128 0x5
+ .string "b"
+ .byte 0x1
+ .byte 0x4d
+ .long 0x57
+ .byte 0x1
+ .byte 0x62
+ .uleb128 0x5
+ .string "c"
+ .byte 0x1
+ .byte 0x4d
+ .long 0x65
+ .byte 0x1
+ .byte 0x63
+ .uleb128 0x6
+ .string "w"
+ .byte 0x1
+ .byte 0x4f
+ .long 0x5e
+ .byte 0x14
+ .byte 0xf5
+ .uleb128 0x11
+ .uleb128 0x5e
+ .byte 0xf4
+ .uleb128 0x5e
+ .byte 0x4
+ .long 0x32000050
+ .byte 0x1e
+ .byte 0xf4
+ .uleb128 0x5e
+ .byte 0x4
+ .long 0x3200003c
+ .byte 0x22
+ .byte 0x9f
+ .uleb128 0x6
+ .string "x"
+ .byte 0x1
+ .byte 0x50
+ .long 0x57
+ .byte 0x1c
+ .byte 0xf5
+ .uleb128 0x12
+ .uleb128 0x57
+ .byte 0xf4
+ .uleb128 0x57
+ .byte 0x8
+ .long 0x50
+ .long 0x31a00000
+ .byte 0x1b
+ .byte 0xf4
+ .uleb128 0x57
+ .byte 0x8
+ .long 0x3c
+ .long 0x31a00000
+ .byte 0x1c
+ .byte 0x9f
+ .uleb128 0x6
+ .string "y"
+ .byte 0x1
+ .byte 0x51
+ .long 0x65
+ .byte 0x19
+ .byte 0xf5
+ .uleb128 0x13
+ .uleb128 0x65
+ .byte 0x1f
+ .byte 0xf4
+ .uleb128 0x65
+ .byte 0x10
+ .long 0x50
+ .long 0
+ .long 0
+ .long 0x303e0000
+ .byte 0x1b
+ .byte 0x9f
+ .byte 0
+ .uleb128 0x7
+ .byte 0x1
+ .long .LASF13
+ .byte 0x1
+ .byte 0x56
+ .long 0x50
+ .quad .LFB4
+ .quad .LFE4
+ .long .LLST0
+ .byte 0x1
+ .long 0x6a1
+ .uleb128 0x8
+ .quad .LVL4
+ .long 0x6c
+ .long 0x604
+ .uleb128 0x9
+ .byte 0x1
+ .byte 0x61
+ .byte 0xb
+ .byte 0xf4
+ .uleb128 0x2d
+ .byte 0x8
+ .long 0
+ .long 0x3ff00000
+ .uleb128 0x9
+ .byte 0x1
+ .byte 0x62
+ .byte 0xb
+ .byte 0xf4
+ .uleb128 0x2d
+ .byte 0x8
+ .long 0
+ .long 0x40000000
+ .uleb128 0x9
+ .byte 0x1
+ .byte 0x63
+ .byte 0xb
+ .byte 0xf4
+ .uleb128 0x2d
+ .byte 0x8
+ .long 0
+ .long 0x40080000
+ .uleb128 0x9
+ .byte 0x1
+ .byte 0x64
+ .byte 0x7
+ .byte 0xf4
+ .uleb128 0x34
+ .byte 0x4
+ .long 0x40800000
+ .uleb128 0x9
+ .byte 0x1
+ .byte 0x65
+ .byte 0x7
+ .byte 0xf4
+ .uleb128 0x34
+ .byte 0x4
+ .long 0x40a00000
+ .uleb128 0x9
+ .byte 0x1
+ .byte 0x55
+ .byte 0x1
+ .byte 0x36
+ .uleb128 0x9
+ .byte 0x1
+ .byte 0x54
+ .byte 0x1
+ .byte 0x37
+ .uleb128 0x9
+ .byte 0x1
+ .byte 0x51
+ .byte 0x1
+ .byte 0x38
+ .uleb128 0x9
+ .byte 0x1
+ .byte 0x52
+ .byte 0x1
+ .byte 0x39
+ .byte 0
+ .uleb128 0x8
+ .quad .LVL5
+ .long 0x239
+ .long 0x66d
+ .uleb128 0x9
+ .byte 0x1
+ .byte 0x61
+ .byte 0xb
+ .byte 0xf4
+ .uleb128 0x2d
+ .byte 0x8
+ .long 0
+ .long 0x3ff00000
+ .uleb128 0x9
+ .byte 0x1
+ .byte 0x62
+ .byte 0xb
+ .byte 0xf4
+ .uleb128 0x2d
+ .byte 0x8
+ .long 0
+ .long 0x40000000
+ .uleb128 0x9
+ .byte 0x1
+ .byte 0x63
+ .byte 0xb
+ .byte 0xf4
+ .uleb128 0x2d
+ .byte 0x8
+ .long 0
+ .long 0x40080000
+ .uleb128 0x9
+ .byte 0x1
+ .byte 0x64
+ .byte 0x7
+ .byte 0xf4
+ .uleb128 0x34
+ .byte 0x4
+ .long 0x40800000
+ .uleb128 0x9
+ .byte 0x1
+ .byte 0x65
+ .byte 0x7
+ .byte 0xf4
+ .uleb128 0x34
+ .byte 0x4
+ .long 0x40a00000
+ .uleb128 0x9
+ .byte 0x1
+ .byte 0x55
+ .byte 0x1
+ .byte 0x36
+ .uleb128 0x9
+ .byte 0x1
+ .byte 0x54
+ .byte 0x1
+ .byte 0x37
+ .uleb128 0x9
+ .byte 0x1
+ .byte 0x51
+ .byte 0x1
+ .byte 0x38
+ .uleb128 0x9
+ .byte 0x1
+ .byte 0x52
+ .byte 0x1
+ .byte 0x39
+ .byte 0
+ .uleb128 0x8
+ .quad .LVL6
+ .long 0x402
+ .long 0x693
+ .uleb128 0x9
+ .byte 0x1
+ .byte 0x55
+ .byte 0x1
+ .byte 0x31
+ .uleb128 0x9
+ .byte 0x1
+ .byte 0x54
+ .byte 0x1
+ .byte 0x32
+ .uleb128 0x9
+ .byte 0x1
+ .byte 0x51
+ .byte 0x1
+ .byte 0x33
+ .uleb128 0x9
+ .byte 0x1
+ .byte 0x52
+ .byte 0x1
+ .byte 0x34
+ .byte 0
+ .uleb128 0xa
+ .quad .LVL7
+ .long 0x4cd
+ .byte 0
+ .uleb128 0xb
+ .string "vv"
+ .byte 0x1
+ .byte 0x5
+ .long 0x6ad
+ .byte 0x1
+ .byte 0x1
+ .uleb128 0xc
+ .long 0x50
+ .uleb128 0xd
+ .string "vv"
+ .byte 0x1
+ .byte 0x5
+ .long 0x6ad
+ .byte 0x1
+ .byte 0x9
+ .byte 0x3
+ .quad vv
+ .byte 0
+ .section .debug_abbrev,"",@progbits
+.Ldebug_abbrev0:
+ .uleb128 0x1
+ .uleb128 0x11
+ .byte 0x1
+ .uleb128 0x25
+ .uleb128 0xe
+ .uleb128 0x13
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x1b
+ .uleb128 0xe
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x12
+ .uleb128 0x1
+ .uleb128 0x10
+ .uleb128 0x6
+ .byte 0
+ .byte 0
+ .uleb128 0x2
+ .uleb128 0x24
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x3e
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0xe
+ .byte 0
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x24
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x3e
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0x8
+ .byte 0
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0xc
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x27
+ .uleb128 0xc
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x12
+ .uleb128 0x1
+ .uleb128 0x40
+ .uleb128 0xa
+ .uleb128 0x2117
+ .uleb128 0xc
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x5
+ .uleb128 0x5
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x2
+ .uleb128 0xa
+ .byte 0
+ .byte 0
+ .uleb128 0x6
+ .uleb128 0x34
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x2
+ .uleb128 0xa
+ .byte 0
+ .byte 0
+ .uleb128 0x7
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0xc
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x12
+ .uleb128 0x1
+ .uleb128 0x40
+ .uleb128 0x6
+ .uleb128 0x2117
+ .uleb128 0xc
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x8
+ .uleb128 0x4109
+ .byte 0x1
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x31
+ .uleb128 0x13
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x9
+ .uleb128 0x410a
+ .byte 0
+ .uleb128 0x2
+ .uleb128 0xa
+ .uleb128 0x2111
+ .uleb128 0xa
+ .byte 0
+ .byte 0
+ .uleb128 0xa
+ .uleb128 0x4109
+ .byte 0
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x31
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0x34
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x3f
+ .uleb128 0xc
+ .uleb128 0x3c
+ .uleb128 0xc
+ .byte 0
+ .byte 0
+ .uleb128 0xc
+ .uleb128 0x35
+ .byte 0
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0xd
+ .uleb128 0x34
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x3f
+ .uleb128 0xc
+ .uleb128 0x2
+ .uleb128 0xa
+ .byte 0
+ .byte 0
+ .byte 0
+ .section .debug_loc,"",@progbits
+.Ldebug_loc0:
+.LLST0:
+ .quad .LFB4-.Ltext0
+ .quad .LCFI0-.Ltext0
+ .value 0x2
+ .byte 0x77
+ .sleb128 8
+ .quad .LCFI0-.Ltext0
+ .quad .LCFI1-.Ltext0
+ .value 0x2
+ .byte 0x77
+ .sleb128 16
+ .quad .LCFI1-.Ltext0
+ .quad .LFE4-.Ltext0
+ .value 0x2
+ .byte 0x77
+ .sleb128 8
+ .quad 0
+ .quad 0
+ .section .debug_aranges,"",@progbits
+ .long 0x2c
+ .value 0x2
+ .long .Ldebug_info0
+ .byte 0x8
+ .byte 0
+ .value 0
+ .value 0
+ .quad .Ltext0
+ .quad .Letext0-.Ltext0
+ .quad 0
+ .quad 0
+ .section .debug_line,"",@progbits
+.Ldebug_line0:
+ .section .debug_str,"MS",@progbits,1
+.LASF4:
+ .string "unsigned int"
+.LASF6:
+ .string "_Decimal32"
+.LASF7:
+ .string "_Decimal128"
+.LASF2:
+ .string "long unsigned int"
+.LASF12:
+ .string "long long unsigned int"
+.LASF5:
+ .string "_Decimal64"
+.LASF13:
+ .string "main"
+.LASF3:
+ .string "long int"
+.LASF10:
+ .string "/tmp"
+.LASF0:
+ .string "double"
+.LASF11:
+ .string "long long int"
+.LASF1:
+ .string "float"
+.LASF8:
+ .string "GNU C 4.7.0 20110708 (experimental) [trunk revision 176048]"
+.LASF9:
+ .string "typeddwarf.c"
+ .ident "GCC: (GNU) 4.7.0 20110708 (experimental) [trunk revision 176048]"
+ .section .note.GNU-stack,"",@progbits
diff --git a/gdb/testsuite/gdb.dwarf2/typeddwarf.c b/gdb/testsuite/gdb.dwarf2/typeddwarf.c
index e5f7d67..40497da 100644
--- a/gdb/testsuite/gdb.dwarf2/typeddwarf.c
+++ b/gdb/testsuite/gdb.dwarf2/typeddwarf.c
@@ -25,7 +25,7 @@ f1 (double a, double b, double c, float d, float e, int f, unsigned int g, long
double w = d / 4.0; /* { dg-final { gdb-test 29 "w" "1" } } */
double x = a + b + 1.0; /* { dg-final { gdb-test 29 "x" "4" } } */
double y = b + c + 2.0; /* { dg-final { gdb-test 29 "y" "7" } } */
- float z = d + e + 3.0f; /* { dg-final { gdb-test 29 "z" "12" } } */
+ float z = d + e + 3.0f; /* { dg-final { xfail-gdb-test 29 "z" "12" "x86_64-*-*"} } */
vv++;
}
diff --git a/gdb/testsuite/gdb.dwarf2/typeddwarf.exp b/gdb/testsuite/gdb.dwarf2/typeddwarf.exp
index e6a420a..36a17e5 100644
--- a/gdb/testsuite/gdb.dwarf2/typeddwarf.exp
+++ b/gdb/testsuite/gdb.dwarf2/typeddwarf.exp
@@ -22,12 +22,16 @@ if ![dwarf2_support] {
return 0
}
-# This test can only be run on x86 targets.
-if { ![is_x86_like_target] } {
+# This test can only be run on x86 and amd64 targets.
+if { [is_x86_like_target] } {
+ set sfile ${test}.S
+} elseif {[istarget "x86_64-*-*"]} {
+ set sfile ${test}-amd64.S
+} else {
return 0
}
-if { [prepare_for_testing "${test}.exp" "${test}" ${test}.S {nodebug additional_flags=-nostdlib}] } {
+if { [prepare_for_testing "${test}.exp" "${test}" ${sfile} {nodebug additional_flags=-nostdlib}] } {
return -1
}
@@ -45,10 +49,19 @@ proc gdb-test {line var value} {
lappend tests($line) [list $var $value 0]
}
-proc xfail-gdb-test {line var value} {
+# Add an XFAIL'd test. If ARCH_PATTERN is given, and does not match
+# the target, then the test is simply added and not XFAIL'd.
+proc xfail-gdb-test {line var value {arch_pattern ""}} {
global tests
- lappend tests($line) [list $var $value 1]
+ set flag 1
+ if {$arch_pattern != ""} {
+ if {! [istarget $arch_pattern]} {
+ set flag 0
+ }
+ }
+
+ lappend tests($line) [list $var $value $flag]
}
proc scan_gdb_tests {} {