aboutsummaryrefslogtreecommitdiff
path: root/gdb/hppa-tdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/hppa-tdep.c')
-rw-r--r--gdb/hppa-tdep.c41
1 files changed, 22 insertions, 19 deletions
diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c
index abd3b90..ed41361 100644
--- a/gdb/hppa-tdep.c
+++ b/gdb/hppa-tdep.c
@@ -134,10 +134,11 @@ typedef struct
{
struct minimal_symbol *msym;
CORE_ADDR solib_handle;
+ CORE_ADDR return_val;
}
args_for_find_stub;
-static CORE_ADDR cover_find_stub_with_shl_get PARAMS ((args_for_find_stub *));
+static int cover_find_stub_with_shl_get (PTR);
static int is_pa_2 = 0; /* False */
@@ -1914,14 +1915,14 @@ find_stub_with_shl_get (function, handle)
}
/* Cover routine for find_stub_with_shl_get to pass to catch_errors */
-static CORE_ADDR
-cover_find_stub_with_shl_get (args)
- args_for_find_stub *args;
+static int
+cover_find_stub_with_shl_get (PTR args_untyped)
{
- return find_stub_with_shl_get (args->msym, args->solib_handle);
+ args_for_find_stub *args = args_untyped;
+ args->return_val = find_stub_with_shl_get (args->msym, args->solib_handle);
+ return 0;
}
-
/* Insert the specified number of args and function address
into a call sequence of the above form stored at DUMMYNAME.
@@ -2519,7 +2520,7 @@ pa_print_registers (raw_regs, regnum, fpregs)
/* Alas, we are compiled so that "long long" is 32 bits */
long raw_val[2];
long long_val;
- int rows = 24, columns = 3;
+ int rows = 48, columns = 2;
for (i = 0; i < rows; i++)
{
@@ -2540,17 +2541,18 @@ pa_print_registers (raw_regs, regnum, fpregs)
/* Being big-endian, on this machine the low bits
(the ones we want to look at) are in the second longword. */
long_val = extract_signed_integer (&raw_val[1], 4);
- printf_filtered ("%8.8s: %8x",
+ printf_filtered ("%10.10s: %8x ",
REGISTER_NAME (regnum), long_val);
}
else
{
/* raw_val = extract_signed_integer(&raw_val, 8); */
if (raw_val[0] == 0)
- printf_filtered ("%8.8s: %8x",
+ printf_filtered ("%10.10s: %8x ",
REGISTER_NAME (regnum), raw_val[1]);
else
- printf_filtered ("%8.8s: %8x%8.8x", REGISTER_NAME (regnum),
+ printf_filtered ("%10.10s: %8x%8.8x ",
+ REGISTER_NAME (regnum),
raw_val[0], raw_val[1]);
}
}
@@ -3886,17 +3888,17 @@ int hp_cxx_exception_support_initialized = 0;
/* Similar to above, but imported from breakpoint.c -- non-target-specific */
extern int exception_support_initialized;
/* Address of __eh_notify_hook */
-static CORE_ADDR eh_notify_hook_addr = NULL;
+static CORE_ADDR eh_notify_hook_addr = 0;
/* Address of __d_eh_notify_callback */
-static CORE_ADDR eh_notify_callback_addr = NULL;
+static CORE_ADDR eh_notify_callback_addr = 0;
/* Address of __d_eh_break */
-static CORE_ADDR eh_break_addr = NULL;
+static CORE_ADDR eh_break_addr = 0;
/* Address of __d_eh_catch_catch */
-static CORE_ADDR eh_catch_catch_addr = NULL;
+static CORE_ADDR eh_catch_catch_addr = 0;
/* Address of __d_eh_catch_throw */
-static CORE_ADDR eh_catch_throw_addr = NULL;
+static CORE_ADDR eh_catch_throw_addr = 0;
/* Sal for __d_eh_break */
-static struct symtab_and_line *break_callback_sal = NULL;
+static struct symtab_and_line *break_callback_sal = 0;
/* Code in end.c expects __d_pid to be set in the inferior,
otherwise __d_eh_notify_callback doesn't bother to call
@@ -4049,11 +4051,12 @@ initialize_hp_cxx_exception_support ()
args.solib_handle = som_solib_get_solib_by_pc (eh_notify_callback_addr);
args.msym = msym;
+ args.return_val = 0;
recurse++;
- eh_notify_callback_addr = catch_errors ((int (*)PARAMS ((char *))) cover_find_stub_with_shl_get,
- (char *) &args,
- message, RETURN_MASK_ALL);
+ catch_errors (cover_find_stub_with_shl_get, (PTR) &args, message,
+ RETURN_MASK_ALL);
+ eh_notify_callback_addr = args.return_val;
recurse--;
exception_catchpoints_are_fragile = 1;