Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1242)

Unified Diff: gdb/gdbserver/inferiors.c

Issue 11969036: Merge GDB 7.5.1 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@master
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gdb/gdbserver/i386-low.c ('k') | gdb/gdbserver/linux-arm-low.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gdb/gdbserver/inferiors.c
diff --git a/gdb/gdbserver/inferiors.c b/gdb/gdbserver/inferiors.c
index cac9878e9395cc64440a34a8f0b2232708cedbdc..76abaf5353ee57747f72fa9f99f93b42c2d5138a 100644
--- a/gdb/gdbserver/inferiors.c
+++ b/gdb/gdbserver/inferiors.c
@@ -21,16 +21,14 @@
#include <stdlib.h>
#include "server.h"
+#include "gdbthread.h"
struct inferior_list all_processes;
struct inferior_list all_threads;
-struct inferior_list all_dlls;
-int dlls_changed;
struct thread_info *current_inferior;
#define get_thread(inf) ((struct thread_info *)(inf))
-#define get_dll(inf) ((struct dll_info *)(inf))
void
add_inferior_to_list (struct inferior_list *list,
@@ -228,86 +226,6 @@ set_inferior_regcache_data (struct thread_info *inferior, void *data)
inferior->regcache_data = data;
}
-static void
-free_one_dll (struct inferior_list_entry *inf)
-{
- struct dll_info *dll = get_dll (inf);
- if (dll->name != NULL)
- free (dll->name);
- free (dll);
-}
-
-/* Find a DLL with the same name and/or base address. A NULL name in
- the key is ignored; so is an all-ones base address. */
-
-static int
-match_dll (struct inferior_list_entry *inf, void *arg)
-{
- struct dll_info *iter = (void *) inf;
- struct dll_info *key = arg;
-
- if (key->base_addr != ~(CORE_ADDR) 0
- && iter->base_addr == key->base_addr)
- return 1;
- else if (key->name != NULL
- && iter->name != NULL
- && strcmp (key->name, iter->name) == 0)
- return 1;
-
- return 0;
-}
-
-/* Record a newly loaded DLL at BASE_ADDR. */
-
-void
-loaded_dll (const char *name, CORE_ADDR base_addr)
-{
- struct dll_info *new_dll = xmalloc (sizeof (*new_dll));
- memset (new_dll, 0, sizeof (*new_dll));
-
- new_dll->entry.id = minus_one_ptid;
-
- new_dll->name = xstrdup (name);
- new_dll->base_addr = base_addr;
-
- add_inferior_to_list (&all_dlls, &new_dll->entry);
- dlls_changed = 1;
-}
-
-/* Record that the DLL with NAME and BASE_ADDR has been unloaded. */
-
-void
-unloaded_dll (const char *name, CORE_ADDR base_addr)
-{
- struct dll_info *dll;
- struct dll_info key_dll;
-
- /* Be careful not to put the key DLL in any list. */
- key_dll.name = (char *) name;
- key_dll.base_addr = base_addr;
-
- dll = (void *) find_inferior (&all_dlls, match_dll, &key_dll);
-
- if (dll == NULL)
- /* For some inferiors we might get unloaded_dll events without having
- a corresponding loaded_dll. In that case, the dll cannot be found
- in ALL_DLL, and there is nothing further for us to do.
-
- This has been observed when running 32bit executables on Windows64
- (i.e. through WOW64, the interface between the 32bits and 64bits
- worlds). In that case, the inferior always does some strange
- unloading of unnamed dll. */
- return;
- else
- {
- /* DLL has been found so remove the entry and free associated
- resources. */
- remove_inferior (&all_dlls, &dll->entry);
- free_one_dll (&dll->entry);
- dlls_changed = 1;
- }
-}
-
#define clear_list(LIST) \
do { (LIST)->head = (LIST)->tail = NULL; } while (0)
@@ -315,41 +233,11 @@ void
clear_inferiors (void)
{
for_each_inferior (&all_threads, free_one_thread);
- for_each_inferior (&all_dlls, free_one_dll);
-
clear_list (&all_threads);
- clear_list (&all_dlls);
-
- current_inferior = NULL;
-}
-/* Two utility functions for a truly degenerate inferior_list: a simple
- PID listing. */
+ clear_dlls ();
-void
-add_pid_to_list (struct inferior_list *list, unsigned long pid)
-{
- struct inferior_list_entry *new_entry;
-
- new_entry = xmalloc (sizeof (struct inferior_list_entry));
- new_entry->id = pid_to_ptid (pid);
- add_inferior_to_list (list, new_entry);
-}
-
-int
-pull_pid_from_list (struct inferior_list *list, unsigned long pid)
-{
- struct inferior_list_entry *new_entry;
-
- new_entry = find_inferior_id (list, pid_to_ptid (pid));
- if (new_entry == NULL)
- return 0;
- else
- {
- remove_inferior (list, new_entry);
- free (new_entry);
- return 1;
- }
+ current_inferior = NULL;
}
struct process_info *
« no previous file with comments | « gdb/gdbserver/i386-low.c ('k') | gdb/gdbserver/linux-arm-low.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698