diff options
author | Tom Tromey <tromey@redhat.com> | 2011-07-22 15:31:52 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2011-07-22 15:31:52 +0000 |
commit | 3543a589b22f9e26af4f71ce737dd9aae3410fda (patch) | |
tree | 527a7e87e1d9ae26fba99eb127227758a70c4fe4 /gdb/testsuite | |
parent | 26ac12805d14072ea51a3e880e7ef1718f9b8d7b (diff) | |
download | gdb-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/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/testsuite/gdb.dwarf2/typeddwarf-amd64.S | 1568 | ||||
-rw-r--r-- | gdb/testsuite/gdb.dwarf2/typeddwarf.c | 2 | ||||
-rw-r--r-- | gdb/testsuite/gdb.dwarf2/typeddwarf.exp | 23 |
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 {} { |