forked from Imagelibrary/binutils-gdb
Change target_read_string API
This simplifies the target_read_string API a bit. Note that some code was using safe_strerror on the error codes returned by target_read_string. It seems to me that this is incorrect (if it was ever correct, it must have been quite a long time ago). gdb/ChangeLog 2020-06-15 Tom Tromey <tromey@adacore.com> * windows-nat.c (windows_nat::handle_output_debug_string): Update. (windows_nat::handle_ms_vc_exception): Update. * target.h (target_read_string): Change API. * target.c (target_read_string): Change API. * solib-svr4.c (open_symbol_file_object, svr4_read_so_list): Update. * solib-frv.c (frv_current_sos): Update. * solib-dsbt.c (dsbt_current_sos): Update. * solib-darwin.c (darwin_current_sos): Update. * linux-thread-db.c (inferior_has_bug): Update. * expprint.c (print_subexp_standard): Update. * ada-lang.c (ada_main_name, ada_tag_name_from_tsd) (ada_exception_message_1): Update.
This commit is contained in:
@@ -865,18 +865,11 @@ ada_main_name (void)
|
||||
|
||||
if (msym.minsym != NULL)
|
||||
{
|
||||
CORE_ADDR main_program_name_addr;
|
||||
int err_code;
|
||||
|
||||
main_program_name_addr = BMSYMBOL_VALUE_ADDRESS (msym);
|
||||
CORE_ADDR main_program_name_addr = BMSYMBOL_VALUE_ADDRESS (msym);
|
||||
if (main_program_name_addr == 0)
|
||||
error (_("Invalid address for Ada main program name."));
|
||||
|
||||
target_read_string (main_program_name_addr, &main_program_name,
|
||||
1024, &err_code);
|
||||
|
||||
if (err_code != 0)
|
||||
return NULL;
|
||||
main_program_name = target_read_string (main_program_name_addr, 1024);
|
||||
return main_program_name.get ();
|
||||
}
|
||||
|
||||
@@ -6729,10 +6722,9 @@ ada_tag_name_from_tsd (struct value *tsd)
|
||||
val = ada_value_struct_elt (tsd, "expanded_name", 1);
|
||||
if (val == NULL)
|
||||
return NULL;
|
||||
gdb::unique_xmalloc_ptr<char> buffer;
|
||||
int err;
|
||||
if (target_read_string (value_as_address (val), &buffer, INT_MAX, &err) == 0
|
||||
|| err != 0)
|
||||
gdb::unique_xmalloc_ptr<char> buffer
|
||||
= target_read_string (value_as_address (val), INT_MAX);
|
||||
if (buffer == nullptr)
|
||||
return nullptr;
|
||||
|
||||
for (p = buffer.get (); *p != '\0'; ++p)
|
||||
@@ -12109,13 +12101,7 @@ ada_exception_message_1 (void)
|
||||
if (e_msg_len <= 0)
|
||||
return NULL;
|
||||
|
||||
gdb::unique_xmalloc_ptr<char> e_msg;
|
||||
int err;
|
||||
if (target_read_string (value_address (e_msg_val), &e_msg, INT_MAX, &err) == 0
|
||||
|| err != 0)
|
||||
return nullptr;
|
||||
|
||||
return e_msg;
|
||||
return target_read_string (value_address (e_msg_val), INT_MAX);
|
||||
}
|
||||
|
||||
/* Same as ada_exception_message_1, except that all exceptions are
|
||||
|
||||
Reference in New Issue
Block a user