diff options
author | Richard Henderson <rth@twiddle.net> | 2013-06-05 07:39:57 -0700 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2013-07-09 07:15:24 -0700 |
commit | 497a22eb87da704c0a59ebebfde441849cd5189b (patch) | |
tree | 8378cecf0ab654748affe072a630d0c5d7d68108 /tcg/tcg.c | |
parent | 45aba097d24544ed2d3244b3268a071750e4499b (diff) |
tcg: Move the CIE and FDE header definitions to common code
These will necessarily be the same layout for all hosts. This limits
the amount of boilerplate required to implement jit debug for a host.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'tcg/tcg.c')
-rw-r--r-- | tcg/tcg.c | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -68,6 +68,24 @@ static void tcg_target_qemu_prologue(TCGContext *s); static void patch_reloc(uint8_t *code_ptr, int type, tcg_target_long value, tcg_target_long addend); +/* The CIE and FDE header definitions will be common to all hosts. */ +typedef struct { + uint32_t len __attribute__((aligned((sizeof(void *))))); + uint32_t id; + uint8_t version; + char augmentation[1]; + uint8_t code_align; + uint8_t data_align; + uint8_t return_column; +} DebugFrameCIE; + +typedef struct QEMU_PACKED { + uint32_t len __attribute__((aligned((sizeof(void *))))); + uint32_t cie_offset; + tcg_target_long func_start; + tcg_target_long func_len; +} DebugFrameFDEHeader; + static void tcg_register_jit_int(void *buf, size_t size, void *debug_frame, size_t debug_frame_size) __attribute__((unused)); |