From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3663 invoked by alias); 3 Dec 2013 19:58: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 3652 invoked by uid 89); 3 Dec 2013 19:58:44 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.1 required=5.0 tests=AWL,BAYES_50,RDNS_NONE autolearn=no version=3.3.2 X-HELO: calimero.vinschen.de Received: from Unknown (HELO calimero.vinschen.de) (217.91.18.234) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 03 Dec 2013 19:58:42 +0000 Received: by calimero.vinschen.de (Postfix, from userid 500) id B2BB51A0677; Tue, 3 Dec 2013 20:58:33 +0100 (CET) Date: Tue, 03 Dec 2013 19:58:00 -0000 From: Corinna Vinschen To: gdb-patches@sourceware.org Subject: Re: [RFA] Allow Windows UNWIND_INFO version 2. Message-ID: <20131203195833.GA31963@calimero.vinschen.de> Reply-To: gdb-patches@sourceware.org Mail-Followup-To: gdb-patches@sourceware.org References: <1386070345-8237-1-git-send-email-brobecker@adacore.com> <529E274D.607@redhat.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="4Ckj6UjgE2iN1+kY" Content-Disposition: inline In-Reply-To: <529E274D.607@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-IsSubscribed: yes X-SW-Source: 2013-12/txt/msg00097.txt.bz2 --4Ckj6UjgE2iN1+kY Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-length: 2051 On Dec 3 18:47, Pedro Alves wrote: > On 12/03/2013 11:32 AM, Joel Brobecker wrote: > > @@ -696,7 +697,17 @@ amd64_windows_frame_decode_insns (struct frame_inf= o *this_frame, > > return; > >=20=20 > > end_insns =3D &insns[codes_count * 2]; > > - for (p =3D insns; p < end_insns; p +=3D 2) > > + p =3D insns; > > + > > + /* Skip opcodes 6 of version 2. This opcode is not documented. = */ > > + if (PEX64_UWI_VERSION (ex_ui.Version_Flags) =3D=3D 2) > > + { > > + for (; p < end_insns; p +=3D 2) > > + if (PEX64_UNWCODE_CODE (p[1]) !=3D 6) > > + break; > > + } >=20 > I'd consider merging with the existing loop, so that > we print the opcodes when frame debug is enabled. >=20 > But anyway, this looks fine to me. >=20 > I clicked on "Did you find this helpful? No" at: >=20 > http://msdn.microsoft.com/en-us/library/ck9asaa9.aspx >=20 > and asked for info about v2 and opcode 6. Not holding > my breath though. Calling strings(1) on the DLLs in the Windows system32 dir on a Windows 8.1 system reveals the following curious info: $ strings /cygdrive/c/Windows/System32/dbghelp.dll | grep UWOP AMD64_UWOP_PUSH_NONVOL Register %x RSP %I64X AMD64_UWOP_ALLOC_LARGE FrameOffs %x %x RSP %I64X + %x AMD64_UWOP_ALLOC_LARGE FrameOffs %x RSP %I64X + %x AMD64_UWOP_ALLOC_SMALL Info %x RSP %I64X AMD64_UWOP_SET_FPREG FrameReg %x FrameOffs %x RSP %I64X AMD64_UWOP_SAVE_NONVOL Register %x FrameBase %I64X FrameOffs %x RSP %I64X AMD64_UWOP_SAVE_NONVOL_FAR Register %x FrameBase %I64X FrameOffs %x %x RS= P %I64X AMD64_UWOP_EPILOG OpInfo: %x AMD64_UWOP_SPARE OpInfo: %x FrameOffs %x AMD64_UWOP_SAVE_XMM128 Register %x FrameBase %I64X FrameOffs %x RSP %I64X AMD64_UWOP_SAVE_XMM128_FAR Register %x FrameBase %I64X FrameOffs %x %x RS= P %I64X AMD64_UWOP_PUSH_MACHFRAME Info %x RetAddr %I64X StkAddr %I64X RSP %I64X So it looks like opcode 6 is AMD64_UWOP_EPILOG with a single 32 bit=20 operation info. What 32 bit info would that be? Corinna --=20 Corinna Vinschen Cygwin Maintainer Red Hat --4Ckj6UjgE2iN1+kY Content-Type: application/pgp-signature Content-length: 836 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.15 (GNU/Linux) iQIcBAEBAgAGBQJSnjfpAAoJEPU2Bp2uRE+g/cIP/3K7BlYX4yQuXt/L23ZCKwBd NCCxCD39YAHSNmE9EOgnv4vZhktaTLNw/QLz4Dasm+o4QgHiMUKX4a+M/L1qEJiF vH+6lA3Aexl6CDMyh3TM01jyXN++7DsyGvC3NAi2kPTxm4uWn2VdKI/B82wWPCqj hODzcZErPgBTr+v01WfraS8RBDWlhCjFnrhqbuODIwOhK04pAgKUZc1kZL2AM5js 8V/YoEngviv+/YrxdHNqfUR8Z/j+iMMACdhSN1EizZ3hFgYm0J0TIeL1SOr8bIan SWdVB2BXqh7qC8KpNaxvy9njJww5ydX9549AaV0x2mwYKKUbQ9rEMiEoNoxVKdMe UspAp2oJ+3PJo5f8opc/nHe8f4L3aoMWaT8VaAIhx2fqSPhQhY2OP5scKLSQa2+n hi0CN0/e6RfNXU6vKcSk8ESedEicretVJzrIaRD2vZuNzDOtulPSKd0bD84tOty9 ArlxUT7cZUQ5jJ+fPrnFhFj3EdSaspoGa9V+51Rij/IEOO861FWqPKOFT/dIY4cu RyyOtopLGdfq7YMndisvHlVY9A16JwSo68YsHSbUrLEhHeRAafxP1WduI29q/U6i MyaDFBzb5ZcelvZj+VcnAVu8YxmW1Vvmz/XHdEKbELhEuLnEvvrIIqSR6LGFnIsB prWAs1M/KlhzlxG/8Jp/ =R9xd -----END PGP SIGNATURE----- --4Ckj6UjgE2iN1+kY--