From: Simon Marchi <simark@simark.ca>
To: Weimin Pan <weimin.pan@oracle.com>, gdb-patches@sourceware.org
Subject: Re: [PATCH v2] gdb: CTF support
Date: Sat, 21 Sep 2019 22:21:00 -0000 [thread overview]
Message-ID: <dc411e3d-821b-cc02-57c7-3c055ead3a7f@simark.ca> (raw)
In-Reply-To: <1564530195-27659-1-git-send-email-weimin.pan@oracle.com>
Hi Weimin,
I'd like to give this a try and review this, but I hit a wall. I compiled
gcc with this patch series (v5) applied:
https://gcc.gnu.org/ml/gcc-patches/2019-09/msg00457.html
I am able to compile a simple .c file with -gt, and the resulting
binary contains a .ctf section. But when loading the file in GDB,
I get this:
(gdb) file a.out
Reading symbols from a.out...
ctf_bfdopen failed on /home/simark/build/binutils-gdb/gdb/a.out - File data structure corruption detected
The error occurs in ctf_bufopen, at line 1294:
1294 if (hp.cth_lbloff > hp.cth_objtoff
1295 || hp.cth_objtoff > hp.cth_funcoff
1296 || hp.cth_funcoff > hp.cth_typeoff
1297 || hp.cth_funcoff > hp.cth_varoff
1298 || hp.cth_varoff > hp.cth_typeoff || hp.cth_typeoff > hp.cth_stroff)
1299 return (ctf_set_open_errno (errp, ECTF_CORRUPT));
`hp` is:
$10 = {
cth_preamble = {
ctp_magic = 57330,
ctp_version = 4 '\004',
ctp_flags = 0 '\000'
},
cth_parlabel = 0,
cth_parname = 0,
cth_lbloff = 10,
cth_objtoff = 0,
cth_funcoff = 0,
cth_varoff = 0,
cth_typeoff = 12,
cth_stroff = 12,
cth_strlen = 16
}
The program I compiled is:
int main() {
return 2;
}
compiled with:
/data/scratch/gcc-install/bin/gcc test.c -gt -O0
On 2019-07-30 7:43 p.m., Weimin Pan wrote:
> [Changes from v1:
> - Add libctf dependencies in Makefile.def and Makefile.in.
> - Use type-safe registry API for per-objfile data ctf_tid_key.
> - Replace buildsym-legacy.h with buildsym.h.
> - Use xcalloc/xfree to allocate hash tables.
> - Use get_global_symbols() instead of get_file_symbols() to add symbols.
> - Rename gdb/ctf.h to /gdb/tracectf.h.]
Could you please rename ctf.c to tracectf.c as well? It's much easier when the
corresponding .c and .h are named the same way. I'd also like if you did that
renaming it a separate, preparatory patch, just to keep each patch focused.
Simon
next prev parent reply other threads:[~2019-09-21 22:21 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-30 23:45 Weimin Pan
2019-09-21 22:21 ` Simon Marchi [this message]
2019-09-23 21:11 ` Weimin Pan
2019-09-24 3:10 ` Simon Marchi
2019-09-25 0:22 ` Weimin Pan
2019-09-25 0:27 ` Simon Marchi
2019-09-25 2:04 ` Wei-min Pan
2019-09-25 2:35 ` Simon Marchi
2019-09-25 21:09 ` Wei-min Pan
2019-09-30 3:06 ` Simon Marchi
2019-10-01 0:37 ` Weimin Pan
2019-10-02 2:47 ` Simon Marchi
2019-10-02 23:10 ` Wei-min Pan
2019-10-03 12:40 ` Simon Marchi
2019-10-03 17:59 ` Wei-min Pan
2019-10-03 18:01 ` Simon Marchi
2019-10-03 18:21 ` Wei-min Pan
2019-10-03 18:31 ` Simon Marchi
2019-10-03 18:53 ` Wei-min Pan
2019-10-03 20:33 ` Wei-min Pan
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=dc411e3d-821b-cc02-57c7-3c055ead3a7f@simark.ca \
--to=simark@simark.ca \
--cc=gdb-patches@sourceware.org \
--cc=weimin.pan@oracle.com \
/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