From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 83305 invoked by alias); 3 Apr 2018 10:01:46 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 82849 invoked by uid 89); 3 Apr 2018 10:01:45 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,SPF_HELO_PASS,T_RP_MATCHES_RCVD autolearn=no version=3.3.2 spammy=Hx-languages-length:1020 X-HELO: hqemgate16.nvidia.com Received: from hqemgate16.nvidia.com (HELO hqemgate16.nvidia.com) (216.228.121.65) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 03 Apr 2018 10:01:44 +0000 Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqemgate16.nvidia.com id ; Tue, 03 Apr 2018 03:01:33 -0700 Received: from HQMAIL105.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Tue, 03 Apr 2018 03:01:43 -0700 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Tue, 03 Apr 2018 03:01:43 -0700 Received: from UKMAIL102.nvidia.com (10.26.138.15) by HQMAIL105.nvidia.com (172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Tue, 3 Apr 2018 10:01:42 +0000 Received: from localhost.localdomain (10.21.45.12) by UKMAIL102.nvidia.com (10.26.138.15) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Tue, 3 Apr 2018 10:01:38 +0000 Subject: Re: aarch64-tdep.c:379: internal-error: CORE_ADDR aarch64_analyze_prologue(gdbarch*, CORE_ADDR, CORE_ADDR, aarch64_prologue_cache*, {anonymous}::abstract_instruction_reader&): Assertion `inst.operands[0].qualifier == AARCH64_OPND_QLF_S_D' failed To: Simon Marchi CC: GDB Development , Yao Qi References: <72908568cb161628681345981f5c0b87@polymtl.ca> From: Dmitry Antipov Message-ID: <64710bf6-a3e7-cb32-94df-0337f09fd944@nvidia.com> Date: Tue, 03 Apr 2018 10:01:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <72908568cb161628681345981f5c0b87@polymtl.ca> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: UKMAIL102.nvidia.com (10.26.138.15) To UKMAIL102.nvidia.com (10.26.138.15) X-IsSubscribed: yes X-SW-Source: 2018-04/txt/msg00002.txt.bz2 On 04/03/2018 04:35 AM, Simon Marchi wrote: > So it looks like the GDB code assumes that no-one would ever save the who= le registers, because it is not necessary.=C2=A0 GDB should not use gdb_ass= ert and crash on bad input.=C2=A0 I don't know what it should=20 > do instead in that specific case, that's the part that takes more time to= think about :). I think that "ABI violation" is not always a synonym for "bad input" :-), a= nd we definitely don't want the debugger to crash on some handwritten inline assembler trick, for example. BTW, LLVM project debugger lldb seems = uses more relaxed approach and allows STP with FP quadword operands in function prologues, see https://github.com/llvm-mirror/lldb/blob/master/sou= rce/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp. Dmitry