⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cfi_annotations.patch

📁 Linux-2.6.18内核调试工具补丁程序KGDB。
💻 PATCH
📖 第 1 页 / 共 4 页
字号:
+    DW_OP_lit0 = 0x30,+    DW_OP_lit1 = 0x31,+    DW_OP_lit2 = 0x32,+    DW_OP_lit3 = 0x33,+    DW_OP_lit4 = 0x34,+    DW_OP_lit5 = 0x35,+    DW_OP_lit6 = 0x36,+    DW_OP_lit7 = 0x37,+    DW_OP_lit8 = 0x38,+    DW_OP_lit9 = 0x39,+    DW_OP_lit10 = 0x3a,+    DW_OP_lit11 = 0x3b,+    DW_OP_lit12 = 0x3c,+    DW_OP_lit13 = 0x3d,+    DW_OP_lit14 = 0x3e,+    DW_OP_lit15 = 0x3f,+    DW_OP_lit16 = 0x40,+    DW_OP_lit17 = 0x41,+    DW_OP_lit18 = 0x42,+    DW_OP_lit19 = 0x43,+    DW_OP_lit20 = 0x44,+    DW_OP_lit21 = 0x45,+    DW_OP_lit22 = 0x46,+    DW_OP_lit23 = 0x47,+    DW_OP_lit24 = 0x48,+    DW_OP_lit25 = 0x49,+    DW_OP_lit26 = 0x4a,+    DW_OP_lit27 = 0x4b,+    DW_OP_lit28 = 0x4c,+    DW_OP_lit29 = 0x4d,+    DW_OP_lit30 = 0x4e,+    DW_OP_lit31 = 0x4f,+    DW_OP_reg0 = 0x50,+    DW_OP_reg1 = 0x51,+    DW_OP_reg2 = 0x52,+    DW_OP_reg3 = 0x53,+    DW_OP_reg4 = 0x54,+    DW_OP_reg5 = 0x55,+    DW_OP_reg6 = 0x56,+    DW_OP_reg7 = 0x57,+    DW_OP_reg8 = 0x58,+    DW_OP_reg9 = 0x59,+    DW_OP_reg10 = 0x5a,+    DW_OP_reg11 = 0x5b,+    DW_OP_reg12 = 0x5c,+    DW_OP_reg13 = 0x5d,+    DW_OP_reg14 = 0x5e,+    DW_OP_reg15 = 0x5f,+    DW_OP_reg16 = 0x60,+    DW_OP_reg17 = 0x61,+    DW_OP_reg18 = 0x62,+    DW_OP_reg19 = 0x63,+    DW_OP_reg20 = 0x64,+    DW_OP_reg21 = 0x65,+    DW_OP_reg22 = 0x66,+    DW_OP_reg23 = 0x67,+    DW_OP_reg24 = 0x68,+    DW_OP_reg25 = 0x69,+    DW_OP_reg26 = 0x6a,+    DW_OP_reg27 = 0x6b,+    DW_OP_reg28 = 0x6c,+    DW_OP_reg29 = 0x6d,+    DW_OP_reg30 = 0x6e,+    DW_OP_reg31 = 0x6f,+    DW_OP_breg0 = 0x70,+    DW_OP_breg1 = 0x71,+    DW_OP_breg2 = 0x72,+    DW_OP_breg3 = 0x73,+    DW_OP_breg4 = 0x74,+    DW_OP_breg5 = 0x75,+    DW_OP_breg6 = 0x76,+    DW_OP_breg7 = 0x77,+    DW_OP_breg8 = 0x78,+    DW_OP_breg9 = 0x79,+    DW_OP_breg10 = 0x7a,+    DW_OP_breg11 = 0x7b,+    DW_OP_breg12 = 0x7c,+    DW_OP_breg13 = 0x7d,+    DW_OP_breg14 = 0x7e,+    DW_OP_breg15 = 0x7f,+    DW_OP_breg16 = 0x80,+    DW_OP_breg17 = 0x81,+    DW_OP_breg18 = 0x82,+    DW_OP_breg19 = 0x83,+    DW_OP_breg20 = 0x84,+    DW_OP_breg21 = 0x85,+    DW_OP_breg22 = 0x86,+    DW_OP_breg23 = 0x87,+    DW_OP_breg24 = 0x88,+    DW_OP_breg25 = 0x89,+    DW_OP_breg26 = 0x8a,+    DW_OP_breg27 = 0x8b,+    DW_OP_breg28 = 0x8c,+    DW_OP_breg29 = 0x8d,+    DW_OP_breg30 = 0x8e,+    DW_OP_breg31 = 0x8f,+    DW_OP_regx = 0x90,+    DW_OP_fbreg = 0x91,+    DW_OP_bregx = 0x92,+    DW_OP_piece = 0x93,+    DW_OP_deref_size = 0x94,+    DW_OP_xderef_size = 0x95,+    DW_OP_nop = 0x96,+    /* DWARF 3 extensions.  */+    DW_OP_push_object_address = 0x97,+    DW_OP_call2 = 0x98,+    DW_OP_call4 = 0x99,+    DW_OP_call_ref = 0x9a,+    /* GNU extensions.  */+    DW_OP_GNU_push_tls_address = 0xe0,+    /* HP extensions.  */+    DW_OP_HP_unknown     = 0xe0, /* Ouch, the same as GNU_push_tls_address.  */+    DW_OP_HP_is_value    = 0xe1,+    DW_OP_HP_fltconst4   = 0xe2,+    DW_OP_HP_fltconst8   = 0xe3,+    DW_OP_HP_mod_range   = 0xe4,+    DW_OP_HP_unmod_range = 0xe5,+    DW_OP_HP_tls         = 0xe6+  };++#define DW_OP_lo_user	0xe0	/* Implementation-defined range start.  */+#define DW_OP_hi_user	0xff	/* Implementation-defined range end.  */++/* Type encodings.  */+enum dwarf_type+  {+    DW_ATE_void = 0x0,+    DW_ATE_address = 0x1,+    DW_ATE_boolean = 0x2,+    DW_ATE_complex_float = 0x3,+    DW_ATE_float = 0x4,+    DW_ATE_signed = 0x5,+    DW_ATE_signed_char = 0x6,+    DW_ATE_unsigned = 0x7,+    DW_ATE_unsigned_char = 0x8,+    /* DWARF 3.  */+    DW_ATE_imaginary_float = 0x9,+    /* HP extensions.  */+    DW_ATE_HP_float80            = 0x80, /* Floating-point (80 bit).  */+    DW_ATE_HP_complex_float80    = 0x81, /* Complex floating-point (80 bit).  */+    DW_ATE_HP_float128           = 0x82, /* Floating-point (128 bit).  */+    DW_ATE_HP_complex_float128   = 0x83, /* Complex floating-point (128 bit).  */+    DW_ATE_HP_floathpintel       = 0x84, /* Floating-point (82 bit IA64).  */+    DW_ATE_HP_imaginary_float80  = 0x85,+    DW_ATE_HP_imaginary_float128 = 0x86+  };++#define	DW_ATE_lo_user 0x80+#define	DW_ATE_hi_user 0xff++/* Array ordering names and codes.  */+enum dwarf_array_dim_ordering+  {+    DW_ORD_row_major = 0,+    DW_ORD_col_major = 1+  };++/* Access attribute.  */+enum dwarf_access_attribute+  {+    DW_ACCESS_public = 1,+    DW_ACCESS_protected = 2,+    DW_ACCESS_private = 3+  };++/* Visibility.  */+enum dwarf_visibility_attribute+  {+    DW_VIS_local = 1,+    DW_VIS_exported = 2,+    DW_VIS_qualified = 3+  };++/* Virtuality.  */+enum dwarf_virtuality_attribute+  {+    DW_VIRTUALITY_none = 0,+    DW_VIRTUALITY_virtual = 1,+    DW_VIRTUALITY_pure_virtual = 2+  };++/* Case sensitivity.  */+enum dwarf_id_case+  {+    DW_ID_case_sensitive = 0,+    DW_ID_up_case = 1,+    DW_ID_down_case = 2,+    DW_ID_case_insensitive = 3+  };++/* Calling convention.  */+enum dwarf_calling_convention+  {+    DW_CC_normal = 0x1,+    DW_CC_program = 0x2,+    DW_CC_nocall = 0x3+  };++#define DW_CC_lo_user 0x40+#define DW_CC_hi_user 0xff++/* Inline attribute.  */+enum dwarf_inline_attribute+  {+    DW_INL_not_inlined = 0,+    DW_INL_inlined = 1,+    DW_INL_declared_not_inlined = 2,+    DW_INL_declared_inlined = 3+  };++/* Discriminant lists.  */+enum dwarf_discrim_list+  {+    DW_DSC_label = 0,+    DW_DSC_range = 1+  };++/* Line number opcodes.  */+enum dwarf_line_number_ops+  {+    DW_LNS_extended_op = 0,+    DW_LNS_copy = 1,+    DW_LNS_advance_pc = 2,+    DW_LNS_advance_line = 3,+    DW_LNS_set_file = 4,+    DW_LNS_set_column = 5,+    DW_LNS_negate_stmt = 6,+    DW_LNS_set_basic_block = 7,+    DW_LNS_const_add_pc = 8,+    DW_LNS_fixed_advance_pc = 9,+    /* DWARF 3.  */+    DW_LNS_set_prologue_end = 10,+    DW_LNS_set_epilogue_begin = 11,+    DW_LNS_set_isa = 12+  };++/* Line number extended opcodes.  */+enum dwarf_line_number_x_ops+  {+    DW_LNE_end_sequence = 1,+    DW_LNE_set_address = 2,+    DW_LNE_define_file = 3,+    /* HP extensions.  */+    DW_LNE_HP_negate_is_UV_update      = 0x11,+    DW_LNE_HP_push_context             = 0x12,+    DW_LNE_HP_pop_context              = 0x13,+    DW_LNE_HP_set_file_line_column     = 0x14,+    DW_LNE_HP_set_routine_name         = 0x15,+    DW_LNE_HP_set_sequence             = 0x16,+    DW_LNE_HP_negate_post_semantics    = 0x17,+    DW_LNE_HP_negate_function_exit     = 0x18,+    DW_LNE_HP_negate_front_end_logical = 0x19,+    DW_LNE_HP_define_proc              = 0x20+  };++/* Call frame information.  */+enum dwarf_call_frame_info+  {+    DW_CFA_advance_loc = 0x40,+    DW_CFA_offset = 0x80,+    DW_CFA_restore = 0xc0,+    DW_CFA_nop = 0x00,+    DW_CFA_set_loc = 0x01,+    DW_CFA_advance_loc1 = 0x02,+    DW_CFA_advance_loc2 = 0x03,+    DW_CFA_advance_loc4 = 0x04,+    DW_CFA_offset_extended = 0x05,+    DW_CFA_restore_extended = 0x06,+    DW_CFA_undefined = 0x07,+    DW_CFA_same_value = 0x08,+    DW_CFA_register = 0x09,+    DW_CFA_remember_state = 0x0a,+    DW_CFA_restore_state = 0x0b,+    DW_CFA_def_cfa = 0x0c,+    DW_CFA_def_cfa_register = 0x0d,+    DW_CFA_def_cfa_offset = 0x0e,+    /* DWARF 3.  */+    DW_CFA_def_cfa_expression = 0x0f,+    DW_CFA_expression = 0x10,+    DW_CFA_offset_extended_sf = 0x11,+    DW_CFA_def_cfa_sf = 0x12,+    DW_CFA_def_cfa_offset_sf = 0x13,+    /* SGI/MIPS specific.  */+    DW_CFA_MIPS_advance_loc8 = 0x1d,+    /* GNU extensions.  */+    DW_CFA_GNU_window_save = 0x2d,+    DW_CFA_GNU_args_size = 0x2e,+    DW_CFA_GNU_negative_offset_extended = 0x2f+  };++#define DW_CIE_ID	  0xffffffff+#define DW_CIE_VERSION	  1++#define DW_CFA_extended   0+#define DW_CFA_lo_user    0x1c+#define DW_CFA_hi_user    0x3f++#define DW_CHILDREN_no		     0x00+#define DW_CHILDREN_yes		     0x01++#define DW_ADDR_none		0++/* Source language names and codes.  */+enum dwarf_source_language+  {+    DW_LANG_C89 = 0x0001,+    DW_LANG_C = 0x0002,+    DW_LANG_Ada83 = 0x0003,+    DW_LANG_C_plus_plus = 0x0004,+    DW_LANG_Cobol74 = 0x0005,+    DW_LANG_Cobol85 = 0x0006,+    DW_LANG_Fortran77 = 0x0007,+    DW_LANG_Fortran90 = 0x0008,+    DW_LANG_Pascal83 = 0x0009,+    DW_LANG_Modula2 = 0x000a,+    DW_LANG_Java = 0x000b,+    /* DWARF 3.  */+    DW_LANG_C99 = 0x000c,+    DW_LANG_Ada95 = 0x000d,+    DW_LANG_Fortran95 = 0x000e,+    /* MIPS.  */+    DW_LANG_Mips_Assembler = 0x8001,+    /* UPC.  */+    DW_LANG_Upc = 0x8765+  };++#define DW_LANG_lo_user 0x8000	/* Implementation-defined range start.  */+#define DW_LANG_hi_user 0xffff	/* Implementation-defined range start.  */++/* Names and codes for macro information.  */+enum dwarf_macinfo_record_type+  {+    DW_MACINFO_define = 1,+    DW_MACINFO_undef = 2,+    DW_MACINFO_start_file = 3,+    DW_MACINFO_end_file = 4,+    DW_MACINFO_vendor_ext = 255+  };++/* @@@ For use with GNU frame unwind information.  */++#define DW_EH_PE_absptr		0x00+#define DW_EH_PE_omit		0xff++#define DW_EH_PE_uleb128	0x01+#define DW_EH_PE_udata2		0x02+#define DW_EH_PE_udata4		0x03+#define DW_EH_PE_udata8		0x04+#define DW_EH_PE_sleb128	0x09+#define DW_EH_PE_sdata2		0x0A+#define DW_EH_PE_sdata4		0x0B+#define DW_EH_PE_sdata8		0x0C+#define DW_EH_PE_signed		0x08++#define DW_EH_PE_pcrel		0x10+#define DW_EH_PE_textrel	0x20+#define DW_EH_PE_datarel	0x30+#define DW_EH_PE_funcrel	0x40+#define DW_EH_PE_aligned	0x50++#define DW_EH_PE_indirect	0x80++#endif /* _ELF_DWARF2_H */Index: linux-2.6.16/include/linux/dwarf2-lang.h===================================================================--- linux-2.6.16.orig/include/linux/dwarf2-lang.h	2006-04-25 10:59:23.506518750 +0530+++ linux-2.6.16/include/linux/dwarf2-lang.h	2006-04-25 11:42:37.000000000 +0530@@ -0,0 +1,300 @@+#ifndef DWARF2_LANG+#define DWARF2_LANG++/*+ * This is free software; you can redistribute it and/or modify it under+ * the terms of the GNU General Public License as published by the Free+ * Software Foundation; either version 2, or (at your option) any later+ * version.+ */+/*+ * This file defines macros that allow generation of DWARF debug records+ * for asm files.  This file is platform independent.  Register numbers+ * (which are about the only thing that is platform dependent) are to be+ * supplied by a platform defined file.+ */+/*+ * We need this to work for both asm and C.  In asm we are using the+ * old comment trick to concatenate while C uses the new ANSI thing.+ * Here we have concat macro...  The multi level thing is to allow and+ * macros used in the names to be resolved prior to the cat (at which+ * time they are no longer the same string).+ */+#define CAT3(a,b,c) _CAT3(a,b,c)+#define _CAT3(a,b,c) __CAT3(a,b,c)+#ifndef __STDC__+#define __CAT3(a,b,c) a/**/b/**/c+#else+#define __CAT3(a,b,c) a##b##c+#endif+#ifdef __ASSEMBLY__+#define IFC(a)+#define IFN_C(a) a+#define NL ;+#define QUOTE_THIS(a) a+#define DWARF_preamble .section .debug_frame,"",%progbits;+#else+#define IFC(a) a+#define IFN_C(a)+#define NL \n\t+#define QUOTE_THIS(a) _QUOTE_THIS(a)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -