forked from Imagelibrary/binutils-gdb
-Wwrite-strings flagged a missing cast for example here:
static char *
ravenscar_extra_thread_info (struct target_ops *self, struct thread_info *tp)
{
return "Ravenscar task";
Since callers are not supposed to free the string returned by these
methods, change the methods' signature to return const strings.
gdb/ChangeLog:
2017-04-05 Pedro Alves <palves@redhat.com>
* aix-thread.c (aix_thread_pid_to_str)
(aix_thread_extra_thread_info): Constify.
* bsd-kvm.c (bsd_kvm_pid_to_str): Constify.
* bsd-uthread.c (bsd_uthread_extra_thread_info)
(bsd_uthread_pid_to_str): Constify.
* corelow.c (core_pid_to_str): Constify.
* darwin-nat.c (darwin_pid_to_str): Constify.
* fbsd-nat.c (fbsd_pid_to_str): Constify.
* fbsd-tdep.c (fbsd_core_pid_to_str, gdbarch_core_pid_to_str):
Constify.
* gnu-nat.c (gnu_pid_to_str): Constify.
* go32-nat.c (go32_pid_to_str): Constify.
* i386-cygwin-tdep.c (i386_windows_core_pid_to_str): Constify.
* inf-ptrace.c (inf_ptrace_pid_to_str): Constify.
* inferior.c (inferior_pid_to_str): Constify.
* linux-nat.c (linux_nat_pid_to_str): Constify.
* linux-tdep.c (linux_core_pid_to_str): Constify.
* linux-thread-db.c (thread_db_pid_to_str)
(thread_db_extra_thread_info): Constify.
* nto-tdep.c (nto_extra_thread_info): Constify.
* nto-tdep.h (nto_extra_thread_info): Constify.
* obsd-nat.c (obsd_pid_to_str): Constify.
* procfs.c (procfs_pid_to_str): Constify.
* ravenscar-thread.c (ravenscar_extra_thread_info)
(ravenscar_pid_to_str): Constify.
* remote-sim.c (gdbsim_pid_to_str): Constify.
* remote.c (remote_threads_extra_info, remote_pid_to_str):
Constify.
* sol-thread.c (solaris_pid_to_str): Constify.
* sol2-tdep.c (sol2_core_pid_to_str): Constify.
* sol2-tdep.h (sol2_core_pid_to_str): Constify.
* target.c (default_pid_to_str, target_pid_to_str)
(normal_pid_to_str, default_pid_to_str): Constify.
* target.h (target_ops::to_pid_to_str)
(target_ops::to_extra_thread_info): Constify.
(target_pid_to_str, normal_pid_to_str): Constify.
* windows-nat.c (windows_pid_to_str): Constify.
* gdbarch.sh (core_pid_to_str): Constify.
* target-delegates.c: Regenerate.
* gdbarch.h, gdbarch.c: Regenerate.
73 lines
2.0 KiB
C
73 lines
2.0 KiB
C
/* Target-dependent code for Solaris.
|
|
|
|
Copyright (C) 2006-2017 Free Software Foundation, Inc.
|
|
|
|
This file is part of GDB.
|
|
|
|
This program 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 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
|
|
#include "defs.h"
|
|
#include "frame.h"
|
|
#include "symtab.h"
|
|
#include "inferior.h"
|
|
#include "objfiles.h"
|
|
|
|
#include "sol2-tdep.h"
|
|
|
|
CORE_ADDR
|
|
sol2_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc)
|
|
{
|
|
struct bound_minimal_symbol msym;
|
|
|
|
msym = lookup_minimal_symbol("elf_bndr", NULL, NULL);
|
|
if (msym.minsym && BMSYMBOL_VALUE_ADDRESS (msym) == pc)
|
|
return frame_unwind_caller_pc (get_current_frame ());
|
|
|
|
return 0;
|
|
}
|
|
|
|
/* This is how we want PTIDs from Solaris core files to be
|
|
printed. */
|
|
|
|
const char *
|
|
sol2_core_pid_to_str (struct gdbarch *gdbarch, ptid_t ptid)
|
|
{
|
|
static char buf[80];
|
|
struct inferior *inf;
|
|
int pid;
|
|
|
|
/* Check whether we're printing an LWP (gdb thread) or a
|
|
process. */
|
|
pid = ptid_get_lwp (ptid);
|
|
if (pid != 0)
|
|
{
|
|
/* A thread. */
|
|
xsnprintf (buf, sizeof buf, "LWP %ld", ptid_get_lwp (ptid));
|
|
return buf;
|
|
}
|
|
|
|
/* GDB didn't use to put a NT_PSTATUS note in Solaris cores. If
|
|
that's missing, then we're dealing with a fake PID corelow.c made
|
|
up. */
|
|
inf = find_inferior_ptid (ptid);
|
|
if (inf == NULL || inf->fake_pid_p)
|
|
{
|
|
xsnprintf (buf, sizeof buf, "<core>");
|
|
return buf;
|
|
}
|
|
|
|
/* Not fake; print as usual. */
|
|
return normal_pid_to_str (ptid);
|
|
}
|