mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 20:14:06 +08:00
gdb/
* dwarf2loc.c (indirect_pieced_value): Use check_typedef for VALUE's type. gdb/testsuite/ * gdb.dwarf2/implptr.S: Rebuilt. * gdb.dwarf2/implptr.c (intp, intpp, intppp): New typedefs. (bar): Use them for j, k, l. * gdb.dwarf2/implptr.exp: New variable opts. Support runtest parameter COMPILE. (print j in implptr:bar): Update for the intp typedef. (print p[0].x in implptr:foo): Use more exact regex.
This commit is contained in:
parent
7e324e482f
commit
0e37a63c3c
@ -1,3 +1,8 @@
|
||||
2011-07-19 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* dwarf2loc.c (indirect_pieced_value): Use check_typedef for VALUE's
|
||||
type.
|
||||
|
||||
2011-07-19 Gary Benson <gbenson@redhat.com>
|
||||
|
||||
* infrun.c (struct execution_control_state): New member
|
||||
|
@ -967,7 +967,7 @@ indirect_pieced_value (struct value *value)
|
||||
struct value *result;
|
||||
LONGEST byte_offset;
|
||||
|
||||
type = value_type (value);
|
||||
type = check_typedef (value_type (value));
|
||||
if (TYPE_CODE (type) != TYPE_CODE_PTR)
|
||||
return NULL;
|
||||
|
||||
|
@ -1,3 +1,13 @@
|
||||
2011-07-19 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* gdb.dwarf2/implptr.S: Rebuilt.
|
||||
* gdb.dwarf2/implptr.c (intp, intpp, intppp): New typedefs.
|
||||
(bar): Use them for j, k, l.
|
||||
* gdb.dwarf2/implptr.exp: New variable opts. Support runtest parameter
|
||||
COMPILE.
|
||||
(print j in implptr:bar): Update for the intp typedef.
|
||||
(print p[0].x in implptr:foo): Use more exact regex.
|
||||
|
||||
2011-07-18 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* gdb.cp/static-method.exp: Add missing single quote.
|
||||
|
@ -6,7 +6,7 @@
|
||||
.type foo, @function
|
||||
foo:
|
||||
.LFB1:
|
||||
.file 1 "implptr.c"
|
||||
.file 1 "gdb.dwarf2/implptr.c"
|
||||
.loc 1 45 0
|
||||
.cfi_startproc
|
||||
.LVL0:
|
||||
@ -50,41 +50,44 @@ foo:
|
||||
.type bar, @function
|
||||
bar:
|
||||
.LFB2:
|
||||
.loc 1 57 0
|
||||
.loc 1 61 0
|
||||
.cfi_startproc
|
||||
.LVL7:
|
||||
.loc 1 61 0
|
||||
.loc 1 65 0
|
||||
movl 4(%esp), %eax
|
||||
addl $1, %eax
|
||||
.loc 1 63 0
|
||||
.loc 1 67 0
|
||||
ret
|
||||
.cfi_endproc
|
||||
.LFE2:
|
||||
.size bar, .-bar
|
||||
.section .text.startup,"ax",@progbits
|
||||
.p2align 4,,15
|
||||
.globl main
|
||||
.type main, @function
|
||||
main:
|
||||
.LFB3:
|
||||
.loc 1 66 0
|
||||
.loc 1 70 0
|
||||
.cfi_startproc
|
||||
pushl %ebx
|
||||
.cfi_def_cfa_offset 8
|
||||
.cfi_offset 3, -8
|
||||
subl $4, %esp
|
||||
.cfi_def_cfa_offset 12
|
||||
.loc 1 67 0
|
||||
.loc 1 71 0
|
||||
movl $5, (%esp)
|
||||
call bar
|
||||
.LVL8:
|
||||
movl $23, (%esp)
|
||||
movl %eax, %ebx
|
||||
call foo
|
||||
.loc 1 68 0
|
||||
.LVL9:
|
||||
.loc 1 72 0
|
||||
addl $4, %esp
|
||||
.cfi_def_cfa_offset 8
|
||||
.loc 1 67 0
|
||||
.loc 1 71 0
|
||||
addl %ebx, %eax
|
||||
.loc 1 68 0
|
||||
.loc 1 72 0
|
||||
popl %ebx
|
||||
.cfi_def_cfa_offset 4
|
||||
.cfi_restore 3
|
||||
@ -93,268 +96,268 @@ main:
|
||||
.LFE3:
|
||||
.size main, .-main
|
||||
.comm u,24,4
|
||||
.text
|
||||
.Letext0:
|
||||
.section .debug_types,"G",@progbits,wt.ade46b36db7edab6,comdat
|
||||
.long 0x46
|
||||
.section .debug_info,"",@progbits
|
||||
.Ldebug_info0:
|
||||
.long 0x217
|
||||
.value 0x4
|
||||
.long .Ldebug_abbrev0
|
||||
.byte 0x4
|
||||
.byte 0xad
|
||||
.byte 0xe4
|
||||
.byte 0x6b
|
||||
.byte 0x36
|
||||
.byte 0xdb
|
||||
.byte 0x7e
|
||||
.byte 0xda
|
||||
.byte 0xb6
|
||||
.long 0x1d
|
||||
.uleb128 0x1
|
||||
.long .LASF4
|
||||
.byte 0x1
|
||||
.long .LASF5
|
||||
.long .LASF6
|
||||
.long .Ldebug_ranges0+0
|
||||
.long 0
|
||||
.long .Ldebug_line0
|
||||
.uleb128 0x2
|
||||
.string "S"
|
||||
.byte 0x8
|
||||
.byte 0x1
|
||||
.byte 0x18
|
||||
.long 0x3c
|
||||
.long 0x44
|
||||
.uleb128 0x3
|
||||
.string "x"
|
||||
.byte 0x1
|
||||
.byte 0x1a
|
||||
.long 0x3c
|
||||
.long 0x44
|
||||
.byte 0
|
||||
.uleb128 0x3
|
||||
.string "y"
|
||||
.byte 0x1
|
||||
.byte 0x1a
|
||||
.long 0x42
|
||||
.long 0x4a
|
||||
.byte 0x4
|
||||
.byte 0
|
||||
.uleb128 0x4
|
||||
.byte 0x4
|
||||
.long 0x42
|
||||
.long 0x4a
|
||||
.uleb128 0x5
|
||||
.byte 0x4
|
||||
.byte 0x5
|
||||
.string "int"
|
||||
.byte 0
|
||||
.section .debug_info,"",@progbits
|
||||
.Ldebug_info0:
|
||||
.long 0x1b6
|
||||
.value 0x4
|
||||
.long .Ldebug_abbrev0
|
||||
.byte 0x4
|
||||
.uleb128 0x6
|
||||
.long .LASF0
|
||||
.byte 0x1
|
||||
.byte 0x37
|
||||
.long 0x44
|
||||
.uleb128 0x6
|
||||
.long .LASF1
|
||||
.byte 0x1
|
||||
.long .LASF2
|
||||
.long .LASF3
|
||||
.long .Ltext0
|
||||
.long .Letext0
|
||||
.long .Ldebug_line0
|
||||
.byte 0x38
|
||||
.long 0x67
|
||||
.uleb128 0x4
|
||||
.byte 0x4
|
||||
.long 0x2b
|
||||
.uleb128 0x5
|
||||
.long 0x51
|
||||
.uleb128 0x6
|
||||
.long .LASF2
|
||||
.byte 0x1
|
||||
.byte 0x39
|
||||
.long 0x78
|
||||
.uleb128 0x4
|
||||
.byte 0x4
|
||||
.byte 0x5
|
||||
.string "int"
|
||||
.long 0x5c
|
||||
.uleb128 0x7
|
||||
.string "add"
|
||||
.byte 0x1
|
||||
.byte 0x20
|
||||
.byte 0x3
|
||||
.long 0x5a
|
||||
.long 0xa6
|
||||
.uleb128 0x8
|
||||
.string "a"
|
||||
.byte 0x1
|
||||
.byte 0x20
|
||||
.long 0x5a
|
||||
.long 0xa6
|
||||
.uleb128 0x8
|
||||
.string "b"
|
||||
.byte 0x1
|
||||
.byte 0x20
|
||||
.long 0x5a
|
||||
.long 0xa6
|
||||
.uleb128 0x8
|
||||
.string "c"
|
||||
.byte 0x1
|
||||
.byte 0x20
|
||||
.long 0x2b
|
||||
.long 0x4a
|
||||
.byte 0
|
||||
.uleb128 0x9
|
||||
.uleb128 0x4
|
||||
.byte 0x4
|
||||
.byte 0xad
|
||||
.byte 0xe4
|
||||
.byte 0x6b
|
||||
.byte 0x36
|
||||
.byte 0xdb
|
||||
.byte 0x7e
|
||||
.byte 0xda
|
||||
.byte 0xb6
|
||||
.uleb128 0xa
|
||||
.long 0x25
|
||||
.uleb128 0x9
|
||||
.string "foo"
|
||||
.byte 0x1
|
||||
.byte 0x2c
|
||||
.long 0x2b
|
||||
.long 0x4a
|
||||
.long .LFB1
|
||||
.long .LFE1
|
||||
.uleb128 0x1
|
||||
.byte 0x9c
|
||||
.long 0xff
|
||||
.uleb128 0xb
|
||||
.long 0x147
|
||||
.uleb128 0xa
|
||||
.string "i"
|
||||
.byte 0x1
|
||||
.byte 0x2c
|
||||
.long 0x2b
|
||||
.long 0x4a
|
||||
.long .LLST0
|
||||
.uleb128 0xc
|
||||
.uleb128 0xb
|
||||
.string "j"
|
||||
.byte 0x1
|
||||
.byte 0x2e
|
||||
.long 0x2b
|
||||
.long 0x4a
|
||||
.long .LLST1
|
||||
.uleb128 0xc
|
||||
.uleb128 0xb
|
||||
.string "p"
|
||||
.byte 0x1
|
||||
.byte 0x2f
|
||||
.long 0xff
|
||||
.long 0x147
|
||||
.long .LLST2
|
||||
.uleb128 0xd
|
||||
.long 0x32
|
||||
.uleb128 0xc
|
||||
.long 0x7e
|
||||
.long .LBB6
|
||||
.long .LBE6
|
||||
.byte 0x1
|
||||
.byte 0x30
|
||||
.long 0xd3
|
||||
.uleb128 0xe
|
||||
.long 0x50
|
||||
.long 0x11b
|
||||
.uleb128 0xd
|
||||
.long 0x9c
|
||||
.byte 0
|
||||
.uleb128 0xf
|
||||
.long 0x47
|
||||
.uleb128 0xe
|
||||
.long 0x93
|
||||
.uleb128 0x6
|
||||
.byte 0xf2
|
||||
.long .Ldebug_info0+151
|
||||
.long .Ldebug_info0+223
|
||||
.sleb128 8
|
||||
.uleb128 0x10
|
||||
.long 0x3e
|
||||
.uleb128 0xf
|
||||
.long 0x8a
|
||||
.long .LLST3
|
||||
.byte 0
|
||||
.uleb128 0x11
|
||||
.long 0x32
|
||||
.uleb128 0x10
|
||||
.long 0x7e
|
||||
.long .LBB8
|
||||
.long .LBE8
|
||||
.byte 0x1
|
||||
.byte 0x33
|
||||
.uleb128 0xe
|
||||
.long 0x50
|
||||
.uleb128 0xd
|
||||
.long 0x9c
|
||||
.byte 0x3
|
||||
.uleb128 0xf
|
||||
.long 0x47
|
||||
.uleb128 0xe
|
||||
.long 0x93
|
||||
.uleb128 0x6
|
||||
.byte 0xf2
|
||||
.long .Ldebug_info0+151
|
||||
.long .Ldebug_info0+223
|
||||
.sleb128 8
|
||||
.uleb128 0x10
|
||||
.long 0x3e
|
||||
.uleb128 0xf
|
||||
.long 0x8a
|
||||
.long .LLST4
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x11
|
||||
.long 0x25
|
||||
.long 0x157
|
||||
.uleb128 0x12
|
||||
.byte 0xad
|
||||
.byte 0xe4
|
||||
.byte 0x6b
|
||||
.byte 0x36
|
||||
.byte 0xdb
|
||||
.byte 0x7e
|
||||
.byte 0xda
|
||||
.byte 0xb6
|
||||
.long 0x113
|
||||
.uleb128 0x13
|
||||
.long 0x113
|
||||
.long 0x157
|
||||
.byte 0x1
|
||||
.byte 0
|
||||
.uleb128 0x14
|
||||
.uleb128 0x13
|
||||
.byte 0x4
|
||||
.byte 0x7
|
||||
.long .LASF0
|
||||
.uleb128 0xa
|
||||
.long .LASF3
|
||||
.uleb128 0x9
|
||||
.string "bar"
|
||||
.byte 0x1
|
||||
.byte 0x38
|
||||
.long 0x2b
|
||||
.byte 0x3c
|
||||
.long 0x4a
|
||||
.long .LFB2
|
||||
.long .LFE2
|
||||
.uleb128 0x1
|
||||
.byte 0x9c
|
||||
.long 0x170
|
||||
.uleb128 0x15
|
||||
.long 0x1b4
|
||||
.uleb128 0x14
|
||||
.string "i"
|
||||
.byte 0x1
|
||||
.byte 0x38
|
||||
.long 0x2b
|
||||
.byte 0x3c
|
||||
.long 0x4a
|
||||
.uleb128 0x2
|
||||
.byte 0x91
|
||||
.sleb128 0
|
||||
.uleb128 0x16
|
||||
.uleb128 0x15
|
||||
.string "j"
|
||||
.byte 0x1
|
||||
.byte 0x3a
|
||||
.long 0x25
|
||||
.byte 0x3e
|
||||
.long 0x51
|
||||
.uleb128 0x6
|
||||
.byte 0xf2
|
||||
.long .Ldebug_info0+307
|
||||
.long .Ldebug_info0+375
|
||||
.sleb128 0
|
||||
.uleb128 0x16
|
||||
.uleb128 0x15
|
||||
.string "k"
|
||||
.byte 0x1
|
||||
.byte 0x3b
|
||||
.long 0x170
|
||||
.byte 0x3f
|
||||
.long 0x5c
|
||||
.uleb128 0x6
|
||||
.byte 0xf2
|
||||
.long .Ldebug_info0+319
|
||||
.long .Ldebug_info0+387
|
||||
.sleb128 0
|
||||
.uleb128 0x16
|
||||
.uleb128 0x15
|
||||
.string "l"
|
||||
.byte 0x1
|
||||
.byte 0x3c
|
||||
.long 0x176
|
||||
.byte 0x40
|
||||
.long 0x6d
|
||||
.uleb128 0x6
|
||||
.byte 0xf2
|
||||
.long .Ldebug_info0+335
|
||||
.long .Ldebug_info0+403
|
||||
.sleb128 0
|
||||
.byte 0
|
||||
.uleb128 0x4
|
||||
.byte 0x4
|
||||
.long 0x25
|
||||
.uleb128 0x4
|
||||
.byte 0x4
|
||||
.long 0x170
|
||||
.uleb128 0x17
|
||||
.long .LASF4
|
||||
.uleb128 0x16
|
||||
.long .LASF7
|
||||
.byte 0x1
|
||||
.byte 0x41
|
||||
.long 0x2b
|
||||
.byte 0x45
|
||||
.long 0x4a
|
||||
.long .LFB3
|
||||
.long .LFE3
|
||||
.uleb128 0x1
|
||||
.byte 0x9c
|
||||
.long 0x1f2
|
||||
.uleb128 0x17
|
||||
.long .LVL8
|
||||
.long 0x15e
|
||||
.long 0x1e1
|
||||
.uleb128 0x18
|
||||
.long 0x2b
|
||||
.long 0x1a1
|
||||
.uleb128 0x13
|
||||
.long 0x113
|
||||
.byte 0x5
|
||||
.uleb128 0x2
|
||||
.byte 0x74
|
||||
.sleb128 0
|
||||
.uleb128 0x1
|
||||
.byte 0x35
|
||||
.byte 0
|
||||
.uleb128 0x19
|
||||
.string "u"
|
||||
.byte 0x1
|
||||
.byte 0x1d
|
||||
.long 0x191
|
||||
.long .LVL9
|
||||
.long 0xac
|
||||
.uleb128 0x18
|
||||
.uleb128 0x2
|
||||
.byte 0x74
|
||||
.sleb128 0
|
||||
.uleb128 0x1
|
||||
.byte 0x47
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x11
|
||||
.long 0x4a
|
||||
.long 0x202
|
||||
.uleb128 0x12
|
||||
.long 0x157
|
||||
.byte 0x5
|
||||
.byte 0
|
||||
.uleb128 0x1a
|
||||
.string "u"
|
||||
.byte 0x1
|
||||
.byte 0x1d
|
||||
.long 0x191
|
||||
.long 0x1f2
|
||||
.uleb128 0x1b
|
||||
.string "u"
|
||||
.byte 0x1
|
||||
.byte 0x1d
|
||||
.long 0x1f2
|
||||
.uleb128 0x5
|
||||
.byte 0x3
|
||||
.long u
|
||||
@ -362,10 +365,20 @@ main:
|
||||
.section .debug_abbrev,"",@progbits
|
||||
.Ldebug_abbrev0:
|
||||
.uleb128 0x1
|
||||
.uleb128 0x41
|
||||
.uleb128 0x11
|
||||
.byte 0x1
|
||||
.uleb128 0x25
|
||||
.uleb128 0xe
|
||||
.uleb128 0x13
|
||||
.uleb128 0xb
|
||||
.uleb128 0x3
|
||||
.uleb128 0xe
|
||||
.uleb128 0x1b
|
||||
.uleb128 0xe
|
||||
.uleb128 0x55
|
||||
.uleb128 0x17
|
||||
.uleb128 0x11
|
||||
.uleb128 0x1
|
||||
.uleb128 0x10
|
||||
.uleb128 0x17
|
||||
.byte 0
|
||||
@ -421,22 +434,16 @@ main:
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x6
|
||||
.uleb128 0x11
|
||||
.byte 0x1
|
||||
.uleb128 0x25
|
||||
.uleb128 0xe
|
||||
.uleb128 0x13
|
||||
.uleb128 0xb
|
||||
.uleb128 0x16
|
||||
.byte 0
|
||||
.uleb128 0x3
|
||||
.uleb128 0xe
|
||||
.uleb128 0x1b
|
||||
.uleb128 0xe
|
||||
.uleb128 0x11
|
||||
.uleb128 0x1
|
||||
.uleb128 0x12
|
||||
.uleb128 0x1
|
||||
.uleb128 0x10
|
||||
.uleb128 0x17
|
||||
.uleb128 0x3a
|
||||
.uleb128 0xb
|
||||
.uleb128 0x3b
|
||||
.uleb128 0xb
|
||||
.uleb128 0x49
|
||||
.uleb128 0x13
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x7
|
||||
@ -470,15 +477,6 @@ main:
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x9
|
||||
.uleb128 0xf
|
||||
.byte 0
|
||||
.uleb128 0xb
|
||||
.uleb128 0xb
|
||||
.uleb128 0x49
|
||||
.uleb128 0x20
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0xa
|
||||
.uleb128 0x2e
|
||||
.byte 0x1
|
||||
.uleb128 0x3f
|
||||
@ -499,11 +497,13 @@ main:
|
||||
.uleb128 0x1
|
||||
.uleb128 0x40
|
||||
.uleb128 0x18
|
||||
.uleb128 0x2117
|
||||
.uleb128 0x19
|
||||
.uleb128 0x1
|
||||
.uleb128 0x13
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0xb
|
||||
.uleb128 0xa
|
||||
.uleb128 0x5
|
||||
.byte 0
|
||||
.uleb128 0x3
|
||||
@ -518,22 +518,22 @@ main:
|
||||
.uleb128 0x17
|
||||
.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 0x2
|
||||
.uleb128 0x17
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0xc
|
||||
.uleb128 0x34
|
||||
.byte 0
|
||||
.uleb128 0x3
|
||||
.uleb128 0x8
|
||||
.uleb128 0x3a
|
||||
.uleb128 0xb
|
||||
.uleb128 0x3b
|
||||
.uleb128 0xb
|
||||
.uleb128 0x49
|
||||
.uleb128 0x13
|
||||
.uleb128 0x2
|
||||
.uleb128 0x17
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0xd
|
||||
.uleb128 0x1d
|
||||
.byte 0x1
|
||||
.uleb128 0x31
|
||||
@ -550,7 +550,7 @@ main:
|
||||
.uleb128 0x13
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0xe
|
||||
.uleb128 0xd
|
||||
.uleb128 0x5
|
||||
.byte 0
|
||||
.uleb128 0x31
|
||||
@ -559,7 +559,7 @@ main:
|
||||
.uleb128 0xb
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0xf
|
||||
.uleb128 0xe
|
||||
.uleb128 0x5
|
||||
.byte 0
|
||||
.uleb128 0x31
|
||||
@ -568,7 +568,7 @@ main:
|
||||
.uleb128 0x18
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x10
|
||||
.uleb128 0xf
|
||||
.uleb128 0x5
|
||||
.byte 0
|
||||
.uleb128 0x31
|
||||
@ -577,7 +577,7 @@ main:
|
||||
.uleb128 0x17
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x11
|
||||
.uleb128 0x10
|
||||
.uleb128 0x1d
|
||||
.byte 0x1
|
||||
.uleb128 0x31
|
||||
@ -592,16 +592,16 @@ main:
|
||||
.uleb128 0xb
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x12
|
||||
.uleb128 0x11
|
||||
.uleb128 0x1
|
||||
.byte 0x1
|
||||
.uleb128 0x49
|
||||
.uleb128 0x20
|
||||
.uleb128 0x13
|
||||
.uleb128 0x1
|
||||
.uleb128 0x13
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x13
|
||||
.uleb128 0x12
|
||||
.uleb128 0x21
|
||||
.byte 0
|
||||
.uleb128 0x49
|
||||
@ -610,7 +610,7 @@ main:
|
||||
.uleb128 0xb
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x14
|
||||
.uleb128 0x13
|
||||
.uleb128 0x24
|
||||
.byte 0
|
||||
.uleb128 0xb
|
||||
@ -621,7 +621,7 @@ main:
|
||||
.uleb128 0xe
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x15
|
||||
.uleb128 0x14
|
||||
.uleb128 0x5
|
||||
.byte 0
|
||||
.uleb128 0x3
|
||||
@ -636,24 +636,24 @@ main:
|
||||
.uleb128 0x18
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x15
|
||||
.uleb128 0x34
|
||||
.byte 0
|
||||
.uleb128 0x3
|
||||
.uleb128 0x8
|
||||
.uleb128 0x3a
|
||||
.uleb128 0xb
|
||||
.uleb128 0x3b
|
||||
.uleb128 0xb
|
||||
.uleb128 0x49
|
||||
.uleb128 0x13
|
||||
.uleb128 0x2
|
||||
.uleb128 0x18
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x16
|
||||
.uleb128 0x34
|
||||
.byte 0
|
||||
.uleb128 0x3
|
||||
.uleb128 0x8
|
||||
.uleb128 0x3a
|
||||
.uleb128 0xb
|
||||
.uleb128 0x3b
|
||||
.uleb128 0xb
|
||||
.uleb128 0x49
|
||||
.uleb128 0x13
|
||||
.uleb128 0x2
|
||||
.uleb128 0x18
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x17
|
||||
.uleb128 0x2e
|
||||
.byte 0
|
||||
.byte 0x1
|
||||
.uleb128 0x3f
|
||||
.uleb128 0x19
|
||||
.uleb128 0x3
|
||||
@ -670,18 +670,42 @@ main:
|
||||
.uleb128 0x1
|
||||
.uleb128 0x40
|
||||
.uleb128 0x18
|
||||
.uleb128 0x2117
|
||||
.uleb128 0x19
|
||||
.uleb128 0x1
|
||||
.uleb128 0x13
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x17
|
||||
.uleb128 0x4109
|
||||
.byte 0x1
|
||||
.uleb128 0x11
|
||||
.uleb128 0x1
|
||||
.uleb128 0x31
|
||||
.uleb128 0x13
|
||||
.uleb128 0x1
|
||||
.uleb128 0x13
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x18
|
||||
.uleb128 0x1
|
||||
.byte 0x1
|
||||
.uleb128 0x49
|
||||
.uleb128 0x13
|
||||
.uleb128 0x1
|
||||
.uleb128 0x13
|
||||
.uleb128 0x410a
|
||||
.byte 0
|
||||
.uleb128 0x2
|
||||
.uleb128 0x18
|
||||
.uleb128 0x2111
|
||||
.uleb128 0x18
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x19
|
||||
.uleb128 0x4109
|
||||
.byte 0x1
|
||||
.uleb128 0x11
|
||||
.uleb128 0x1
|
||||
.uleb128 0x31
|
||||
.uleb128 0x13
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x1a
|
||||
.uleb128 0x34
|
||||
.byte 0
|
||||
.uleb128 0x3
|
||||
@ -698,7 +722,7 @@ main:
|
||||
.uleb128 0x19
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x1a
|
||||
.uleb128 0x1b
|
||||
.uleb128 0x34
|
||||
.byte 0
|
||||
.uleb128 0x3
|
||||
@ -719,13 +743,13 @@ main:
|
||||
.section .debug_loc,"",@progbits
|
||||
.Ldebug_loc0:
|
||||
.LLST0:
|
||||
.long .LVL0-.Ltext0
|
||||
.long .LVL1-.Ltext0
|
||||
.long .LVL0
|
||||
.long .LVL1
|
||||
.value 0x2
|
||||
.byte 0x91
|
||||
.sleb128 0
|
||||
.long .LVL1-.Ltext0
|
||||
.long .LFE1-.Ltext0
|
||||
.long .LVL1
|
||||
.long .LFE1
|
||||
.value 0x6
|
||||
.byte 0x91
|
||||
.sleb128 0
|
||||
@ -736,13 +760,13 @@ main:
|
||||
.long 0
|
||||
.long 0
|
||||
.LLST1:
|
||||
.long .LVL1-.Ltext0
|
||||
.long .LVL4-.Ltext0
|
||||
.long .LVL1
|
||||
.long .LVL4
|
||||
.value 0x2
|
||||
.byte 0x91
|
||||
.sleb128 0
|
||||
.long .LVL4-.Ltext0
|
||||
.long .LFE1-.Ltext0
|
||||
.long .LVL4
|
||||
.long .LFE1
|
||||
.value 0x6
|
||||
.byte 0x91
|
||||
.sleb128 0
|
||||
@ -753,11 +777,11 @@ main:
|
||||
.long 0
|
||||
.long 0
|
||||
.LLST2:
|
||||
.long .LVL1-.Ltext0
|
||||
.long .LVL4-.Ltext0
|
||||
.long .LVL1
|
||||
.long .LVL4
|
||||
.value 0x20
|
||||
.byte 0xf2
|
||||
.long .Ldebug_info0+125
|
||||
.long .Ldebug_info0+197
|
||||
.sleb128 0
|
||||
.byte 0x93
|
||||
.uleb128 0x4
|
||||
@ -770,7 +794,7 @@ main:
|
||||
.byte 0x93
|
||||
.uleb128 0x4
|
||||
.byte 0xf2
|
||||
.long .Ldebug_info0+138
|
||||
.long .Ldebug_info0+210
|
||||
.sleb128 0
|
||||
.byte 0x93
|
||||
.uleb128 0x4
|
||||
@ -782,11 +806,11 @@ main:
|
||||
.byte 0x9f
|
||||
.byte 0x93
|
||||
.uleb128 0x4
|
||||
.long .LVL4-.Ltext0
|
||||
.long .LFE1-.Ltext0
|
||||
.long .LVL4
|
||||
.long .LFE1
|
||||
.value 0x20
|
||||
.byte 0xf2
|
||||
.long .Ldebug_info0+138
|
||||
.long .Ldebug_info0+210
|
||||
.sleb128 0
|
||||
.byte 0x93
|
||||
.uleb128 0x4
|
||||
@ -799,7 +823,7 @@ main:
|
||||
.byte 0x93
|
||||
.uleb128 0x4
|
||||
.byte 0xf2
|
||||
.long .Ldebug_info0+125
|
||||
.long .Ldebug_info0+197
|
||||
.sleb128 0
|
||||
.byte 0x93
|
||||
.uleb128 0x4
|
||||
@ -814,47 +838,47 @@ main:
|
||||
.long 0
|
||||
.long 0
|
||||
.LLST3:
|
||||
.long .LVL1-.Ltext0
|
||||
.long .LVL2-.Ltext0
|
||||
.long .LVL1
|
||||
.long .LVL2
|
||||
.value 0x6
|
||||
.byte 0xf2
|
||||
.long .Ldebug_info0+151
|
||||
.long .Ldebug_info0+223
|
||||
.sleb128 0
|
||||
.long .LVL2-.Ltext0
|
||||
.long .LVL3-.Ltext0
|
||||
.long .LVL2
|
||||
.long .LVL3
|
||||
.value 0x2
|
||||
.byte 0x30
|
||||
.byte 0x9f
|
||||
.long .LVL3-.Ltext0
|
||||
.long .LFE1-.Ltext0
|
||||
.long .LVL3
|
||||
.long .LFE1
|
||||
.value 0x6
|
||||
.byte 0xf2
|
||||
.long .Ldebug_info0+151
|
||||
.long .Ldebug_info0+223
|
||||
.sleb128 8
|
||||
.long 0
|
||||
.long 0
|
||||
.LLST4:
|
||||
.long .LVL4-.Ltext0
|
||||
.long .LVL5-.Ltext0
|
||||
.long .LVL4
|
||||
.long .LVL5
|
||||
.value 0x6
|
||||
.byte 0xf2
|
||||
.long .Ldebug_info0+151
|
||||
.long .Ldebug_info0+223
|
||||
.sleb128 0
|
||||
.long .LVL5-.Ltext0
|
||||
.long .LVL6-.Ltext0
|
||||
.long .LVL5
|
||||
.long .LVL6
|
||||
.value 0x2
|
||||
.byte 0x30
|
||||
.byte 0x9f
|
||||
.long .LVL6-.Ltext0
|
||||
.long .LFE1-.Ltext0
|
||||
.long .LVL6
|
||||
.long .LFE1
|
||||
.value 0x6
|
||||
.byte 0xf2
|
||||
.long .Ldebug_info0+151
|
||||
.long .Ldebug_info0+223
|
||||
.sleb128 8
|
||||
.long 0
|
||||
.long 0
|
||||
.section .debug_aranges,"",@progbits
|
||||
.long 0x1c
|
||||
.long 0x24
|
||||
.value 0x2
|
||||
.long .Ldebug_info0
|
||||
.byte 0x4
|
||||
@ -863,20 +887,36 @@ main:
|
||||
.value 0
|
||||
.long .Ltext0
|
||||
.long .Letext0-.Ltext0
|
||||
.long .LFB3
|
||||
.long .LFE3-.LFB3
|
||||
.long 0
|
||||
.long 0
|
||||
.section .debug_ranges,"",@progbits
|
||||
.Ldebug_ranges0:
|
||||
.long .Ltext0
|
||||
.long .Letext0
|
||||
.long .LFB3
|
||||
.long .LFE3
|
||||
.long 0
|
||||
.long 0
|
||||
.section .debug_line,"",@progbits
|
||||
.Ldebug_line0:
|
||||
.section .debug_str,"MS",@progbits,1
|
||||
.LASF0:
|
||||
.string "unsigned int"
|
||||
.LASF5:
|
||||
.string "gdb.dwarf2/implptr.c"
|
||||
.LASF6:
|
||||
.string ""
|
||||
.LASF3:
|
||||
.string "/home/tromey/gnu/archer/archer/gdb/testsuite/gdb.dwarf2"
|
||||
.LASF4:
|
||||
.string "unsigned int"
|
||||
.LASF7:
|
||||
.string "main"
|
||||
.LASF2:
|
||||
.string "implptr.c"
|
||||
.string "intppp"
|
||||
.LASF4:
|
||||
.string "GNU C 4.6.1 20110627 (Red Hat 4.6.1-1)"
|
||||
.LASF0:
|
||||
.string "intp"
|
||||
.LASF1:
|
||||
.string "GNU C 4.6.0 20101116 (experimental) [trunk revision 166803]"
|
||||
.ident "GCC: (GNU) 4.6.0 20101116 (experimental) [trunk revision 166803]"
|
||||
.string "intpp"
|
||||
.ident "GCC: (GNU) 4.6.1 20110627 (Red Hat 4.6.1-1)"
|
||||
.section .note.GNU-stack,"",@progbits
|
||||
|
@ -52,12 +52,16 @@ foo (int i)
|
||||
return i + j; /* foo breakpoint */
|
||||
}
|
||||
|
||||
typedef int *intp;
|
||||
typedef intp *intpp;
|
||||
typedef intpp *intppp;
|
||||
|
||||
int __attribute__ ((noinline, used, noclone))
|
||||
bar (int i)
|
||||
{
|
||||
int *j = &i;
|
||||
int **k = &j;
|
||||
int ***l = &k;
|
||||
intp j = &i;
|
||||
intpp k = &j;
|
||||
intppp l = &k;
|
||||
i++; /* bar breakpoint */
|
||||
return i;
|
||||
}
|
||||
|
@ -20,17 +20,23 @@ load_lib dwarf.exp
|
||||
if {![dwarf2_support]} {
|
||||
return 0
|
||||
}
|
||||
# This test can only be run on x86 targets.
|
||||
if {![is_x86_like_target]} {
|
||||
return 0
|
||||
}
|
||||
|
||||
set testfile "implptr"
|
||||
set srcfile ${testfile}.S
|
||||
set csrcfile ${testfile}.c
|
||||
set binfile ${objdir}/${subdir}/${testfile}.x
|
||||
set opts {}
|
||||
|
||||
if {[prepare_for_testing ${testfile}.exp ${testfile}.x $srcfile]} {
|
||||
if [info exists COMPILE] {
|
||||
# make check RUNTESTFLAGS='gdb.dwarf2/implptr.exp COMPILE=1 CC_FOR_TARGET=gcc\ -m32'
|
||||
set srcfile ${csrcfile}
|
||||
lappend opts debug optimize=-O2
|
||||
} elseif {![is_x86_like_target]} {
|
||||
# This test can only be run on x86 targets.
|
||||
return 0
|
||||
}
|
||||
|
||||
if {[prepare_for_testing ${testfile}.exp ${testfile}.x $srcfile $opts]} {
|
||||
return -1
|
||||
}
|
||||
|
||||
@ -45,7 +51,7 @@ proc implptr_test_bar {} {
|
||||
gdb_test "break implptr.c:$line" "Breakpoint 2.*" \
|
||||
"set bar breakpoint for implptr"
|
||||
gdb_continue_to_breakpoint "continue to bar breakpoint for implptr"
|
||||
gdb_test "print j" " = .int .. <synthetic pointer>" "print j in implptr:bar"
|
||||
gdb_test "print j" " = \\(intp\\) <synthetic pointer>" "print j in implptr:bar"
|
||||
gdb_test "print *j" " = 5" "print *j in implptr:bar"
|
||||
gdb_test "print **k" " = 5" "print **k in implptr:bar"
|
||||
gdb_test "print ***l" " = 5" "print ***l in implptr:bar"
|
||||
@ -58,7 +64,7 @@ proc implptr_test_foo {} {
|
||||
gdb_test "break implptr.c:$line" "Breakpoint 3.*" \
|
||||
"set foo breakpoint for implptr"
|
||||
gdb_continue_to_breakpoint "continue to foo breakpoint for implptr"
|
||||
gdb_test "print p\[0].x" " = .int .. <synthetic pointer>" \
|
||||
gdb_test "print p\[0].x" " = \\(int \\*\\) <synthetic pointer>" \
|
||||
"print p\[0].x in implptr:foo"
|
||||
gdb_test "print *p\[0].x" " = 69" \
|
||||
"print *p\[0].x in implptr:foo"
|
||||
|
Loading…
Reference in New Issue
Block a user