您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ tramp_frame_prepend_unwinder函数代码示例

51自学网 2021-06-03 08:56:57
  C++
这篇教程C++ tramp_frame_prepend_unwinder函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中tramp_frame_prepend_unwinder函数的典型用法代码示例。如果您正苦于以下问题:C++ tramp_frame_prepend_unwinder函数的具体用法?C++ tramp_frame_prepend_unwinder怎么用?C++ tramp_frame_prepend_unwinder使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了tramp_frame_prepend_unwinder函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: sh_linux_init_abi

static voidsh_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch){  linux_init_abi (info, gdbarch);  /* GNU/Linux uses SVR4-style shared libraries.  */  set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);  set_solib_svr4_fetch_link_map_offsets    (gdbarch, svr4_ilp32_fetch_link_map_offsets);  set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);  set_gdbarch_fetch_tls_load_module_address (gdbarch,                                             svr4_fetch_objfile_link_map);  /* Core files and signal handler frame unwinding are supported for     32-bit SH only, at present.  */  if (info.bfd_arch_info->mach != bfd_mach_sh5)    {      struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);      /* Remember regset characteristics.  The sizes should match	 elf_gregset_t and elf_fpregset_t from Linux.  */      tdep->core_gregmap = (struct sh_corefile_regmap *)gregs_table;      tdep->sizeof_gregset = 92;      tdep->core_fpregmap = (struct sh_corefile_regmap *)fpregs_table;      tdep->sizeof_fpregset = 136;      tramp_frame_prepend_unwinder (gdbarch, &sh_linux_sigreturn_tramp_frame);      tramp_frame_prepend_unwinder (gdbarch, &sh_linux_rt_sigreturn_tramp_frame);    }}
开发者ID:Cookfeces,项目名称:binutils-gdb,代码行数:31,


示例2: nios2_linux_init_abi

static voidnios2_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch){  struct gdbarch_tdep *tdep = new_gdbarch_tdep(gdbarch);  linux_init_abi (info, gdbarch);  /* Shared library handling.  */  set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);  set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);  set_solib_svr4_fetch_link_map_offsets (gdbarch,					 svr4_ilp32_fetch_link_map_offsets);  /* Enable TLS support.  */  set_gdbarch_fetch_tls_load_module_address (gdbarch,                                             svr4_fetch_objfile_link_map);  /* Core file support.  */  set_gdbarch_regset_from_core_section (gdbarch,                                        nios2_regset_from_core_section);  /* Linux signal frame unwinders.  */  tramp_frame_prepend_unwinder (gdbarch,                                &nios2_linux_sigreturn_tramp_frame);  tramp_frame_prepend_unwinder (gdbarch,                                &nios2_linux_rt_sigreturn_tramp_frame);  tdep->syscall_next_pc = nios2_linux_syscall_next_pc;  /* Index of target address word in glibc jmp_buf.  */  tdep->jb_pc = 10;}
开发者ID:cooljeanius,项目名称:apple-gdb-1824,代码行数:30,


示例3: mips_fbsd_init_abi

static voidmips_fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch){  enum mips_abi abi = mips_abi (gdbarch);  /* Generic FreeBSD support.  */  fbsd_init_abi (info, gdbarch);  set_gdbarch_software_single_step (gdbarch, mips_software_single_step);  switch (abi)    {      case MIPS_ABI_O32:	tramp_frame_prepend_unwinder (gdbarch, &mips_fbsd_sigframe);	break;      case MIPS_ABI_N32:	tramp_frame_prepend_unwinder (gdbarch, &mipsn32_fbsd_sigframe);	break;      case MIPS_ABI_N64:	tramp_frame_prepend_unwinder (gdbarch, &mips64_fbsd_sigframe);	break;    }  set_gdbarch_iterate_over_regset_sections    (gdbarch, mips_fbsd_iterate_over_regset_sections);  /* FreeBSD/mips has SVR4-style shared libraries.  */  set_solib_svr4_fetch_link_map_offsets    (gdbarch, (gdbarch_ptr_bit (gdbarch) == 32 ?	       mips_fbsd_ilp32_fetch_link_map_offsets :	       mips_fbsd_lp64_fetch_link_map_offsets));}
开发者ID:bminor,项目名称:binutils-gdb,代码行数:32,


示例4: i386nbsd_init_abi

static void i386nbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch){  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);  /* Obviously NetBSD is BSD-based.  */  i386bsd_init_abi (info, gdbarch);  /* NetBSD has a different `struct reg'.  */  tdep->gregset_reg_offset = i386nbsd_r_reg_offset;  tdep->gregset_num_regs = ARRAY_SIZE (i386nbsd_r_reg_offset);  tdep->sizeof_gregset = 16 * 4;  /* NetBSD uses -freg-struct-return by default.  */  tdep->struct_return = reg_struct_return;  /* NetBSD uses tramp_frame sniffers for signal trampolines. */  tdep->sigcontext_addr= 0;  tdep->sigtramp_start = 0;  tdep->sigtramp_end = 0;  tdep->sigtramp_p = 0;  tdep->sc_reg_offset = 0;  tdep->sc_num_regs = 0;  tramp_frame_prepend_unwinder (gdbarch, &i386nbsd_sigtramp_sc16);  tramp_frame_prepend_unwinder (gdbarch, &i386nbsd_sigtramp_sc2);  tramp_frame_prepend_unwinder (gdbarch, &i386nbsd_sigtramp_si2);  tramp_frame_prepend_unwinder (gdbarch, &i386nbsd_sigtramp_si31);  tramp_frame_prepend_unwinder (gdbarch, &i386nbsd_sigtramp_si4);}
开发者ID:3125788,项目名称:android_toolchain_gdb,代码行数:30,


示例5: alphanbsd_init_abi

static voidalphanbsd_init_abi (struct gdbarch_info info,                    struct gdbarch *gdbarch){  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);  /* Hook into the DWARF CFI frame unwinder.  */  alpha_dwarf2_init_abi (info, gdbarch);  /* Hook into the MDEBUG frame unwinder.  */  alpha_mdebug_init_abi (info, gdbarch);  /* NetBSD/alpha does not provide single step support via ptrace(2); we     must use software single-stepping.  */  set_gdbarch_software_single_step (gdbarch, alpha_software_single_step);  /* NetBSD/alpha has SVR4-style shared libraries.  */  set_solib_svr4_fetch_link_map_offsets    (gdbarch, svr4_lp64_fetch_link_map_offsets);#ifdef notyet  tdep->dynamic_sigtramp_offset = alphanbsd_sigtramp_offset;  tdep->pc_in_sigtramp = alphanbsd_pc_in_sigtramp;  tdep->sigcontext_addr = alphanbsd_sigcontext_addr;#endif  tdep->jb_pc = 2;  tdep->jb_elt_size = 8;  set_gdbarch_regset_from_core_section    (gdbarch, alphanbsd_regset_from_core_section);  tramp_frame_prepend_unwinder (gdbarch, &alphanbsd_sigtramp_sc1);  tramp_frame_prepend_unwinder (gdbarch, &alphanbsd_sigtramp_si2);  tramp_frame_prepend_unwinder (gdbarch, &alphanbsd_sigtramp_si4);}
开发者ID:gosudream,项目名称:netbsd-src,代码行数:35,


示例6: arm_linux_init_abi

static voidarm_linux_init_abi (struct gdbarch_info info,		    struct gdbarch *gdbarch){  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);  tdep->lowest_pc = 0x8000;  if (info.byte_order == BFD_ENDIAN_BIG)    {      if (tdep->arm_abi == ARM_ABI_AAPCS)	tdep->arm_breakpoint = eabi_linux_arm_be_breakpoint;      else	tdep->arm_breakpoint = arm_linux_arm_be_breakpoint;      tdep->thumb_breakpoint = arm_linux_thumb_be_breakpoint;    }  else    {      if (tdep->arm_abi == ARM_ABI_AAPCS)	tdep->arm_breakpoint = eabi_linux_arm_le_breakpoint;      else	tdep->arm_breakpoint = arm_linux_arm_le_breakpoint;      tdep->thumb_breakpoint = arm_linux_thumb_le_breakpoint;    }  tdep->arm_breakpoint_size = sizeof (arm_linux_arm_le_breakpoint);  tdep->thumb_breakpoint_size = sizeof (arm_linux_thumb_le_breakpoint);  if (tdep->fp_model == ARM_FLOAT_AUTO)    tdep->fp_model = ARM_FLOAT_FPA;  tdep->jb_pc = ARM_LINUX_JB_PC;  tdep->jb_elt_size = ARM_LINUX_JB_ELEMENT_SIZE;  set_solib_svr4_fetch_link_map_offsets    (gdbarch, svr4_ilp32_fetch_link_map_offsets);  /* The following override shouldn't be needed.  */  set_gdbarch_deprecated_extract_return_value (gdbarch, arm_linux_extract_return_value);  /* Shared library handling.  */  set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);  set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);  /* Enable TLS support.  */  set_gdbarch_fetch_tls_load_module_address (gdbarch,                                             svr4_fetch_objfile_link_map);  tramp_frame_prepend_unwinder (gdbarch,				&arm_linux_sigreturn_tramp_frame);  tramp_frame_prepend_unwinder (gdbarch,				&arm_linux_rt_sigreturn_tramp_frame);  tramp_frame_prepend_unwinder (gdbarch,				&arm_eabi_linux_sigreturn_tramp_frame);  tramp_frame_prepend_unwinder (gdbarch,				&arm_eabi_linux_rt_sigreturn_tramp_frame);}
开发者ID:mbref,项目名称:gdb-65-microblaze,代码行数:55,


示例7: am33_linux_init_osabi

static voidam33_linux_init_osabi (struct gdbarch_info gdbinfo, struct gdbarch *gdbarch){  set_gdbarch_regset_from_core_section (gdbarch, 					am33_regset_from_core_section);  set_solib_svr4_fetch_link_map_offsets    (gdbarch, svr4_ilp32_fetch_link_map_offsets);  tramp_frame_prepend_unwinder (gdbarch, &am33_linux_sigframe);  tramp_frame_prepend_unwinder (gdbarch, &am33_linux_rt_sigframe);}
开发者ID:benjaminlevine,项目名称:Huawei-HG633-Open-Source-Software-Package,代码行数:11,


示例8: am33_linux_init_osabi

static voidam33_linux_init_osabi (struct gdbarch_info info, struct gdbarch *gdbarch){  linux_init_abi (info, gdbarch);  set_gdbarch_iterate_over_regset_sections    (gdbarch, am33_iterate_over_regset_sections);  set_solib_svr4_fetch_link_map_offsets    (gdbarch, svr4_ilp32_fetch_link_map_offsets);  tramp_frame_prepend_unwinder (gdbarch, &am33_linux_sigframe);  tramp_frame_prepend_unwinder (gdbarch, &am33_linux_rt_sigframe);}
开发者ID:sifive,项目名称:riscv-binutils-gdb,代码行数:13,


示例9: tilegx_linux_init_abi

static voidtilegx_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch){  int arch_size = gdbarch_addr_bit (gdbarch);  linux_init_abi (info, gdbarch);  tramp_frame_prepend_unwinder (gdbarch, &tilegx_linux_rt_sigframe);  set_gdbarch_iterate_over_regset_sections    (gdbarch, tilegx_iterate_over_regset_sections);  /* GNU/Linux uses SVR4-style shared libraries.  */  if (arch_size == 32)    set_solib_svr4_fetch_link_map_offsets (gdbarch,					   svr4_ilp32_fetch_link_map_offsets);  else    set_solib_svr4_fetch_link_map_offsets (gdbarch,					   svr4_lp64_fetch_link_map_offsets);  /* Enable TLS support.  */  set_gdbarch_fetch_tls_load_module_address (gdbarch,					     svr4_fetch_objfile_link_map);  /* Shared library handling.  */  set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);  set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);}
开发者ID:Winter3un,项目名称:ctf_task,代码行数:28,


示例10: riscv_linux_init_abi

static voidriscv_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch){  linux_init_abi (info, gdbarch);  set_gdbarch_software_single_step (gdbarch, riscv_software_single_step);  set_solib_svr4_fetch_link_map_offsets (gdbarch,					 (riscv_isa_xlen (gdbarch) == 4					  ? svr4_ilp32_fetch_link_map_offsets					  : svr4_lp64_fetch_link_map_offsets));  /* GNU/Linux uses SVR4-style shared libraries.  */  set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);  /* GNU/Linux uses the dynamic linker included in the GNU C Library.  */  set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);  /* Enable TLS support.  */  set_gdbarch_fetch_tls_load_module_address (gdbarch,                                             svr4_fetch_objfile_link_map);  set_gdbarch_iterate_over_regset_sections    (gdbarch, riscv_linux_iterate_over_regset_sections);  tramp_frame_prepend_unwinder (gdbarch, &riscv_linux_sigframe);}
开发者ID:mattstock,项目名称:binutils-bexkat1,代码行数:27,


示例11: mips_irix_init_abi

static voidmips_irix_init_abi (struct gdbarch_info info,                    struct gdbarch *gdbarch){  set_solib_ops (gdbarch, &irix_so_ops);  tramp_frame_prepend_unwinder (gdbarch, &mips_irix_n32_tramp_frame);}
开发者ID:Akheon23,项目名称:chromecast-mirrored-source.toolchain,代码行数:7,


示例12: ppcnbsd_init_abi

static voidppcnbsd_init_abi (struct gdbarch_info info,                  struct gdbarch *gdbarch){  /* For NetBSD, this is an on again, off again thing.  Some systems     do use the broken struct convention, and some don't.  */  set_gdbarch_return_value (gdbarch, ppcnbsd_return_value);  /* NetBSD uses SVR4-style shared libraries.  */  set_solib_svr4_fetch_link_map_offsets    (gdbarch, svr4_ilp32_fetch_link_map_offsets);  set_gdbarch_regset_from_core_section    (gdbarch, ppcnbsd_regset_from_core_section);  tramp_frame_prepend_unwinder (gdbarch, &ppcnbsd_sigtramp);  tramp_frame_prepend_unwinder (gdbarch, &ppcnbsd2_sigtramp);}
开发者ID:Drakey83,项目名称:steamlink-sdk,代码行数:18,


示例13: sparc32_linux_init_abi

static voidsparc32_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch){  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);  linux_init_abi (info, gdbarch);  tdep->gregset = regset_alloc (gdbarch, sparc32_linux_supply_core_gregset,				sparc32_linux_collect_core_gregset);  tdep->sizeof_gregset = 152;  tdep->fpregset = regset_alloc (gdbarch, sparc32_linux_supply_core_fpregset,				 sparc32_linux_collect_core_fpregset);  tdep->sizeof_fpregset = 396;  tramp_frame_prepend_unwinder (gdbarch, &sparc32_linux_sigframe);  tramp_frame_prepend_unwinder (gdbarch, &sparc32_linux_rt_sigframe);  /* GNU/Linux has SVR4-style shared libraries...  */  set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);  set_solib_svr4_fetch_link_map_offsets    (gdbarch, svr4_ilp32_fetch_link_map_offsets);  /* ...which means that we need some special handling when doing     prologue analysis.  */  tdep->plt_entry_size = 12;  /* Enable TLS support.  */  set_gdbarch_fetch_tls_load_module_address (gdbarch,                                             svr4_fetch_objfile_link_map);  /* Make sure we can single-step over signal return system calls.  */  tdep->step_trap = sparc32_linux_step_trap;  /* Hook in the DWARF CFI frame unwinder.  */  dwarf2_append_unwinders (gdbarch);  set_gdbarch_write_pc (gdbarch, sparc_linux_write_pc);  /* Functions for 'catch syscall'.  */  set_xml_syscall_file_name (XML_SYSCALL_FILENAME_SPARC32);  set_gdbarch_get_syscall_number (gdbarch,                                  sparc32_linux_get_syscall_number);}
开发者ID:Claruarius,项目名称:stblinux-2.6.37,代码行数:44,


示例14: m68kbsd_aout_init_abi

static voidm68kbsd_aout_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch){  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);  m68kbsd_init_abi (info, gdbarch);  tdep->struct_return = reg_struct_return;  tramp_frame_prepend_unwinder (gdbarch, &m68kobsd_sigtramp);}
开发者ID:atgreen,项目名称:binutils-gdb,代码行数:11,


示例15: bfin_linux_init_abi

static voidbfin_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch){  linux_init_abi (info, gdbarch);  /* Set the sigtramp frame sniffer.  */  tramp_frame_prepend_unwinder (gdbarch, &bfin_linux_sigframe);  /* Functions for 'catch syscall'.  */  set_xml_syscall_file_name (gdbarch, "syscalls/bfin-linux.xml");  set_gdbarch_get_syscall_number (gdbarch,                                  bfin_linux_get_syscall_number);}
开发者ID:Caleb1994,项目名称:stewieos-binutils,代码行数:13,


示例16: mips64obsd_init_abi

static voidmips64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch){  /* OpenBSD/mips64 only supports the n64 ABI, but the braindamaged     way GDB works, forces us to pretend we can handle them all.  */  set_gdbarch_regset_from_core_section    (gdbarch, mips64obsd_regset_from_core_section);  tramp_frame_prepend_unwinder (gdbarch, &mips64obsd_sigframe);  /* OpenBSD/mips64 has SVR4-style shared libraries.  */  set_solib_svr4_fetch_link_map_offsets    (gdbarch, svr4_lp64_fetch_link_map_offsets);}
开发者ID:sergiodj,项目名称:gdb-sergio,代码行数:15,


示例17: aarch64_linux_init_abi

static voidaarch64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch){  static const char *const stap_integer_prefixes[] = { "#", "", NULL };  static const char *const stap_register_prefixes[] = { "", NULL };  static const char *const stap_register_indirection_prefixes[] = { "[",								    NULL };  static const char *const stap_register_indirection_suffixes[] = { "]",								    NULL };  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);  tdep->lowest_pc = 0x8000;  linux_init_abi (info, gdbarch);  if (tdep->ilp32)    set_solib_svr4_fetch_link_map_offsets (gdbarch, svr4_ilp32_fetch_link_map_offsets);  else    set_solib_svr4_fetch_link_map_offsets (gdbarch, svr4_lp64_fetch_link_map_offsets);  /* Enable TLS support.  */  set_gdbarch_fetch_tls_load_module_address (gdbarch,                                             svr4_fetch_objfile_link_map);  /* Shared library handling.  */  set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);  set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);  tramp_frame_prepend_unwinder (gdbarch, &aarch64_linux_rt_sigframe);  /* Enable longjmp.  */  tdep->jb_pc = 11;  set_gdbarch_regset_from_core_section (gdbarch,					aarch64_linux_regset_from_core_section);  /* SystemTap related.  */  set_gdbarch_stap_integer_prefix (gdbarch, stap_integer_prefixes);  set_gdbarch_stap_register_prefix (gdbarch, stap_register_prefixes);  set_gdbarch_stap_register_indirection_prefix (gdbarch,					    stap_register_indirection_prefixes);  set_gdbarch_stap_register_indirection_suffix (gdbarch,					    stap_register_indirection_suffixes);  set_gdbarch_stap_is_single_operand (gdbarch, aarch64_stap_is_single_operand);  set_gdbarch_stap_parse_special_token (gdbarch,					aarch64_stap_parse_special_token);}
开发者ID:rgmabs19357,项目名称:gdb,代码行数:46,


示例18: microblaze_linux_init_abi

static voidmicroblaze_linux_init_abi (struct gdbarch_info info,			   struct gdbarch *gdbarch){  linux_init_abi (info, gdbarch);  set_gdbarch_memory_remove_breakpoint (gdbarch,					microblaze_linux_memory_remove_breakpoint);  /* Shared library handling.  */  set_solib_svr4_fetch_link_map_offsets (gdbarch,					 svr4_ilp32_fetch_link_map_offsets);  /* Trampolines.  */  tramp_frame_prepend_unwinder (gdbarch,				&microblaze_linux_sighandler_tramp_frame);}
开发者ID:bminor,项目名称:binutils-gdb,代码行数:17,


示例19: armobsd_init_abi

static voidarmobsd_init_abi (struct gdbarch_info info,		  struct gdbarch *gdbarch){  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);  if (tdep->fp_model == ARM_FLOAT_AUTO)    tdep->fp_model = ARM_FLOAT_SOFT_VFP;  tramp_frame_prepend_unwinder (gdbarch, &armobsd_sigframe);  /* OpenBSD/arm uses SVR4-style shared libraries.  */  set_solib_svr4_fetch_link_map_offsets    (gdbarch, svr4_ilp32_fetch_link_map_offsets);  set_gdbarch_skip_solib_resolver (gdbarch, obsd_skip_solib_resolver);  tdep->jb_pc = 24;  tdep->jb_elt_size = 4;  set_gdbarch_regset_from_core_section    (gdbarch, armbsd_regset_from_core_section);  /* OpenBSD/arm uses -fpcc-struct-return by default.  */  tdep->struct_return = pcc_struct_return;  /* Single stepping.  */  set_gdbarch_software_single_step (gdbarch, arm_software_single_step);  /* Breakpoints.  */  switch (info.byte_order)    {    case BFD_ENDIAN_BIG:      tdep->thumb_breakpoint = arm_obsd_thumb_be_breakpoint;      tdep->thumb_breakpoint_size = sizeof (arm_obsd_thumb_be_breakpoint);      break;    case BFD_ENDIAN_LITTLE:      tdep->thumb_breakpoint = arm_obsd_thumb_le_breakpoint;      tdep->thumb_breakpoint_size = sizeof (arm_obsd_thumb_le_breakpoint);      break;    }}
开发者ID:ArmstrongJ,项目名称:insight-debugger,代码行数:42,


示例20: mips64obsd_init_abi

static voidmips64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch){  /* OpenBSD/mips64 only supports the n64 ABI, but the braindamaged     way GDB works, forces us to pretend we can handle them all.  */  set_gdbarch_iterate_over_regset_sections    (gdbarch, mips64obsd_iterate_over_regset_sections);  tramp_frame_prepend_unwinder (gdbarch, &mips64obsd_sigframe);  set_gdbarch_long_double_bit (gdbarch, 128);  set_gdbarch_long_double_format (gdbarch, floatformats_mips64_quad);  obsd_init_abi(info, gdbarch);  /* OpenBSD/mips64 has SVR4-style shared libraries.  */  set_solib_svr4_fetch_link_map_offsets    (gdbarch, svr4_lp64_fetch_link_map_offsets);}
开发者ID:Winter3un,项目名称:ctf_task,代码行数:20,


示例21: tic6x_uclinux_init_abi

static voidtic6x_uclinux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch){  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);  linux_init_abi (info, gdbarch);  /* Shared library handling.  */  set_solib_ops (gdbarch, &dsbt_so_ops);  tdep->syscall_next_pc = tic6x_linux_syscall_next_pc;#ifdef HAVE_ELF  /* In tic6x Linux kernel, breakpoint instructions varies on different archs.     On C64x+ and C67x+, breakpoint instruction is 0x56454314, which is an     illegal opcode.  On other arch, breakpoint instruction is 0x0000a122     (BNOP .S2 0,5).  */  if (info.abfd)    switch (bfd_elf_get_obj_attr_int (info.abfd, OBJ_ATTR_PROC, Tag_ISA))      {      case C6XABI_Tag_ISA_C64XP:      case C6XABI_Tag_ISA_C67XP:	if (info.byte_order == BFD_ENDIAN_BIG)	  tdep->breakpoint = tic6x_bkpt_illegal_opcode_be;	else	  tdep->breakpoint = tic6x_bkpt_illegal_opcode_le;	break;      default:	{	  if (info.byte_order == BFD_ENDIAN_BIG)	    tdep->breakpoint = tic6x_bkpt_bnop_be;	  else	    tdep->breakpoint = tic6x_bkpt_bnop_le;	}      }#endif  /* Signal trampoline support.  */  tramp_frame_prepend_unwinder (gdbarch,				&tic6x_linux_rt_sigreturn_tramp_frame);}
开发者ID:Cookfeces,项目名称:binutils-gdb,代码行数:41,


示例22: sparc64_linux_init_abi

static voidsparc64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch){  struct gdbarch_tdep *tdep = new_gdbarch_tdep(gdbarch);  tramp_frame_prepend_unwinder (gdbarch, &sparc64_linux_rt_sigframe);  sparc64_init_abi (info, gdbarch);  /* GNU/Linux has SVR4-style shared libraries...  */  set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);  set_solib_svr4_fetch_link_map_offsets    (gdbarch, svr4_lp64_fetch_link_map_offsets);  /* ...which means that we need some special handling when doing     prologue analysis.  */  tdep->plt_entry_size = 16;  /* Enable TLS support.  */  set_gdbarch_fetch_tls_load_module_address (gdbarch,                                             svr4_fetch_objfile_link_map);}
开发者ID:cooljeanius,项目名称:apple-gdb-1824,代码行数:22,


示例23: csky_linux_init_abi

static voidcsky_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch){  linux_init_abi (info, gdbarch);  /* Shared library handling.  */  set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);  set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);  set_solib_svr4_fetch_link_map_offsets (gdbarch,					 svr4_ilp32_fetch_link_map_offsets);  /* Enable TLS support.  */  set_gdbarch_fetch_tls_load_module_address (gdbarch,					     svr4_fetch_objfile_link_map);  /* Core file support.  */  set_gdbarch_iterate_over_regset_sections (    gdbarch, csky_linux_iterate_over_regset_sections);  /* Append tramp frame unwinder for SIGNAL.  */  tramp_frame_prepend_unwinder (gdbarch,				&csky_linux_rt_sigreturn_tramp_frame);}
开发者ID:mattstock,项目名称:binutils-bexkat1,代码行数:24,


示例24: ppc_linux_init_abi

static voidppc_linux_init_abi (struct gdbarch_info info,                    struct gdbarch *gdbarch){  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);  /* NOTE: jimb/2004-03-26: The System V ABI PowerPC Processor     Supplement says that long doubles are sixteen bytes long.     However, as one of the known warts of its ABI, PPC GNU/Linux uses     eight-byte long doubles.  GCC only recently got 128-bit long     double support on PPC, so it may be changing soon.  The     Linux[sic] Standards Base says that programs that use 'long     double' on PPC GNU/Linux are non-conformant.  */  /* NOTE: cagney/2005-01-25: True for both 32- and 64-bit.  */  set_gdbarch_long_double_bit (gdbarch, 8 * TARGET_CHAR_BIT);  /* Handle PPC GNU/Linux 64-bit function pointers (which are really     function descriptors) and 32-bit secure PLT entries.  */  set_gdbarch_convert_from_func_ptr_addr    (gdbarch, ppc_linux_convert_from_func_ptr_addr);  if (tdep->wordsize == 4)    {      /* Until November 2001, gcc did not comply with the 32 bit SysV	 R4 ABI requirement that structures less than or equal to 8	 bytes should be returned in registers.  Instead GCC was using	 the the AIX/PowerOpen ABI - everything returned in memory	 (well ignoring vectors that is).  When this was corrected, it	 wasn't fixed for GNU/Linux native platform.  Use the	 PowerOpen struct convention.  */      set_gdbarch_return_value (gdbarch, ppc_linux_return_value);      set_gdbarch_memory_remove_breakpoint (gdbarch,                                            ppc_linux_memory_remove_breakpoint);      /* Shared library handling.  */      set_gdbarch_skip_trampoline_code (gdbarch,                                        ppc_linux_skip_trampoline_code);      set_solib_svr4_fetch_link_map_offsets        (gdbarch, svr4_ilp32_fetch_link_map_offsets);      /* Trampolines.  */      tramp_frame_prepend_unwinder (gdbarch, &ppc32_linux_sigaction_tramp_frame);      tramp_frame_prepend_unwinder (gdbarch, &ppc32_linux_sighandler_tramp_frame);    }    if (tdep->wordsize == 8)    {      /* Shared library handling.  */      set_gdbarch_skip_trampoline_code (gdbarch, ppc64_skip_trampoline_code);      set_solib_svr4_fetch_link_map_offsets        (gdbarch, svr4_lp64_fetch_link_map_offsets);      /* Trampolines.  */      tramp_frame_prepend_unwinder (gdbarch, &ppc64_linux_sigaction_tramp_frame);      tramp_frame_prepend_unwinder (gdbarch, &ppc64_linux_sighandler_tramp_frame);    }  set_gdbarch_regset_from_core_section (gdbarch, ppc_linux_regset_from_core_section);  /* Enable TLS support.  */  set_gdbarch_fetch_tls_load_module_address (gdbarch,                                             svr4_fetch_objfile_link_map);}
开发者ID:gygy,项目名称:asuswrt,代码行数:63,


示例25: mips_linux_init_abi

static voidmips_linux_init_abi (struct gdbarch_info info,		     struct gdbarch *gdbarch){  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);  enum mips_abi abi = mips_abi (gdbarch);  struct tdesc_arch_data *tdesc_data = (void *) info.tdep_info;  linux_init_abi (info, gdbarch);  switch (abi)    {      case MIPS_ABI_O32:	set_gdbarch_get_longjmp_target (gdbarch,	                                mips_linux_get_longjmp_target);	set_solib_svr4_fetch_link_map_offsets	  (gdbarch, svr4_ilp32_fetch_link_map_offsets);	tramp_frame_prepend_unwinder (gdbarch, &mips_linux_o32_sigframe);	tramp_frame_prepend_unwinder (gdbarch, &mips_linux_o32_rt_sigframe);	break;      case MIPS_ABI_N32:	set_gdbarch_get_longjmp_target (gdbarch,	                                mips_linux_get_longjmp_target);	set_solib_svr4_fetch_link_map_offsets	  (gdbarch, svr4_ilp32_fetch_link_map_offsets);	set_gdbarch_long_double_bit (gdbarch, 128);	/* These floatformats should probably be renamed.  MIPS uses	   the same 128-bit IEEE floating point format that IA-64 uses,	   except that the quiet/signalling NaN bit is reversed (GDB	   does not distinguish between quiet and signalling NaNs).  */	set_gdbarch_long_double_format (gdbarch, floatformats_ia64_quad);	tramp_frame_prepend_unwinder (gdbarch, &mips_linux_n32_rt_sigframe);	break;      case MIPS_ABI_N64:	set_gdbarch_get_longjmp_target (gdbarch,	                                mips64_linux_get_longjmp_target);	set_solib_svr4_fetch_link_map_offsets	  (gdbarch, svr4_lp64_fetch_link_map_offsets);	set_gdbarch_long_double_bit (gdbarch, 128);	/* These floatformats should probably be renamed.  MIPS uses	   the same 128-bit IEEE floating point format that IA-64 uses,	   except that the quiet/signalling NaN bit is reversed (GDB	   does not distinguish between quiet and signalling NaNs).  */	set_gdbarch_long_double_format (gdbarch, floatformats_ia64_quad);	tramp_frame_prepend_unwinder (gdbarch, &mips_linux_n64_rt_sigframe);	break;      default:	break;    }  set_gdbarch_skip_solib_resolver (gdbarch, mips_linux_skip_resolver);  set_gdbarch_software_single_step (gdbarch, mips_software_single_step);  /* Enable TLS support.  */  set_gdbarch_fetch_tls_load_module_address (gdbarch,                                             svr4_fetch_objfile_link_map);  /* Initialize this lazily, to avoid an initialization order     dependency on solib-svr4.c's _initialize routine.  */  if (mips_svr4_so_ops.in_dynsym_resolve_code == NULL)    {      mips_svr4_so_ops = svr4_so_ops;      mips_svr4_so_ops.in_dynsym_resolve_code	= mips_linux_in_dynsym_resolve_code;    }  set_solib_ops (gdbarch, &mips_svr4_so_ops);  set_gdbarch_write_pc (gdbarch, mips_linux_write_pc);  set_gdbarch_core_read_description (gdbarch,				     mips_linux_core_read_description);  set_gdbarch_regset_from_core_section (gdbarch,					mips_linux_regset_from_core_section);  tdep->syscall_next_pc = mips_linux_syscall_next_pc;  if (tdesc_data)    {      const struct tdesc_feature *feature;      /* If we have target-described registers, then we can safely	 reserve a number for MIPS_RESTART_REGNUM (whether it is	 described or not).  */      gdb_assert (gdbarch_num_regs (gdbarch) <= MIPS_RESTART_REGNUM);      set_gdbarch_num_regs (gdbarch, MIPS_RESTART_REGNUM + 1);      set_gdbarch_num_pseudo_regs (gdbarch, MIPS_RESTART_REGNUM + 1);      /* If it's present, then assign it to the reserved number.  */      feature = tdesc_find_feature (info.target_desc,				    "org.gnu.gdb.mips.linux");      if (feature != NULL)	tdesc_numbered_register (feature, tdesc_data, MIPS_RESTART_REGNUM,				 "restart");    }}
开发者ID:RasmusKoldsoe,项目名称:performand.k70.2,代码行数:97,


示例26: aarch64_linux_init_abi

static voidaarch64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch){  static const char *const stap_integer_prefixes[] = { "#", "", NULL };  static const char *const stap_register_prefixes[] = { "", NULL };  static const char *const stap_register_indirection_prefixes[] = { "[",								    NULL };  static const char *const stap_register_indirection_suffixes[] = { "]",								    NULL };  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);  tdep->lowest_pc = 0x8000;  linux_init_abi (info, gdbarch);  set_solib_svr4_fetch_link_map_offsets (gdbarch,					 svr4_lp64_fetch_link_map_offsets);  /* Enable TLS support.  */  set_gdbarch_fetch_tls_load_module_address (gdbarch,                                             svr4_fetch_objfile_link_map);  /* Shared library handling.  */  set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);  set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);  tramp_frame_prepend_unwinder (gdbarch, &aarch64_linux_rt_sigframe);  /* Enable longjmp.  */  tdep->jb_pc = 11;  set_gdbarch_iterate_over_regset_sections    (gdbarch, aarch64_linux_iterate_over_regset_sections);  /* SystemTap related.  */  set_gdbarch_stap_integer_prefixes (gdbarch, stap_integer_prefixes);  set_gdbarch_stap_register_prefixes (gdbarch, stap_register_prefixes);  set_gdbarch_stap_register_indirection_prefixes (gdbarch,					    stap_register_indirection_prefixes);  set_gdbarch_stap_register_indirection_suffixes (gdbarch,					    stap_register_indirection_suffixes);  set_gdbarch_stap_is_single_operand (gdbarch, aarch64_stap_is_single_operand);  set_gdbarch_stap_parse_special_token (gdbarch,					aarch64_stap_parse_special_token);  /* Reversible debugging, process record.  */  set_gdbarch_process_record (gdbarch, aarch64_process_record);  /* Syscall record.  */  tdep->aarch64_syscall_record = aarch64_linux_syscall_record;  /* Initialize the aarch64_linux_record_tdep.  */  /* These values are the size of the type that will be used in a system     call.  They are obtained from Linux Kernel source.  */  aarch64_linux_record_tdep.size_pointer    = gdbarch_ptr_bit (gdbarch) / TARGET_CHAR_BIT;  aarch64_linux_record_tdep.size__old_kernel_stat = 32;  aarch64_linux_record_tdep.size_tms = 32;  aarch64_linux_record_tdep.size_loff_t = 8;  aarch64_linux_record_tdep.size_flock = 32;  aarch64_linux_record_tdep.size_oldold_utsname = 45;  aarch64_linux_record_tdep.size_ustat = 32;  aarch64_linux_record_tdep.size_old_sigaction = 152;  aarch64_linux_record_tdep.size_old_sigset_t = 128;  aarch64_linux_record_tdep.size_rlimit = 16;  aarch64_linux_record_tdep.size_rusage = 144;  aarch64_linux_record_tdep.size_timeval = 16;  aarch64_linux_record_tdep.size_timezone = 8;  aarch64_linux_record_tdep.size_old_gid_t = 2;  aarch64_linux_record_tdep.size_old_uid_t = 2;  aarch64_linux_record_tdep.size_fd_set = 128;  aarch64_linux_record_tdep.size_dirent = 280;  aarch64_linux_record_tdep.size_dirent64 = 280;  aarch64_linux_record_tdep.size_statfs = 120;  aarch64_linux_record_tdep.size_statfs64 = 120;  aarch64_linux_record_tdep.size_sockaddr = 16;  aarch64_linux_record_tdep.size_int    = gdbarch_int_bit (gdbarch) / TARGET_CHAR_BIT;  aarch64_linux_record_tdep.size_long    = gdbarch_long_bit (gdbarch) / TARGET_CHAR_BIT;  aarch64_linux_record_tdep.size_ulong    = gdbarch_long_bit (gdbarch) / TARGET_CHAR_BIT;  aarch64_linux_record_tdep.size_msghdr = 56;  aarch64_linux_record_tdep.size_itimerval = 32;  aarch64_linux_record_tdep.size_stat = 144;  aarch64_linux_record_tdep.size_old_utsname = 325;  aarch64_linux_record_tdep.size_sysinfo = 112;  aarch64_linux_record_tdep.size_msqid_ds = 120;  aarch64_linux_record_tdep.size_shmid_ds = 112;  aarch64_linux_record_tdep.size_new_utsname = 390;  aarch64_linux_record_tdep.size_timex = 208;  aarch64_linux_record_tdep.size_mem_dqinfo = 24;  aarch64_linux_record_tdep.size_if_dqblk = 72;  aarch64_linux_record_tdep.size_fs_quota_stat = 80;  aarch64_linux_record_tdep.size_timespec = 16;  aarch64_linux_record_tdep.size_pollfd = 8;  aarch64_linux_record_tdep.size_NFS_FHSIZE = 32;  aarch64_linux_record_tdep.size_knfsd_fh = 132;  aarch64_linux_record_tdep.size_TASK_COMM_LEN = 16;  aarch64_linux_record_tdep.size_sigaction = 152;  aarch64_linux_record_tdep.size_sigset_t = 128;//.........这里部分代码省略.........
开发者ID:ChrisG0x20,项目名称:gdb,代码行数:101,


示例27: arm_linux_init_abi

static voidarm_linux_init_abi (struct gdbarch_info info,		    struct gdbarch *gdbarch){  static const char *const stap_integer_prefixes[] = { "#", NULL };  static const char *const stap_register_prefixes[] = { "r", NULL };  static const char *const stap_register_indirection_prefixes[] = { "[",								    NULL };  static const char *const stap_register_indirection_suffixes[] = { "]",								    NULL };  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);  linux_init_abi (info, gdbarch);  tdep->lowest_pc = 0x8000;  if (info.byte_order == BFD_ENDIAN_BIG)    {      if (tdep->arm_abi == ARM_ABI_AAPCS)	tdep->arm_breakpoint = eabi_linux_arm_be_breakpoint;      else	tdep->arm_breakpoint = arm_linux_arm_be_breakpoint;      tdep->thumb_breakpoint = arm_linux_thumb_be_breakpoint;      tdep->thumb2_breakpoint = arm_linux_thumb2_be_breakpoint;    }  else    {      if (tdep->arm_abi == ARM_ABI_AAPCS)	tdep->arm_breakpoint = eabi_linux_arm_le_breakpoint;      else	tdep->arm_breakpoint = arm_linux_arm_le_breakpoint;      tdep->thumb_breakpoint = arm_linux_thumb_le_breakpoint;      tdep->thumb2_breakpoint = arm_linux_thumb2_le_breakpoint;    }  tdep->arm_breakpoint_size = sizeof (arm_linux_arm_le_breakpoint);  tdep->thumb_breakpoint_size = sizeof (arm_linux_thumb_le_breakpoint);  tdep->thumb2_breakpoint_size = sizeof (arm_linux_thumb2_le_breakpoint);  if (tdep->fp_model == ARM_FLOAT_AUTO)    tdep->fp_model = ARM_FLOAT_FPA;  switch (tdep->fp_model)    {    case ARM_FLOAT_FPA:      tdep->jb_pc = ARM_LINUX_JB_PC_FPA;      break;    case ARM_FLOAT_SOFT_FPA:    case ARM_FLOAT_SOFT_VFP:    case ARM_FLOAT_VFP:      tdep->jb_pc = ARM_LINUX_JB_PC_EABI;      break;    default:      internal_error	(__FILE__, __LINE__,         _("arm_linux_init_abi: Floating point model not supported"));      break;    }  tdep->jb_elt_size = ARM_LINUX_JB_ELEMENT_SIZE;  set_solib_svr4_fetch_link_map_offsets    (gdbarch, svr4_ilp32_fetch_link_map_offsets);  /* Single stepping.  */  set_gdbarch_software_single_step (gdbarch, arm_linux_software_single_step);  /* Shared library handling.  */  set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);  set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);  /* Enable TLS support.  */  set_gdbarch_fetch_tls_load_module_address (gdbarch,                                             svr4_fetch_objfile_link_map);  tramp_frame_prepend_unwinder (gdbarch,				&arm_linux_sigreturn_tramp_frame);  tramp_frame_prepend_unwinder (gdbarch,				&arm_linux_rt_sigreturn_tramp_frame);  tramp_frame_prepend_unwinder (gdbarch,				&arm_eabi_linux_sigreturn_tramp_frame);  tramp_frame_prepend_unwinder (gdbarch,				&arm_eabi_linux_rt_sigreturn_tramp_frame);  tramp_frame_prepend_unwinder (gdbarch,				&arm_linux_restart_syscall_tramp_frame);  tramp_frame_prepend_unwinder (gdbarch,				&arm_kernel_linux_restart_syscall_tramp_frame);  /* Core file support.  */  set_gdbarch_regset_from_core_section (gdbarch,					arm_linux_regset_from_core_section);  set_gdbarch_core_read_description (gdbarch, arm_linux_core_read_description);  if (tdep->have_vfp_registers)    set_gdbarch_core_regset_sections (gdbarch, arm_linux_vfp_regset_sections);  else if (tdep->have_fpa_registers)    set_gdbarch_core_regset_sections (gdbarch, arm_linux_fpa_regset_sections);  set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);  /* Displaced stepping.  */  set_gdbarch_displaced_step_copy_insn (gdbarch,					arm_linux_displaced_step_copy_insn);//.........这里部分代码省略.........
开发者ID:nds32,项目名称:binutils,代码行数:101,


示例28: arm_linux_init_abi

static voidarm_linux_init_abi (struct gdbarch_info info,		    struct gdbarch *gdbarch){  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);  linux_init_abi (info, gdbarch);  tdep->lowest_pc = 0x8000;  if (info.byte_order == BFD_ENDIAN_BIG)    {      if (tdep->arm_abi == ARM_ABI_AAPCS)	tdep->arm_breakpoint = eabi_linux_arm_be_breakpoint;      else	tdep->arm_breakpoint = arm_linux_arm_be_breakpoint;      tdep->thumb_breakpoint = arm_linux_thumb_be_breakpoint;      tdep->thumb2_breakpoint = arm_linux_thumb2_be_breakpoint;    }  else    {      if (tdep->arm_abi == ARM_ABI_AAPCS)	tdep->arm_breakpoint = eabi_linux_arm_le_breakpoint;      else	tdep->arm_breakpoint = arm_linux_arm_le_breakpoint;      tdep->thumb_breakpoint = arm_linux_thumb_le_breakpoint;      tdep->thumb2_breakpoint = arm_linux_thumb2_le_breakpoint;    }  tdep->arm_breakpoint_size = sizeof (arm_linux_arm_le_breakpoint);  tdep->thumb_breakpoint_size = sizeof (arm_linux_thumb_le_breakpoint);  tdep->thumb2_breakpoint_size = sizeof (arm_linux_thumb2_le_breakpoint);  if (tdep->fp_model == ARM_FLOAT_AUTO)    tdep->fp_model = ARM_FLOAT_FPA;  switch (tdep->fp_model)    {    case ARM_FLOAT_FPA:      tdep->jb_pc = ARM_LINUX_JB_PC_FPA;      break;    case ARM_FLOAT_SOFT_FPA:    case ARM_FLOAT_SOFT_VFP:    case ARM_FLOAT_VFP:      tdep->jb_pc = ARM_LINUX_JB_PC_EABI;      break;    default:      internal_error	(__FILE__, __LINE__,         _("arm_linux_init_abi: Floating point model not supported"));      break;    }  if (is_target_linux_android ())    tdep->jb_pc = ARM_ANDROID_JB_PC;  tdep->jb_elt_size = ARM_LINUX_JB_ELEMENT_SIZE;  set_solib_svr4_fetch_link_map_offsets    (gdbarch, svr4_ilp32_fetch_link_map_offsets);  /* Single stepping.  */  set_gdbarch_software_single_step (gdbarch, arm_linux_software_single_step);  /* Shared library handling.  */  set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);  set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);  /* Enable TLS support.  */  set_gdbarch_fetch_tls_load_module_address (gdbarch,                                             svr4_fetch_objfile_link_map);  if (is_target_linux_android ())    /* This is incomplete, we can't singlestep through the handler back to       the interrupted code, address 0xffff0500 is inaccessible.       This is really a temp hack until there's libc additions to put the       trampoline code in user space.  */    frame_unwind_prepend_unwinder (gdbarch,                                   &arm_android_sigreturn_tramp_frame);  else  { /* This indentation is on purpose to minimize whitespace changes.  */  tramp_frame_prepend_unwinder (gdbarch,				&arm_linux_sigreturn_tramp_frame);  tramp_frame_prepend_unwinder (gdbarch,				&arm_linux_rt_sigreturn_tramp_frame);  tramp_frame_prepend_unwinder (gdbarch,				&arm_eabi_linux_sigreturn_tramp_frame);  tramp_frame_prepend_unwinder (gdbarch,				&arm_eabi_linux_rt_sigreturn_tramp_frame);  tramp_frame_prepend_unwinder (gdbarch,				&arm_linux_restart_syscall_tramp_frame);  tramp_frame_prepend_unwinder (gdbarch,				&arm_kernel_linux_restart_syscall_tramp_frame);  }  /* Core file support.  */  set_gdbarch_regset_from_core_section (gdbarch,					arm_linux_regset_from_core_section);  set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);  /* Displaced stepping.  *///.........这里部分代码省略.........
开发者ID:peterdocter,项目名称:toolchain-gdb,代码行数:101,



注:本文中的tramp_frame_prepend_unwinder函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ trans函数代码示例
C++ train函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。