From: Tom de Vries <tdevries@suse.de>
To: gdb-patches@sourceware.org
Subject: [committed][gdb/testsuite] Fix gdb.arch/amd64-tailcall-self.S
Date: Thu, 09 May 2019 10:25:00 -0000 [thread overview]
Message-ID: <20190509102544.GA14152@delia> (raw)
Hi,
The test-case gdb.arch/amd64-tailcall-self.exp fails here:
...
if ![runto b] {
return -1
}
...
like:
...
(gdb) file build/gdb/testsuite/outputs/gdb.arch/amd64-tailcall-self/\
amd64-tailcall-self
Reading symbols from build/gdb/testsuite/outputs/gdb.arch/\
amd64-tailcall-self/amd64-tailcall-self...
Dwarf Error: Cannot find DIE at 0x1f5 referenced from DIE at 0x107 [in \
module build/gdb/testsuite/outputs/gdb.arch/amd64-tailcall-self/\
amd64-tailcall-self]
...
The problem is that in amd64-tailcall-self.S, CU-relative references are
assigned .debug_info section relative values. [ This is similar to the
problem fixed by "Fix gdb.arch/amd64-entry-value-paramref.S". ]
Fix this by assigning CU-relative references instead.
Tested on x86_64-linux.
Committed to trunk.
Thanks,
- Tom
[gdb/testsuite] Fix gdb.arch/amd64-tailcall-self.S
gdb/testsuite/ChangeLog:
2019-05-09 Tom de Vries <tdevries@suse.de>
* gdb.arch/amd64-tailcall-self.S: Make DW_FORM_ref4 references
CU-relative.
---
gdb/testsuite/gdb.arch/amd64-tailcall-self.S | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/gdb/testsuite/gdb.arch/amd64-tailcall-self.S b/gdb/testsuite/gdb.arch/amd64-tailcall-self.S
index de5979598d..0dce7e21d5 100644
--- a/gdb/testsuite/gdb.arch/amd64-tailcall-self.S
+++ b/gdb/testsuite/gdb.arch/amd64-tailcall-self.S
@@ -209,7 +209,7 @@ die29:
.byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
.byte 0x7 # DW_AT_decl_line
# DW_AT_prototyped
- .long die6b # DW_AT_type
+ .long die6b - .Ldebug_info0 # DW_AT_type
.quad .LFB1 # DW_AT_low_pc
.quad .LFE1-.LFB1 # DW_AT_high_pc
.uleb128 0x1 # DW_AT_frame_base
@@ -219,7 +219,7 @@ die29:
.ascii "q\0" # DW_AT_name
.byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
.byte 0x7 # DW_AT_decl_line
- .long die6b # DW_AT_type
+ .long die6b - .Ldebug_info0 # DW_AT_type
.uleb128 0x1 # DW_AT_location
.byte 0x55 # DW_OP_reg5
.byte 0 # end of children of DIE 0x40
@@ -244,7 +244,7 @@ die72:
.ascii "q\0" # DW_AT_name
.byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
.byte 0xb # DW_AT_decl_line
- .long die6b # DW_AT_type
+ .long die6b - .Ldebug_info0 # DW_AT_type
.uleb128 0x4 # DW_AT_location
.byte 0xf3 # DW_OP_GNU_entry_value
.uleb128 0x1
@@ -253,11 +253,11 @@ die72:
.uleb128 0x7 # (DIE () DW_TAG_GNU_call_site)
.quad .Lfirsttailcall # DW_AT_low_pc
# DW_AT_GNU_tail_call
- .long die72 # DW_AT_abstract_origin
+ .long die72 - .Ldebug_info0 # DW_AT_abstract_origin
.uleb128 0x7 # (DIE (0x9b) DW_TAG_GNU_call_site)
.quad .LVL2 # DW_AT_low_pc
# DW_AT_GNU_tail_call
- .long die29 # DW_AT_abstract_origin
+ .long die29 - .Ldebug_info0 # DW_AT_abstract_origin
.byte 0 # end of children of DIE 0x72
.uleb128 0x8 # (DIE (0xa9) DW_TAG_subprogram)
# DW_AT_external
@@ -265,7 +265,7 @@ die72:
.byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
.byte 0x14 # DW_AT_decl_line
# DW_AT_prototyped
- .long die6b # DW_AT_type
+ .long die6b - .Ldebug_info0 # DW_AT_type
.quad .LFB3 # DW_AT_low_pc
.quad .LFE3-.LFB3 # DW_AT_high_pc
.uleb128 0x1 # DW_AT_frame_base
@@ -275,17 +275,17 @@ die72:
.long .LASF1 # DW_AT_name: "argc"
.byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
.byte 0x14 # DW_AT_decl_line
- .long die6b # DW_AT_type
+ .long die6b - .Ldebug_info0 # DW_AT_type
.long .LLST0 # DW_AT_location
.uleb128 0x9 # (DIE (0xd9) DW_TAG_formal_parameter)
.long .LASF2 # DW_AT_name: "argv"
.byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
.byte 0x14 # DW_AT_decl_line
- .long diefe # DW_AT_type
+ .long diefe - .Ldebug_info0 # DW_AT_type
.long .LLST1 # DW_AT_location
.uleb128 0xa # (DIE (0xe8) DW_TAG_GNU_call_site)
.quad .LVL4 # DW_AT_low_pc
- .long die72 # DW_AT_abstract_origin
+ .long die72 - .Ldebug_info0 # DW_AT_abstract_origin
.uleb128 0xb # (DIE (0xf5) DW_TAG_GNU_call_site_parameter)
.uleb128 0x1 # DW_AT_location
.byte 0x55 # DW_OP_reg5
@@ -298,11 +298,11 @@ die72:
diefe:
.uleb128 0xc # (DIE (0xfe) DW_TAG_pointer_type)
.byte 0x8 # DW_AT_byte_size
- .long die104 # DW_AT_type
+ .long die104 - .Ldebug_info0 # DW_AT_type
die104:
.uleb128 0xc # (DIE (0x104) DW_TAG_pointer_type)
.byte 0x8 # DW_AT_byte_size
- .long die10a # DW_AT_type
+ .long die10a - .Ldebug_info0 # DW_AT_type
die10a:
.uleb128 0xd # (DIE (0x10a) DW_TAG_base_type)
.byte 0x1 # DW_AT_byte_size
@@ -312,7 +312,7 @@ die10a:
.ascii "i\0" # DW_AT_name
.byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
.byte 0x5 # DW_AT_decl_line
- .long die6b # DW_AT_type
+ .long die6b - .Ldebug_info0 # DW_AT_type
# DW_AT_external
.uleb128 0x9 # DW_AT_location
.byte 0x3 # DW_OP_addr
reply other threads:[~2019-05-09 10:25 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190509102544.GA14152@delia \
--to=tdevries@suse.de \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox