GDB (API)
|
00001 /* Native-dependent code for NetBSD. 00002 00003 Copyright (C) 2006-2013 Free Software Foundation, Inc. 00004 00005 This file is part of GDB. 00006 00007 This program is free software; you can redistribute it and/or modify 00008 it under the terms of the GNU General Public License as published by 00009 the Free Software Foundation; either version 3 of the License, or 00010 (at your option) any later version. 00011 00012 This program is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU General Public License for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 00019 00020 #include "defs.h" 00021 00022 #include "nbsd-nat.h" 00023 00024 /* Return the name of a file that can be opened to get the symbols for 00025 the child process identified by PID. */ 00026 00027 char * 00028 nbsd_pid_to_exec_file (int pid) 00029 { 00030 size_t len = PATH_MAX; 00031 char *buf = xcalloc (len, sizeof (char)); 00032 char *path; 00033 00034 path = xstrprintf ("/proc/%d/exe", pid); 00035 if (readlink (path, buf, PATH_MAX - 1) == -1) 00036 { 00037 xfree (buf); 00038 buf = NULL; 00039 } 00040 00041 xfree (path); 00042 return buf; 00043 }