aboutsummaryrefslogtreecommitdiff
path: root/include/coff/pe.h
diff options
context:
space:
mode:
authorTristan Gingold <gingold@adacore.com>2013-11-21 12:00:48 +0100
committerTristan Gingold <gingold@adacore.com>2013-11-27 11:21:03 +0100
commit48d5accb7a8b0b5195628b05e1f1dbf0c9cc4a22 (patch)
tree9c9feb17861a358227f414537d62a3cc30b64e8b /include/coff/pe.h
parentd4a43794d23f7bcbca91fc648e8afe612fbb6632 (diff)
downloadgdb-48d5accb7a8b0b5195628b05e1f1dbf0c9cc4a22.zip
gdb-48d5accb7a8b0b5195628b05e1f1dbf0c9cc4a22.tar.gz
gdb-48d5accb7a8b0b5195628b05e1f1dbf0c9cc4a22.tar.bz2
Improve dump of xdata/pdata on x86_64.
bfd/ 2013-11-27 Tristan Gingold <gingold@adacore.com> * pei-x86_64.c (pex_regs): Make it const. Add comments. (pex64_get_runtime_function): Do not split UnwindData. (pex64_get_unwind_info): Extract the chain and the handler. (pex64_xdata_print_uwd_codes): Rewritten: do not reverse print the opcode, handle version 2, add consistency check, make the code host neutral. (pex64_dump_xdata): Change arguments to pass the section and its content. Handle version 2, change output. (pex64_bfd_print_pdata): Add comments, load section for xdata. Avoid duplicate outputs. include/coff 2013-11-27 Tristan Gingold <gingold@adacore.com> * pe.h (struct pex64_runtime_function): Remove isChained. (UWOP_SAVE_XMM): Add comment. (struct pex64_unwind_info): Remove extra fields.
Diffstat (limited to 'include/coff/pe.h')
-rw-r--r--include/coff/pe.h17
1 files changed, 6 insertions, 11 deletions
diff --git a/include/coff/pe.h b/include/coff/pe.h
index 601a68e..3b37276 100644
--- a/include/coff/pe.h
+++ b/include/coff/pe.h
@@ -368,7 +368,6 @@ struct pex64_runtime_function
bfd_vma rva_BeginAddress;
bfd_vma rva_EndAddress;
bfd_vma rva_UnwindData;
- unsigned int isChained : 1;
};
struct external_pex64_runtime_function
@@ -393,8 +392,8 @@ struct external_pex64_runtime_function
#define UWOP_SET_FPREG 3
#define UWOP_SAVE_NONVOL 4
#define UWOP_SAVE_NONVOL_FAR 5
-#define UWOP_SAVE_XMM 6
-#define UWOP_SAVE_XMM_FAR 7
+#define UWOP_SAVE_XMM 6 /* Deprecated, redefined in version 2. */
+#define UWOP_SAVE_XMM_FAR 7 /* Deprecated. */
#define UWOP_SAVE_XMM128 8
#define UWOP_SAVE_XMM128_FAR 9
#define UWOP_PUSH_MACHFRAME 10
@@ -441,14 +440,10 @@ struct pex64_unwind_info
bfd_vma FrameOffset;
bfd_vma sizeofUnwindCodes;
bfd_byte *rawUnwindCodes;
- /* Valid for UNW_FLAG_EHANDLER and UNW_FLAG_UHANDLER. */
- bfd_vma CountOfScopes;
- bfd_byte *rawScopeEntries;
- bfd_vma rva_ExceptionHandler; /* UNW_EHANDLER. */
- bfd_vma rva_TerminationHandler; /* UNW_FLAG_UHANDLER. */
- bfd_vma rva_FrameHandler; /* UNW_FLAG_FHANDLER. */
- bfd_vma FrameHandlerArgument; /* UNW_FLAG_FHANDLER. */
- bfd_vma rva_FunctionEntry; /* UNW_FLAG_CHAININFO. */
+ bfd_vma rva_ExceptionHandler; /* UNW_EHANDLER or UNW_FLAG_UHANDLER. */
+ bfd_vma rva_BeginAddress; /* UNW_FLAG_CHAININFO. */
+ bfd_vma rva_EndAddress; /* UNW_FLAG_CHAININFO. */
+ bfd_vma rva_UnwindData; /* UNW_FLAG_CHAININFO. */
};
struct external_pex64_unwind_info