From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 73631 invoked by alias); 12 Mar 2018 17:19:45 -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 72947 invoked by uid 89); 12 Mar 2018 17:19:45 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-11.1 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_2,GIT_PATCH_3,KAM_ASCII_DIVIDERS,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 spammy= X-HELO: mx0a-001b2d01.pphosted.com Received: from mx0a-001b2d01.pphosted.com (HELO mx0a-001b2d01.pphosted.com) (148.163.156.1) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 12 Mar 2018 17:19:41 +0000 Received: from pps.filterd (m0098394.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w2CHImJD080133 for ; Mon, 12 Mar 2018 13:19:40 -0400 Received: from e06smtp12.uk.ibm.com (e06smtp12.uk.ibm.com [195.75.94.108]) by mx0a-001b2d01.pphosted.com with ESMTP id 2gnuenexfk-1 (version=TLSv1.2 cipher=AES256-SHA256 bits=256 verify=NOT) for ; Mon, 12 Mar 2018 13:19:39 -0400 Received: from localhost by e06smtp12.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 12 Mar 2018 17:19:36 -0000 Received: from b06cxnps3075.portsmouth.uk.ibm.com (9.149.109.195) by e06smtp12.uk.ibm.com (192.168.101.142) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Mon, 12 Mar 2018 17:19:34 -0000 Received: from d06av25.portsmouth.uk.ibm.com (d06av25.portsmouth.uk.ibm.com [9.149.105.61]) by b06cxnps3075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w2CHJX6J57213156; Mon, 12 Mar 2018 17:19:33 GMT Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 2D97211C05C; Mon, 12 Mar 2018 17:12:14 +0000 (GMT) Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id F390A11C058; Mon, 12 Mar 2018 17:12:13 +0000 (GMT) Received: from ThinkPad (unknown [9.152.212.63]) by d06av25.portsmouth.uk.ibm.com (Postfix) with ESMTP; Mon, 12 Mar 2018 17:12:13 +0000 (GMT) Date: Mon, 12 Mar 2018 17:19:00 -0000 From: Philipp Rudo To: Alan Hayward Cc: "gdb-patches@sourceware.org" , nd Subject: Re: [PATCH V3 0/8] Remove gdbserver dependency on xml files In-Reply-To: References: <757A8B89-2EF0-46BD-BAA6-6E668538B17F@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 x-cbid: 18031217-0008-0000-0000-000004DB8BCC X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18031217-0009-0000-0000-00001E6EBAE3 Message-Id: <20180312181931.704aa7bf@ThinkPad> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2018-03-12_09:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=9 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1803120197 X-IsSubscribed: yes X-SW-Source: 2018-03/txt/msg00255.txt.bz2 Hi Alan, sorry for the late response. Here are my first findings. I'm afraid there is a bug somewhere in you patch set. When running the testsuite there are quite a lot of test from gdb.server failing (at least on s390). I have to take a closer look at it tomorrow. Nevertheless there are some comments i already have to your patches. Thanks Philipp On Fri, 9 Mar 2018 08:21:36 +0000 Alan Hayward wrote: > Ping for this series please. > > Alan. > > > On 1 Mar 2018, at 11:38, Alan Hayward wrote: > > > > V3 builds on previous review comments, and the additional patches I've > > already pushed. Complete patch series pushed to branch users/ahayward/xml3. > > > > Summary: > > > > For those targets that use new style target descriptions, this set of patches > > removes the dependency on xml files. Namely: > > * Removes inclusion of xml files within gdbserver. > > * Removes the requirement for the .c files in features/ to be generated from > > cached xml files. > > This is made possible by changing xml descriptions generated by gdbserver, so > > that instead of including xml file names, gdbserver now generate a complete > > xml description. > > > > The second point will be required for aarch64 SVE support, where the register > > size are variable. Creating SVE xml files for every possible vector length > > would not be feasible. Instead the plan for aarch64 SVE is to hand write the > > features/ .c code that would normally be generated from xml. > > > > > > XML Generation: > > > > In existing code, gdbserver uses C code auto generated from xml files to > > create target descriptions. When sending an xml description to GDB, the > > function tdesc_get_features_xml () creates an xml containing the name of the > > original xml file(s). For example: > > > > > > > > i386 > > GNU/Linux > > > > > > > > > > > > > > Upon receipt, GDB then makes requests to gdbserver for the contents of the > > xml files. Gdbserver keeps full copies all the xml files inside the binary. > > > > This patch series adds common code that allows gdbserver (and gdb) to turn > > a C target description structure into xml. > > Now when asked fort an xml description to gdb, gdbserver turns the entire > > target description structure back into xml, without using any cached files. > > Producing, for example: > > > > > > > > i386 > > GNU/Linux > > > > > > > > > > > > > > ...etc... > > > > > > Patch Contents: > > > > Patches 2-4 commonise the various target descriptor functionality, allowing > > gdbserver to parse target descriptions in the same way as gdb. This series > > does not commonise target_desc, but this is hopefully a long term goal. > > > > The sixth patch adds the xml printer, which iterates through the parsing > > generated in the previous patches. > > > > The other patches are clean up patches. > > > > > > > > Patches have been tested on a make check on x86 targets=all build with > > target board unix native-gdbserver. Also tested aarch64. Built for power > > (because it does not use new target descriptions), but am unable to test. > > In addition, patch six adds new test cases to unit test. > > > > Alan. > > > > gdb/Makefile.in | 2 + > > gdb/common/tdesc.c | 445 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > gdb/common/tdesc.h | 313 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- > > gdb/features/aarch64-core.c | 2 +- > > gdb/features/aarch64-fpu.c | 2 +- > > gdb/features/i386/32bit-avx.c | 2 +- > > gdb/features/i386/32bit-avx512.c | 2 +- > > gdb/features/i386/32bit-core.c | 2 +- > > gdb/features/i386/32bit-linux.c | 2 +- > > gdb/features/i386/32bit-mpx.c | 2 +- > > gdb/features/i386/32bit-pkeys.c | 2 +- > > gdb/features/i386/32bit-sse.c | 2 +- > > gdb/features/i386/64bit-avx.c | 2 +- > > gdb/features/i386/64bit-avx512.c | 2 +- > > gdb/features/i386/64bit-core.c | 2 +- > > gdb/features/i386/64bit-linux.c | 2 +- > > gdb/features/i386/64bit-mpx.c | 2 +- > > gdb/features/i386/64bit-pkeys.c | 2 +- > > gdb/features/i386/64bit-segments.c | 2 +- > > gdb/features/i386/64bit-sse.c | 2 +- > > gdb/features/i386/x32-core.c | 2 +- > > gdb/features/tic6x-c6xp.c | 2 +- > > gdb/features/tic6x-core.c | 2 +- > > gdb/features/tic6x-gp.c | 2 +- > > gdb/gdbserver/Makefile.in | 3 + > > gdb/gdbserver/configure.srv | 36 ------- > > gdb/gdbserver/tdesc.c | 240 ++++++++++++++++++------------------------ > > gdb/gdbserver/tdesc.h | 57 ++-------- > > gdb/regformats/regdat.sh | 5 +- > > gdb/target-descriptions.c | 596 ++++++++++++-------------------------------------------------------------------------------------------- > > gdb/xml-tdesc.c | 9 ++ > > gdb/xml-tdesc.h | 5 + > > 32 files changed, 974 insertions(+), 779 deletions(-) > > >