From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 33004 invoked by alias); 9 May 2017 17:47:02 -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 32988 invoked by uid 89); 9 May 2017 17:47:01 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-10.9 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_2,GIT_PATCH_3,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 spammy=sk:write_p, observers, Respect, Various X-HELO: mx0a-001b2d01.pphosted.com Received: from mx0b-001b2d01.pphosted.com (HELO mx0a-001b2d01.pphosted.com) (148.163.158.5) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 09 May 2017 17:46:59 +0000 Received: from pps.filterd (m0098416.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.20/8.16.0.20) with SMTP id v49HiHOR186476 for ; Tue, 9 May 2017 13:47:00 -0400 Received: from e06smtp14.uk.ibm.com (e06smtp14.uk.ibm.com [195.75.94.110]) by mx0b-001b2d01.pphosted.com with ESMTP id 2abatwncke-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Tue, 09 May 2017 13:47:00 -0400 Received: from localhost by e06smtp14.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 9 May 2017 18:46:58 +0100 Received: from b06cxnps3075.portsmouth.uk.ibm.com (9.149.109.195) by e06smtp14.uk.ibm.com (192.168.101.144) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Tue, 9 May 2017 18:46:56 +0100 Received: from d06av21.portsmouth.uk.ibm.com (d06av21.portsmouth.uk.ibm.com [9.149.105.232]) by b06cxnps3075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id v49Hku2J20906252 for ; Tue, 9 May 2017 17:46:56 GMT Received: from d06av21.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 5ED3652041 for ; Tue, 9 May 2017 17:44:19 +0100 (BST) Received: from oc1027705133.ibm.com (unknown [9.152.212.109]) by d06av21.portsmouth.uk.ibm.com (Postfix) with ESMTP id 4513652047 for ; Tue, 9 May 2017 17:44:19 +0100 (BST) From: Andreas Arnez To: gdb-patches@sourceware.org Subject: [PATCH v2 00/19] Various DWARF piece fixes Date: Tue, 09 May 2017 17:47:00 -0000 X-TM-AS-GCONF: 00 x-cbid: 17050917-0016-0000-0000-0000049780D2 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17050917-0017-0000-0000-00002796E331 Message-Id: <1494352015-10465-1-git-send-email-arnez@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-05-09_14:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=1 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1703280000 definitions=main-1705090097 X-IsSubscribed: yes X-SW-Source: 2017-05/txt/msg00215.txt.bz2 This series fixes various issues with DWARF piece handling. Specifically it almost rewrites the functions read_pieced_value and write_pieced_value in multiple steps. Test cases are added as well. Version 1 is here: https://sourceware.org/ml/gdb-patches/2017-04/msg00177.html Changes from version 1 include: * Split up some patches further. * Added two more fixes for memory pieces. * Added a "merge" patch at the end. * Introduced get_endianness convenience proc for test suite. * Minor test case improvement. * Comment- and some general readability improvements. Andreas Arnez (19): Add test for modifiable DWARF locations write_pieced_value: Fix size capping logic PR gdb/21226: Take DWARF stack value pieces from LSB end Remove addr_size field from struct piece_closure gdb/testsuite: Add "get_endianness" convenience proc read/write_pieced_value: Respect value parent's offset write_pieced_value: Fix copy/paste error in size calculation write_pieced_value: Include transfer size in byte-wise check write_pieced_value: Fix buffer offset for memory pieces write_pieced_value: Transfer least significant bits into bit-field Add DWARF piece test cases for bit-field access read/write_pieced_value: Drop 'buffer_size' variable Fix handling of DWARF register pieces on big-endian targets read/write_pieced_value: Improve logic for buffer allocation Respect piece offset for DW_OP_bit_piece read/write_pieced_value: Remove unnecessary variable copies Fix bit-/byte-offset mismatch in parameter to read_value_memory write_pieced_value: Notify memory_changed observers read/write_pieced_value: Merge into one function gdb/dwarf2loc.c | 472 ++++++++++----------- gdb/testsuite/gdb.arch/aarch64-fp.exp | 9 +- gdb/testsuite/gdb.arch/altivec-regs.exp | 12 +- gdb/testsuite/gdb.arch/e500-regs.exp | 12 +- gdb/testsuite/gdb.arch/vsx-regs.exp | 12 +- gdb/testsuite/gdb.base/dump.exp | 7 +- gdb/testsuite/gdb.base/funcargs.exp | 12 +- gdb/testsuite/gdb.base/gnu_vector.exp | 7 +- gdb/testsuite/gdb.dwarf2/formdata16.exp | 9 +- gdb/testsuite/gdb.dwarf2/implptrpiece.exp | 10 +- gdb/testsuite/gdb.dwarf2/nonvar-access.exp | 31 +- gdb/testsuite/gdb.dwarf2/var-access.c | 25 ++ gdb/testsuite/gdb.dwarf2/var-access.exp | 345 +++++++++++++++ gdb/testsuite/gdb.python/py-inferior.exp | 12 +- .../gdb.trace/unavailable-dwarf-piece.exp | 8 +- gdb/testsuite/lib/gdb-utils.exp | 2 +- gdb/testsuite/lib/gdb.exp | 13 + gdb/valops.c | 7 +- gdb/value.h | 9 +- 19 files changed, 660 insertions(+), 354 deletions(-) create mode 100644 gdb/testsuite/gdb.dwarf2/var-access.c create mode 100644 gdb/testsuite/gdb.dwarf2/var-access.exp -- 2.5.0