+2012-01-27 Pedro Alves <palves@redhat.com>
+
+ * linux-low.c (linux_child_pid_to_exec_file): Delete.
+ (elf_64_file_p): Make static.
+ (linux_pid_exe_is_elf_64_file): New.
+ * linux-low.h (linux_child_pid_to_exec_file, elf_64_file_p):
+ Delete declarations.
+ (linux_pid_exe_is_elf_64_file): Declare.
+ * linux-x86-low.c (x86_arch_setup): Use
+ linux_pid_exe_is_elf_64_file.
+
2012-01-25 Jan Kratochvil <jan.kratochvil@redhat.com>
* linux-low.c (linux_wait_for_event_1): Rename to ...
static void send_sigstop (struct lwp_info *lwp);
static void wait_for_sigstop (struct inferior_list_entry *entry);
-/* Accepts an integer PID; Returns a string representing a file that
- can be opened to get info for the child process.
- Space for the result is malloc'd, caller must free. */
-
-char *
-linux_child_pid_to_exec_file (int pid)
-{
- char *name1, *name2;
-
- name1 = xmalloc (MAXPATHLEN);
- name2 = xmalloc (MAXPATHLEN);
- memset (name2, 0, MAXPATHLEN);
-
- sprintf (name1, "/proc/%d/exe", pid);
- if (readlink (name1, name2, MAXPATHLEN) > 0)
- {
- free (name1);
- return name2;
- }
- else
- {
- free (name2);
- return name1;
- }
-}
-
/* Return non-zero if HEADER is a 64-bit ELF file. */
static int
zero if the file is not a 64-bit ELF file,
and -1 if the file is not accessible or doesn't exist. */
-int
+static int
elf_64_file_p (const char *file)
{
Elf64_Ehdr header;
return elf_64_header_p (&header);
}
+/* Accepts an integer PID; Returns true if the executable PID is
+ running is a 64-bit ELF file.. */
+
+int
+linux_pid_exe_is_elf_64_file (int pid)
+{
+ char file[MAXPATHLEN];
+
+ sprintf (file, "/proc/%d/exe", pid);
+ return elf_64_file_p (file);
+}
+
static void
delete_lwp (struct lwp_info *lwp)
{
extern struct inferior_list all_lwps;
-char *linux_child_pid_to_exec_file (int pid);
-int elf_64_file_p (const char *file);
+int linux_pid_exe_is_elf_64_file (int pid);
void linux_attach_lwp (unsigned long pid);
struct lwp_info *find_lwp_pid (ptid_t ptid);