From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com [IPv6:2a00:1450:4864:20::432]) by sourceware.org (Postfix) with ESMTPS id 545FB3939C35 for ; Tue, 23 Jun 2020 11:48:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 545FB3939C35 Received: by mail-wr1-x432.google.com with SMTP id l10so20198177wrr.10 for ; Tue, 23 Jun 2020 04:48:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=cMepMRH+9LrJUmjbd5OaHtBLUZYVTkFinjErYLDk65Q=; b=LH1IN0RVuQTXInKwiSx1p1f3SuShIUrn+2lB6u1ZmiZkW+lLvQeEsxs4KVOv/MOb8d IX6wtLBHjufxmG4VbZ4dUAMJZNY89ePfaUF+tloNBWGIS6fs4KlKrQxjVSv5g0q81GxP LdxbbAcJUCRh8HV/ENoBQqKK6qC0AjO5r2rZAkC//43CE+ur+ZEe8TzWemzLQy6ZsdQC gvO08z8bMuz5eJxCcknSyF49rCDs1hR85Zr7kn5oQSaFE2W07FW7ip0ayqyc8nSczDD+ U/EMQxsaDjV/GRnVPXRFDesVL2uvhDlzWwu6Jd1uMd+78npowLHfwrU8W4rDNsA9CeBt QF9A== X-Gm-Message-State: AOAM533FeERtmbDUyFj2bN0e3EH/2chRV+Ki/anp9gBt51ius5p7leQJ fJUvLFbkPanumo6FifZGmDlIqpDUA7hvtJgrsF0= X-Google-Smtp-Source: ABdhPJzjzEJywo6C9FKgv8a64tk1eqIhNpG2Io/L+itAjU9nCZgflLNnhNSQHL+uPQU1mvbKyXrFQ0xv3+H64lNAI7Q= X-Received: by 2002:a5d:5084:: with SMTP id a4mr25344028wrt.416.1592912923432; Tue, 23 Jun 2020 04:48:43 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a05:600c:218d:0:0:0:0 with HTTP; Tue, 23 Jun 2020 04:48:42 -0700 (PDT) In-Reply-To: <20200623072654.GA3548953@host1.jankratochvil.net> References: <20200622213956.GA3486027@host1.jankratochvil.net> <20200623072654.GA3548953@host1.jankratochvil.net> From: Ahmad Nouralizadeh Date: Tue, 23 Jun 2020 16:18:42 +0430 Message-ID: Subject: Re: GDB Frame Unwinding for Pure Assembly Code To: Jan Kratochvil Cc: "gdb@sourceware.org" X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gdb@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Jun 2020 11:48:45 -0000 Hi Jan, Thanks for the answer! Could you tell me why is an inline unwinder used? Regards. On Tuesday, 23 June 2020, Jan Kratochvil wrote: > On Mon, 22 Jun 2020 23:55:30 +0200, Ahmad Nouralizadeh via Gdb wrote: > > But knowing the GDB mechanism to get over the problem will be helpful. > > GDB disassembles the code and tries to guess how to unwind it. > amd64-tdep.c amd64_analyze_prologue(), amd64_frame_cache_1() etc. > > That is just a last resort way of unwinding (=a bug in the debuggee), there > should always be .eh_frame in the debuggee, also for throwing exceptions > across such .eh_frame-less functions if there is any callback there. > > > Jan > >