From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 107988 invoked by alias); 25 Sep 2019 00:22:23 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 107692 invoked by uid 89); 25 Sep 2019 00:22:22 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-9.2 required=5.0 tests=AWL,BAYES_00,KAM_SHORT,SPF_HELO_PASS autolearn=ham version=3.3.1 spammy=1299 X-HELO: userp2130.oracle.com Received: from userp2130.oracle.com (HELO userp2130.oracle.com) (156.151.31.86) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 25 Sep 2019 00:22:21 +0000 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x8P0EBlw004351; Wed, 25 Sep 2019 00:22:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : references : from : message-id : date : mime-version : in-reply-to : content-type : content-transfer-encoding; s=corp-2019-08-05; bh=et81CTLCcfa+fn20/51503piOpbM3Ffdx5EAJbkfySw=; b=ZfEwO9PSWnKFYuIbr1KsfC231+EV3cqRv0GSodRtZ2Jmxgtl1Zd9w4SD6qsi9vJhH5pj L5XGWFaTbkvOca53rdtn8EO7vw1J12OH62hLjAcn+YO+RMZYvhM8e39iV0e0T/DE8y5k /VxmtOzRcpbI8ac5jnEXNyJycUvyEpJ4bVKr/bTy/h7BzugDQPm+AIAKmm+4fbcuJoyy OQs9AAUMmVLKpU8qvMERfGMV8QdakTaSP32Blqdce1LNMFKTooRHsuZ59zr9Heubv/ZG Z++epaUa0fVaZ9FNTXvoAVSSTpTE/3iduTJdrcp1BHdgw1wuajiE7KbjgXaN6baU/FQw +A== Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by userp2130.oracle.com with ESMTP id 2v5b9tse0s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 25 Sep 2019 00:22:17 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x8P0Dx3S091619; Wed, 25 Sep 2019 00:22:16 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserp3030.oracle.com with ESMTP id 2v6yvra8j9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 25 Sep 2019 00:22:16 +0000 Received: from abhmp0019.oracle.com (abhmp0019.oracle.com [141.146.116.25]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id x8P0MCML013947; Wed, 25 Sep 2019 00:22:13 GMT Received: from [10.132.96.98] (/10.132.96.98) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 24 Sep 2019 17:22:12 -0700 Subject: Re: [PATCH v2] gdb: CTF support To: Simon Marchi , gdb-patches@sourceware.org References: <1564530195-27659-1-git-send-email-weimin.pan@oracle.com> <206312d5-cc32-15f0-dd20-25f8d7dbb369@oracle.com> <99d30cd3-4c97-2455-b9f1-f44290f136d8@simark.ca> From: Weimin Pan Message-ID: Date: Wed, 25 Sep 2019 00:22:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <99d30cd3-4c97-2455-b9f1-f44290f136d8@simark.ca> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-SW-Source: 2019-09/txt/msg00473.txt.bz2 On 9/23/2019 8:10 PM, Simon Marchi wrote: > On 2019-09-23 5:11 p.m., Weimin Pan wrote: >> Hi Simon, >> >> On 9/21/2019 3:21 PM, Simon Marchi wrote: >>> 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 >> Looks like you're using the latest gcc patch with current upstream binutils. >> Unfortunately, these two are not compatible since the latter lacks two newer >> header fields and the ability to transparently upgrade the ctf header. The >> same problem can be reproduced with "readelf" from binutils master: >> >> % readelf --ctf=".ctf" a.out >> readelf: Error: CTF open failure: File data structure corruption detected >> >> Please try applying the linker patch series that NicK posted on Sep 6 to >> binutils, under the name of "CTF linking support", as mentioned in the >> gcc patch sited above: >> >> NickA recently posted a changeset to the binutils mailing list that adds >> initial support for linking CTF sections. Please see >> >> https://sourceware.org/ml/binutils/2019-09/msg00045.html >> >> ( This current GCC  patch set has the ctf.h in sync with the above-mentioned >>    binutils patch set. ) >> >> which should fix this problem. > Oh ok thanks. Do you happen to know if that binutils patchset is available on a > git branch somewhere? I'd like to avoid applying these 33 patches by hand. If > you have a combined branch with the binutils and gdb changes together, it would > be even better :). Hi Simon, I have created a combined branch with changes in both binutils and gdb on our server and tested it a bit. Trying to send it upstream doesn't work: % git remote -v origin  git://ca-tools4.us.oracle.com/binutils-gdb.git (fetch) origin  git://ca-tools4.us.oracle.com/binutils-gdb.git (push) upstream        ssh://sourceware.org/git/binutils-gdb.git (fetch) upstream        ssh://sourceware.org/git/binutils-gdb.git (push) % git push upstream oracle/ctf:oracle/ctf Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. % Weimin > > Simon