This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
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_info *this_frame, > > return; > > > > end_insns = &insns[codes_count * 2]; > > - for (p = insns; p < end_insns; p += 2) > > + p = insns; > > + > > + /* Skip opcodes 6 of version 2. This opcode is not documented. */ > > + if (PEX64_UWI_VERSION (ex_ui.Version_Flags) == 2) > > + { > > + for (; p < end_insns; p += 2) > > + if (PEX64_UNWCODE_CODE (p[1]) != 6) > > + break; > > + } > > I'd consider merging with the existing loop, so that > we print the opcodes when frame debug is enabled. > > But anyway, this looks fine to me. > > I clicked on "Did you find this helpful? No" at: > > http://msdn.microsoft.com/en-us/library/ck9asaa9.aspx > > 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 RSP %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 RSP %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 operation info. What 32 bit info would that be? Corinna -- Corinna Vinschen Cygwin Maintainer Red Hat
Attachment:
pgpnyPwNxLQ3q.pgp
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |