40 long number_of_symbols;
42 int pikeos_stack_found = 0;
43 int pikeos_stack_size_found = 0;
54 long storage_needed = bfd_get_symtab_upper_bound (abfd);
55 if (storage_needed <= 0)
58 gdb::unique_xmalloc_ptr<asymbol *> symbol_table
59 ((asymbol **)
xmalloc (storage_needed));
60 number_of_symbols = bfd_canonicalize_symtab (abfd, symbol_table.get ());
62 if (number_of_symbols <= 0)
65 for (i = 0; i < number_of_symbols; i++)
67 const char *
name = bfd_asymbol_name (symbol_table.get ()[i]);
69 if (strcmp (
name,
"_vm_stack") == 0
70 || strcmp (
name,
"__p4_stack") == 0)
71 pikeos_stack_found = 1;
73 if (strcmp (
name,
"_vm_stack_size") == 0
74 || strcmp (
name,
"__p4_stack_end") == 0)
75 pikeos_stack_size_found = 1;
78 if (pikeos_stack_found && pikeos_stack_size_found)
static void arm_pikeos_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
static enum gdb_osabi arm_pikeos_osabi_sniffer(bfd *abfd)
void _initialize_arm_pikeos_tdep()
std::vector< CORE_ADDR > arm_software_single_step(struct regcache *regcache)
void set_gdbarch_software_single_step(struct gdbarch *gdbarch, gdbarch_software_single_step_ftype *software_single_step)
void gdbarch_register_osabi(enum bfd_architecture arch, unsigned long machine, enum gdb_osabi osabi, void(*init_osabi)(struct gdbarch_info, struct gdbarch *))
void gdbarch_register_osabi_sniffer(enum bfd_architecture arch, enum bfd_flavour flavour, enum gdb_osabi(*sniffer_fn)(bfd *))