GDB (xrefs)
/tmp/gdb-7.10/gdb/sol2-tdep.c
Go to the documentation of this file.
1 /* Target-dependent code for Solaris.
2 
3  Copyright (C) 2006-2015 Free Software Foundation, Inc.
4 
5  This file is part of GDB.
6 
7  This program is free software; you can redistribute it and/or modify
8  it under the terms of the GNU General Public License as published by
9  the Free Software Foundation; either version 3 of the License, or
10  (at your option) any later version.
11 
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with this program. If not, see <http://www.gnu.org/licenses/>. */
19 
20 #include "defs.h"
21 #include "frame.h"
22 #include "symtab.h"
23 #include "inferior.h"
24 #include "objfiles.h"
25 
26 #include "sol2-tdep.h"
27 
30 {
31  struct bound_minimal_symbol msym;
32 
33  msym = lookup_minimal_symbol("elf_bndr", NULL, NULL);
34  if (msym.minsym && BMSYMBOL_VALUE_ADDRESS (msym) == pc)
36 
37  return 0;
38 }
39 
40 /* This is how we want PTIDs from Solaris core files to be
41  printed. */
42 
43 char *
45 {
46  static char buf[80];
47  struct inferior *inf;
48  int pid;
49 
50  /* Check whether we're printing an LWP (gdb thread) or a
51  process. */
52  pid = ptid_get_lwp (ptid);
53  if (pid != 0)
54  {
55  /* A thread. */
56  xsnprintf (buf, sizeof buf, "LWP %ld", ptid_get_lwp (ptid));
57  return buf;
58  }
59 
60  /* GDB didn't use to put a NT_PSTATUS note in Solaris cores. If
61  that's missing, then we're dealing with a fake PID corelow.c made
62  up. */
63  inf = find_inferior_ptid (ptid);
64  if (inf == NULL || inf->fake_pid_p)
65  {
66  xsnprintf (buf, sizeof buf, "<core>");
67  return buf;
68  }
69 
70  /* Not fake; print as usual. */
71  return normal_pid_to_str (ptid);
72 }
CORE_ADDR sol2_skip_solib_resolver(struct gdbarch *gdbarch, CORE_ADDR pc)
Definition: sol2-tdep.c:29
struct frame_info * get_current_frame(void)
Definition: frame.c:1461
bfd_vma CORE_ADDR
Definition: common-types.h:41
CORE_ADDR frame_unwind_caller_pc(struct frame_info *this_frame)
Definition: frame.c:870
#define BMSYMBOL_VALUE_ADDRESS(symbol)
Definition: symtab.h:393
tuple inf
Definition: arm-linux.py:13
struct inferior * find_inferior_ptid(ptid_t ptid)
Definition: inferior.c:373
Definition: ptid.h:35
char * normal_pid_to_str(ptid_t ptid)
Definition: target.c:3207
char * sol2_core_pid_to_str(struct gdbarch *gdbarch, ptid_t ptid)
Definition: sol2-tdep.c:44
int xsnprintf(char *str, size_t size, const char *format,...)
Definition: common-utils.c:134
int fake_pid_p
Definition: inferior.h:301
long ptid_get_lwp(ptid_t ptid)
Definition: ptid.c:60
struct bound_minimal_symbol lookup_minimal_symbol(const char *name, const char *sfile, struct objfile *objf)
Definition: minsyms.c:163
mach_port_t mach_port_t name mach_port_t mach_port_t name error_t int int rusage_t pid_t pid
Definition: gnu-nat.c:1818