[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v2 12/18] tcg-i386: Make debug_frame const
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PULL v2 12/18] tcg-i386: Make debug_frame const |
Date: |
Tue, 27 May 2014 13:51:18 -0700 |
Signed-off-by: Richard Henderson <address@hidden>
---
tcg/i386/tcg-target.c | 38 +++++++++++++++++---------------------
1 file changed, 17 insertions(+), 21 deletions(-)
diff --git a/tcg/i386/tcg-target.c b/tcg/i386/tcg-target.c
index a373073..d910233 100644
--- a/tcg/i386/tcg-target.c
+++ b/tcg/i386/tcg-target.c
@@ -2341,8 +2341,7 @@ static void tcg_target_init(TCGContext *s)
}
typedef struct {
- DebugFrameCIE cie;
- DebugFrameFDEHeader fde;
+ DebugFrameHeader h;
uint8_t fde_def_cfa[4];
uint8_t fde_reg_ofs[14];
} DebugFrame;
@@ -2354,16 +2353,16 @@ QEMU_BUILD_BUG_ON(FRAME_SIZE >= (1 << 14));
/* Host machine without ELF. */
#elif TCG_TARGET_REG_BITS == 64
#define ELF_HOST_MACHINE EM_X86_64
-static DebugFrame debug_frame = {
- .cie.len = sizeof(DebugFrameCIE)-4, /* length after .len member */
- .cie.id = -1,
- .cie.version = 1,
- .cie.code_align = 1,
- .cie.data_align = 0x78, /* sleb128 -8 */
- .cie.return_column = 16,
+static const DebugFrame debug_frame = {
+ .h.cie.len = sizeof(DebugFrameCIE)-4, /* length after .len member */
+ .h.cie.id = -1,
+ .h.cie.version = 1,
+ .h.cie.code_align = 1,
+ .h.cie.data_align = 0x78, /* sleb128 -8 */
+ .h.cie.return_column = 16,
/* Total FDE size does not include the "len" member. */
- .fde.len = sizeof(DebugFrame) - offsetof(DebugFrame, fde.cie_offset),
+ .h.fde.len = sizeof(DebugFrame) - offsetof(DebugFrame, h.fde.cie_offset),
.fde_def_cfa = {
12, 7, /* DW_CFA_def_cfa %rsp, ... */
@@ -2383,16 +2382,16 @@ static DebugFrame debug_frame = {
};
#else
#define ELF_HOST_MACHINE EM_386
-static DebugFrame debug_frame = {
- .cie.len = sizeof(DebugFrameCIE)-4, /* length after .len member */
- .cie.id = -1,
- .cie.version = 1,
- .cie.code_align = 1,
- .cie.data_align = 0x7c, /* sleb128 -4 */
- .cie.return_column = 8,
+static const DebugFrame debug_frame = {
+ .h.cie.len = sizeof(DebugFrameCIE)-4, /* length after .len member */
+ .h.cie.id = -1,
+ .h.cie.version = 1,
+ .h.cie.code_align = 1,
+ .h.cie.data_align = 0x7c, /* sleb128 -4 */
+ .h.cie.return_column = 8,
/* Total FDE size does not include the "len" member. */
- .fde.len = sizeof(DebugFrame) - offsetof(DebugFrame, fde.cie_offset),
+ .h.fde.len = sizeof(DebugFrame) - offsetof(DebugFrame, h.fde.cie_offset),
.fde_def_cfa = {
12, 4, /* DW_CFA_def_cfa %esp, ... */
@@ -2413,9 +2412,6 @@ static DebugFrame debug_frame = {
#if defined(ELF_HOST_MACHINE)
void tcg_register_jit(void *buf, size_t buf_size)
{
- debug_frame.fde.func_start = (uintptr_t)buf;
- debug_frame.fde.func_len = buf_size;
-
tcg_register_jit_int(buf, buf_size, &debug_frame, sizeof(debug_frame));
}
#endif
--
1.9.3
- [Qemu-devel] [PULL v2 02/18] tcg: Invert the inclusion of helper.h, (continued)
- [Qemu-devel] [PULL v2 02/18] tcg: Invert the inclusion of helper.h, Richard Henderson, 2014/05/27
- [Qemu-devel] [PULL v2 01/18] tcg: Optimize brcond2 and setcond2 ne/eq, Richard Henderson, 2014/05/27
- [Qemu-devel] [PULL v2 03/18] tcg: Push tcg-runtime routines into exec/helper-*, Richard Henderson, 2014/05/27
- [Qemu-devel] [PULL v2 05/18] tcg: Inline tcg_gen_helperN, Richard Henderson, 2014/05/27
- [Qemu-devel] [PULL v2 04/18] tcg: Use helper-gen.h in tcg-op.h, Richard Henderson, 2014/05/27
- [Qemu-devel] [PULL v2 07/18] tcg: Register the helper info struct rather than the name, Richard Henderson, 2014/05/27
- [Qemu-devel] [PULL v2 06/18] tcg: Move side effects out of dh_sizemask, Richard Henderson, 2014/05/27
- [Qemu-devel] [PULL v2 08/18] tcg: Save flags and computed sizemask in TCGHelperInfo, Richard Henderson, 2014/05/27
- [Qemu-devel] [PULL v2 09/18] tcg: Remove sizemask and flags arguments to tcg_gen_callN, Richard Henderson, 2014/05/27
- [Qemu-devel] [PULL v2 10/18] tcg: Move size effects out of dh_arg, Richard Henderson, 2014/05/27
- [Qemu-devel] [PULL v2 12/18] tcg-i386: Make debug_frame const,
Richard Henderson <=
- [Qemu-devel] [PULL v2 11/18] tcg: Allow the debug_frame data structure to be constant, Richard Henderson, 2014/05/27
- [Qemu-devel] [PULL v2 14/18] tcg-arm: Make debug_frame const, Richard Henderson, 2014/05/27
- [Qemu-devel] [PULL v2 13/18] tcg-aarch64: Make debug_frame const, Richard Henderson, 2014/05/27
- [Qemu-devel] [PULL v2 15/18] tcg-s390: Make debug_frame const, Richard Henderson, 2014/05/27
- [Qemu-devel] [PULL v2 16/18] tcg-sparc: Make debug_frame const, Richard Henderson, 2014/05/27
- [Qemu-devel] [PULL v2 17/18] tcg/optimize: Move updating of gen_opc_buf into tcg_opt_gen_mov*, Richard Henderson, 2014/05/27
- [Qemu-devel] [PULL v2 18/18] tcg/optimize: Remember garbage high bits for 32-bit ops, Richard Henderson, 2014/05/27
- Re: [Qemu-devel] [PULL v2 00/18] tcg patch queue, Peter Maydell, 2014/05/28