X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fada-tasks.c;h=c067ae66727f12546cf3d43cd4195de15bed9ee8;hb=484b3c325d8182cd7b7da4ceeaedc238c7f80b5c;hp=53a29e143f296715ccaa695825d895d336caec2e;hpb=ecd75fc8eed3bde86036141228074a20e55dcfc9;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ada-tasks.c b/gdb/ada-tasks.c index 53a29e143f..c067ae6672 100644 --- a/gdb/ada-tasks.c +++ b/gdb/ada-tasks.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2014 Free Software Foundation, Inc. +/* Copyright (C) 1992-2016 Free Software Foundation, Inc. This file is part of GDB. @@ -248,10 +248,11 @@ get_ada_tasks_pspace_data (struct program_space *pspace) { struct ada_tasks_pspace_data *data; - data = program_space_data (pspace, ada_tasks_pspace_data_handle); + data = ((struct ada_tasks_pspace_data *) + program_space_data (pspace, ada_tasks_pspace_data_handle)); if (data == NULL) { - data = XZALLOC (struct ada_tasks_pspace_data); + data = XCNEW (struct ada_tasks_pspace_data); set_program_space_data (pspace, ada_tasks_pspace_data_handle, data); } @@ -275,10 +276,11 @@ get_ada_tasks_inferior_data (struct inferior *inf) { struct ada_tasks_inferior_data *data; - data = inferior_data (inf, ada_tasks_inferior_data_handle); + data = ((struct ada_tasks_inferior_data *) + inferior_data (inf, ada_tasks_inferior_data_handle)); if (data == NULL) { - data = XZALLOC (struct ada_tasks_inferior_data); + data = XCNEW (struct ada_tasks_inferior_data); set_inferior_data (inf, ada_tasks_inferior_data_handle, data); } @@ -292,7 +294,7 @@ int ada_get_task_number (ptid_t ptid) { int i; - struct inferior *inf = find_inferior_pid (ptid_get_pid (ptid)); + struct inferior *inf = find_inferior_ptid (ptid); struct ada_tasks_inferior_data *data; gdb_assert (inf != NULL); @@ -470,24 +472,25 @@ get_tcb_types_info (void) C-like) lookups to get the first match. */ struct symbol *atcb_sym = - lookup_symbol_in_language (atcb_name, NULL, VAR_DOMAIN, - language_c, NULL); + lookup_symbol_in_language (atcb_name, NULL, STRUCT_DOMAIN, + language_c, NULL).symbol; const struct symbol *common_atcb_sym = - lookup_symbol_in_language (common_atcb_name, NULL, VAR_DOMAIN, - language_c, NULL); + lookup_symbol_in_language (common_atcb_name, NULL, STRUCT_DOMAIN, + language_c, NULL).symbol; const struct symbol *private_data_sym = - lookup_symbol_in_language (private_data_name, NULL, VAR_DOMAIN, - language_c, NULL); + lookup_symbol_in_language (private_data_name, NULL, STRUCT_DOMAIN, + language_c, NULL).symbol; const struct symbol *entry_call_record_sym = - lookup_symbol_in_language (entry_call_record_name, NULL, VAR_DOMAIN, - language_c, NULL); + lookup_symbol_in_language (entry_call_record_name, NULL, STRUCT_DOMAIN, + language_c, NULL).symbol; if (atcb_sym == NULL || atcb_sym->type == NULL) { /* In Ravenscar run-time libs, the ATCB does not have a dynamic size, so the symbol name differs. */ - atcb_sym = lookup_symbol_in_language (atcb_name_fixed, NULL, VAR_DOMAIN, - language_c, NULL); + atcb_sym = lookup_symbol_in_language (atcb_name_fixed, NULL, + STRUCT_DOMAIN, language_c, + NULL).symbol; if (atcb_sym == NULL || atcb_sym->type == NULL) error (_("Cannot find Ada_Task_Control_Block type. Aborting")); @@ -640,7 +643,7 @@ read_atcb (CORE_ADDR task_id, struct ada_task_info *task_info) msym = lookup_minimal_symbol_by_pc (task_id); if (msym.minsym) { - const char *full_name = SYMBOL_LINKAGE_NAME (msym.minsym); + const char *full_name = MSYMBOL_LINKAGE_NAME (msym.minsym); const char *task_name = full_name; const char *p; @@ -783,7 +786,7 @@ read_known_tasks_array (struct ada_tasks_inferior_data *data) { const int target_ptr_byte = TYPE_LENGTH (data->known_tasks_element); const int known_tasks_size = target_ptr_byte * data->known_tasks_length; - gdb_byte *known_tasks = alloca (known_tasks_size); + gdb_byte *known_tasks = (gdb_byte *) alloca (known_tasks_size); int i; /* Build a new list by reading the ATCBs from the Known_Tasks array @@ -809,7 +812,7 @@ static int read_known_tasks_list (struct ada_tasks_inferior_data *data) { const int target_ptr_byte = TYPE_LENGTH (data->known_tasks_element); - gdb_byte *known_tasks = alloca (target_ptr_byte); + gdb_byte *known_tasks = (gdb_byte *) alloca (target_ptr_byte); CORE_ADDR task_id; const struct ada_tasks_pspace_data *pspace_data = get_ada_tasks_pspace_data (current_program_space); @@ -846,7 +849,7 @@ read_known_tasks_list (struct ada_tasks_inferior_data *data) static void ada_tasks_inferior_data_sniffer (struct ada_tasks_inferior_data *data) { - struct minimal_symbol *msym; + struct bound_minimal_symbol msym; struct symbol *sym; /* Return now if already set. */ @@ -856,14 +859,14 @@ ada_tasks_inferior_data_sniffer (struct ada_tasks_inferior_data *data) /* Try array. */ msym = lookup_minimal_symbol (KNOWN_TASKS_NAME, NULL, NULL); - if (msym != NULL) + if (msym.minsym != NULL) { data->known_tasks_kind = ADA_TASKS_ARRAY; - data->known_tasks_addr = SYMBOL_VALUE_ADDRESS (msym); + data->known_tasks_addr = BMSYMBOL_VALUE_ADDRESS (msym); /* Try to get pointer type and array length from the symtab. */ sym = lookup_symbol_in_language (KNOWN_TASKS_NAME, NULL, VAR_DOMAIN, - language_c, NULL); + language_c, NULL).symbol; if (sym != NULL) { /* Validate. */ @@ -901,14 +904,14 @@ ada_tasks_inferior_data_sniffer (struct ada_tasks_inferior_data *data) /* Try list. */ msym = lookup_minimal_symbol (KNOWN_TASKS_LIST, NULL, NULL); - if (msym != NULL) + if (msym.minsym != NULL) { data->known_tasks_kind = ADA_TASKS_LIST; - data->known_tasks_addr = SYMBOL_VALUE_ADDRESS (msym); + data->known_tasks_addr = BMSYMBOL_VALUE_ADDRESS (msym); data->known_tasks_length = 1; sym = lookup_symbol_in_language (KNOWN_TASKS_LIST, NULL, VAR_DOMAIN, - language_c, NULL); + language_c, NULL).symbol; if (sym != NULL && SYMBOL_VALUE_ADDRESS (sym) != 0) { /* Validate. */ @@ -1025,7 +1028,7 @@ print_ada_task_info (struct ui_out *uiout, take a --thread argument. However, in order to be able to provide that thread ID, the thread list must be up to date first. */ - target_find_new_threads (); + target_update_thread_list (); data = get_ada_tasks_inferior_data (inf); @@ -1099,7 +1102,7 @@ print_ada_task_info (struct ui_out *uiout, /* Print the associated Thread ID. */ if (ui_out_is_mi_like_p (uiout)) { - const int thread_id = pid_to_thread_id (task_info->ptid); + const int thread_id = ptid_to_global_thread_id (task_info->ptid); if (thread_id != 0) ui_out_field_int (uiout, "thread-id", thread_id); @@ -1291,7 +1294,7 @@ task_command_1 (char *taskno_str, int from_tty, struct inferior *inf) to the thread associated to our task if GDB does not know about that thread, we need to make sure that any new threads gets added to the thread list. */ - target_find_new_threads (); + target_update_thread_list (); /* Verify that the ptid of the task we want to switch to is valid (in other words, a ptid that GDB knows about). Otherwise, we will @@ -1385,7 +1388,7 @@ ada_tasks_invalidate_inferior_data (struct inferior *inf) /* The 'normal_stop' observer notification callback. */ static void -ada_normal_stop_observer (struct bpstats *unused_args, int unused_args2) +ada_tasks_normal_stop_observer (struct bpstats *unused_args, int unused_args2) { /* The inferior has been resumed, and just stopped. This means that our task_list needs to be recomputed before it can be used again. */ @@ -1395,7 +1398,7 @@ ada_normal_stop_observer (struct bpstats *unused_args, int unused_args2) /* A routine to be called when the objfiles have changed. */ static void -ada_new_objfile_observer (struct objfile *objfile) +ada_tasks_new_objfile_observer (struct objfile *objfile) { struct inferior *inf; @@ -1438,8 +1441,8 @@ _initialize_tasks (void) ada_tasks_inferior_data_handle = register_inferior_data (); /* Attach various observers. */ - observer_attach_normal_stop (ada_normal_stop_observer); - observer_attach_new_objfile (ada_new_objfile_observer); + observer_attach_normal_stop (ada_tasks_normal_stop_observer); + observer_attach_new_objfile (ada_tasks_new_objfile_observer); /* Some new commands provided by this module. */ add_info ("tasks", info_tasks_command, @@ -1449,4 +1452,3 @@ _initialize_tasks (void) Without argument, this command simply prints the current task ID"), &cmdlist); } -