Memory error when reading wrong core file.

* solib-svr4.c (solib_svr4_r_map): catch and print all exception
        errors while reading the inferior memory, and return zero if
        an exception was raised.
This commit is contained in:
Joel Brobecker 2010-03-08 07:45:49 +00:00
parent ec6dbf3703
commit 08597104eb
2 changed files with 16 additions and 2 deletions

View file

@ -1,3 +1,10 @@
2010-03-08 Joel Brobecker <brobecker@adacore.com>
Memory error when reading wrong core file.
* solib-svr4.c (solib_svr4_r_map): catch and print all exception
errors while reading the inferior memory, and return zero if
an exception was raised.
2010-03-07 Michael Snyder <msnyder@vmware.com>
* record.c (record_restore): Rename tmpu8 to rectype.

View file

@ -868,9 +868,16 @@ solib_svr4_r_map (struct svr4_info *info)
{
struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
struct type *ptr_type = builtin_type (target_gdbarch)->builtin_data_ptr;
CORE_ADDR addr = 0;
volatile struct gdb_exception ex;
return read_memory_typed_address (info->debug_base + lmo->r_map_offset,
ptr_type);
TRY_CATCH (ex, RETURN_MASK_ERROR)
{
addr = read_memory_typed_address (info->debug_base + lmo->r_map_offset,
ptr_type);
}
exception_print (gdb_stderr, ex);
return addr;
}
/* Find r_brk from the inferior's debug base. */