36 #include <sys/cygwin.h>
41 #elif defined(__sun__) || defined(linux)
52 char *p = getenv (
"QNX_TARGET");
55 static char buf[PATH_MAX];
57 cygwin_conv_path (CCP_WIN_A_TO_POSIX, p, buf, PATH_MAX);
71 if (!strcmp (arch,
"i386") || !strcmp (arch,
"x86"))
73 if (!strcmp (arch,
"rs6000") || !strcmp (arch,
"powerpc"))
75 if (!strcmp (arch,
"mips"))
77 if (!strcmp (arch,
"arm"))
79 if (!strcmp (arch,
"sh"))
87 char *buf, *arch_path, *nto_root;
91 int arch_len,
len, ret;
93 "%s/lib:%s/usr/lib:%s/usr/photon/lib:%s/usr/photon/dll:%s/lib/dll"
113 == BFD_ENDIAN_BIG ?
"be" :
"le";
119 arch_len = (strlen (nto_root) + strlen (arch) + strlen (endian) + 2
121 arch_path = alloca (arch_len);
122 xsnprintf (arch_path, arch_len,
"%s/%s%s", nto_root, arch, endian);
124 len = strlen (
PATH_FMT) + strlen (arch_path) * 5 + 1;
129 base = lbasename (solib);
132 if (ret < 0 && base != solib)
134 xsnprintf (arch_path, arch_len,
"/%s", solib);
135 ret = open (arch_path, o_flags, 0);
141 *temp_pathname = NULL;
150 char buf[PATH_MAX * 2], arch_path[PATH_MAX];
173 == BFD_ENDIAN_BIG ?
"be" :
"le";
176 xsnprintf (arch_path,
sizeof (arch_path),
"%s/%s%s", nto_root, arch, endian);
178 xsnprintf (buf,
sizeof (buf),
"set solib-absolute-prefix %s", arch_path);
187 char *in, *out, *
err, *p;
190 for (n = 0; pargv[n]; n++);
197 argv =
xcalloc (n + 1,
sizeof argv[0]);
199 for (i = 0, n = 0; n < argc; n++)
218 else if (*p++ ==
'2' && *p++ ==
'>')
220 if (*p ==
'&' && *(p + 1) ==
'1')
228 argv[i++] = pargv[n];
286 static Elf_Internal_Phdr *
289 Elf_Internal_Phdr *phdr;
292 if (!elf_tdata (abfd))
295 phdr = elf_tdata (abfd)->phdr;
296 for (i = 0; i < elf_elfheader (abfd)->e_phnum; i++, phdr++)
298 if (phdr->p_type == PT_LOAD && (phdr->p_flags & PF_X))
311 unsigned vaddr = phdr ? phdr->p_vaddr : 0;
385 #if defined(SIGSELECT)
391 #if defined(SIGPHOTON)
struct gdbarch * target_gdbarch(void)
struct private_thread_info * priv
char * gdb_realpath(const char *filename)
CORE_ADDR extract_typed_address(const gdb_byte *buf, struct type *type)
static CORE_ADDR nto_truncate_ptr(CORE_ADDR addr)
int gdbarch_ptr_bit(struct gdbarch *gdbarch)
static char default_nto_target[]
const struct builtin_type * builtin_type(struct gdbarch *gdbarch)
static const char * nto_thread_state_str[]
static CORE_ADDR lm_addr(struct so_list *so)
void execute_command(char *, int)
#define OPF_TRY_CWD_FIRST
struct nto_target_ops current_nto_target
void nto_initialize_signals(void)
int openp(const char *, int, const char *, int, char **)
mach_port_t mach_port_t name mach_port_t mach_port_t name error_t err
int signal_pass_update(int signo, int state)
int nto_map_arch_to_cputype(const char *arch)
enum bfd_endian gdbarch_byte_order(struct gdbarch *gdbarch)
static Elf_Internal_Phdr * find_load_phdr(bfd *abfd)
#define nto_fetch_link_map_offsets
char ** nto_parse_redirection(char *pargv[], const char **pin, const char **pout, const char **perr)
int nto_find_and_open_solib(char *solib, unsigned o_flags, char **temp_pathname)
int nto_in_dynsym_resolve_code(CORE_ADDR pc)
enum gdb_osabi nto_elf_osabi_sniffer(bfd *abfd)
void nto_init_solib_absolute_prefix(void)
struct bfd_section * the_bfd_section
enum gdb_signal gdb_signal_from_name(const char *)
static char * nto_target(void)
int xsnprintf(char *str, size_t size, const char *format,...)
void nto_relocate_section_addresses(struct so_list *so, struct target_section *sec)
struct type * builtin_data_ptr
static int in_plt_section(CORE_ADDR pc)
#define OPF_RETURN_REALPATH
const struct bfd_arch_info * gdbarch_bfd_arch_info(struct gdbarch *gdbarch)
int signal_print_update(int signo, int state)
void nto_dummy_supply_regset(struct regcache *regcache, char *regs)
int signal_stop_update(int signo, int state)
PTR xcalloc(size_t number, size_t size)
#define nto_is_nto_target
char * nto_extra_thread_info(struct target_ops *self, struct thread_info *ti)
const ULONGEST const LONGEST len