2004-03-07 Andrew Cagney <cagney@redhat.com>
* hppa-tdep.c: Replace DEPRECATED_FP_REGNUM with HPPA_FP_REGNUM, FP0_REGNUM with HPPA_FP0_REGNUM, and SP_REGNUM with HPPA_SP_REGNUM. (hppa_register_raw_size, hppa_register_byte, hppa_read_fp) (hppa_target_read_fp): Delete. (hppa_gdbarch_init): Do not set deprecated register_raw_size, register_virtual_size, max_register_raw_size, max_register_virtual_size, register_byte, register_size, target_read_fp, fp_regnum, and register_bytes. Set register_type instead of register_virtual_type. (hppa32_register_type, hppa64_register_type): Replace hppa32_register_virtual_type and hppa64_register_virtual_type. * config/pa/tm-hppa.h (HPPA_FP0_REGNUM, HPPA_SP_REGNUM) (HPPA_FP_REGNUM): Define.
This commit is contained in:
parent
f5f907e2a9
commit
eded0a3148
3 changed files with 42 additions and 86 deletions
|
@ -1,5 +1,20 @@
|
||||||
2004-03-07 Andrew Cagney <cagney@redhat.com>
|
2004-03-07 Andrew Cagney <cagney@redhat.com>
|
||||||
|
|
||||||
|
* hppa-tdep.c: Replace DEPRECATED_FP_REGNUM with HPPA_FP_REGNUM,
|
||||||
|
FP0_REGNUM with HPPA_FP0_REGNUM, and SP_REGNUM with
|
||||||
|
HPPA_SP_REGNUM.
|
||||||
|
(hppa_register_raw_size, hppa_register_byte, hppa_read_fp)
|
||||||
|
(hppa_target_read_fp): Delete.
|
||||||
|
(hppa_gdbarch_init): Do not set deprecated register_raw_size,
|
||||||
|
register_virtual_size, max_register_raw_size,
|
||||||
|
max_register_virtual_size, register_byte, register_size,
|
||||||
|
target_read_fp, fp_regnum, and register_bytes. Set register_type
|
||||||
|
instead of register_virtual_type.
|
||||||
|
(hppa32_register_type, hppa64_register_type): Replace
|
||||||
|
hppa32_register_virtual_type and hppa64_register_virtual_type.
|
||||||
|
* config/pa/tm-hppa.h (HPPA_FP0_REGNUM, HPPA_SP_REGNUM)
|
||||||
|
(HPPA_FP_REGNUM): Define.
|
||||||
|
|
||||||
* hppa-tdep.c (hppa_gdbarch_init): Add missing "break".
|
* hppa-tdep.c (hppa_gdbarch_init): Add missing "break".
|
||||||
|
|
||||||
* config/pa/tm-hppa.h (DEPRECATED_DO_REGISTERS_INFO)
|
* config/pa/tm-hppa.h (DEPRECATED_DO_REGISTERS_INFO)
|
||||||
|
|
|
@ -59,6 +59,8 @@ extern int hppa_pc_requires_run_before_use (CORE_ADDR pc);
|
||||||
other r registers. */
|
other r registers. */
|
||||||
#define FLAGS_REGNUM 0 /* Various status flags */
|
#define FLAGS_REGNUM 0 /* Various status flags */
|
||||||
#define RP_REGNUM 2 /* return pointer */
|
#define RP_REGNUM 2 /* return pointer */
|
||||||
|
#define HPPA_FP_REGNUM 3 /* The ABI's frame pointer, when used */
|
||||||
|
#define HPPA_SP_REGNUM 30 /* Stack pointer. */
|
||||||
#define SAR_REGNUM 32 /* Shift Amount Register */
|
#define SAR_REGNUM 32 /* Shift Amount Register */
|
||||||
#define IPSW_REGNUM 41 /* Interrupt Processor Status Word */
|
#define IPSW_REGNUM 41 /* Interrupt Processor Status Word */
|
||||||
#define PCOQ_HEAD_REGNUM 33 /* instruction offset queue head */
|
#define PCOQ_HEAD_REGNUM 33 /* instruction offset queue head */
|
||||||
|
@ -73,6 +75,7 @@ extern int hppa_pc_requires_run_before_use (CORE_ADDR pc);
|
||||||
#define CCR_REGNUM 54 /* Coprocessor Configuration Register */
|
#define CCR_REGNUM 54 /* Coprocessor Configuration Register */
|
||||||
#define TR0_REGNUM 57 /* Temporary Registers (cr24 -> cr31) */
|
#define TR0_REGNUM 57 /* Temporary Registers (cr24 -> cr31) */
|
||||||
#define CR27_REGNUM 60 /* Base register for thread-local storage, cr27 */
|
#define CR27_REGNUM 60 /* Base register for thread-local storage, cr27 */
|
||||||
|
#define HPPA_FP0_REGNUM 64 /* First floating-point. */
|
||||||
#define FP4_REGNUM 72
|
#define FP4_REGNUM 72
|
||||||
|
|
||||||
#define ARG0_REGNUM 26 /* The first argument of a callee. */
|
#define ARG0_REGNUM 26 /* The first argument of a callee. */
|
||||||
|
|
110
gdb/hppa-tdep.c
110
gdb/hppa-tdep.c
|
@ -147,15 +147,10 @@ int hppa_in_solib_return_trampoline (CORE_ADDR pc, char *name);
|
||||||
int hppa_inner_than (CORE_ADDR lhs, CORE_ADDR rhs);
|
int hppa_inner_than (CORE_ADDR lhs, CORE_ADDR rhs);
|
||||||
int hppa_pc_requires_run_before_use (CORE_ADDR pc);
|
int hppa_pc_requires_run_before_use (CORE_ADDR pc);
|
||||||
int hppa_instruction_nullified (void);
|
int hppa_instruction_nullified (void);
|
||||||
int hppa_register_raw_size (int reg_nr);
|
|
||||||
int hppa_register_byte (int reg_nr);
|
|
||||||
struct type * hppa32_register_virtual_type (int reg_nr);
|
|
||||||
struct type * hppa64_register_virtual_type (int reg_nr);
|
|
||||||
int hppa_cannot_store_register (int regnum);
|
int hppa_cannot_store_register (int regnum);
|
||||||
CORE_ADDR hppa_smash_text_address (CORE_ADDR addr);
|
CORE_ADDR hppa_smash_text_address (CORE_ADDR addr);
|
||||||
CORE_ADDR hppa_target_read_pc (ptid_t ptid);
|
CORE_ADDR hppa_target_read_pc (ptid_t ptid);
|
||||||
void hppa_target_write_pc (CORE_ADDR v, ptid_t ptid);
|
void hppa_target_write_pc (CORE_ADDR v, ptid_t ptid);
|
||||||
CORE_ADDR hppa_target_read_fp (void);
|
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
|
@ -1155,31 +1150,6 @@ cover_find_stub_with_shl_get (void *args_untyped)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If the pid is in a syscall, then the FP register is not readable.
|
|
||||||
We'll return zero in that case, rather than attempting to read it
|
|
||||||
and cause a warning. */
|
|
||||||
|
|
||||||
CORE_ADDR
|
|
||||||
hppa_read_fp (int pid)
|
|
||||||
{
|
|
||||||
int flags = read_register (FLAGS_REGNUM);
|
|
||||||
|
|
||||||
if (flags & 2)
|
|
||||||
{
|
|
||||||
return (CORE_ADDR) 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* This is the only site that may directly read_register () the FP
|
|
||||||
register. All others must use deprecated_read_fp (). */
|
|
||||||
return read_register (DEPRECATED_FP_REGNUM);
|
|
||||||
}
|
|
||||||
|
|
||||||
CORE_ADDR
|
|
||||||
hppa_target_read_fp (void)
|
|
||||||
{
|
|
||||||
return hppa_read_fp (PIDGET (inferior_ptid));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Get the PC from %r31 if currently in a syscall. Also mask out privilege
|
/* Get the PC from %r31 if currently in a syscall. Also mask out privilege
|
||||||
bits. */
|
bits. */
|
||||||
|
|
||||||
|
@ -1725,7 +1695,7 @@ hppa_skip_trampoline_code (CORE_ADDR pc)
|
||||||
rp from sp - 8. */
|
rp from sp - 8. */
|
||||||
if (prev_inst == 0x4bc23ff1)
|
if (prev_inst == 0x4bc23ff1)
|
||||||
return (read_memory_integer
|
return (read_memory_integer
|
||||||
(read_register (SP_REGNUM) - 8, 4)) & ~0x3;
|
(read_register (HPPA_SP_REGNUM) - 8, 4)) & ~0x3;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
warning ("Unable to find restore of %%rp before bv (%%rp).");
|
warning ("Unable to find restore of %%rp before bv (%%rp).");
|
||||||
|
@ -1739,7 +1709,7 @@ hppa_skip_trampoline_code (CORE_ADDR pc)
|
||||||
else if ((curr_inst & 0xffe0f000) == 0xe840d000)
|
else if ((curr_inst & 0xffe0f000) == 0xe840d000)
|
||||||
{
|
{
|
||||||
return (read_memory_integer
|
return (read_memory_integer
|
||||||
(read_register (SP_REGNUM) - 24, TARGET_PTR_BIT / 8)) & ~0x3;
|
(read_register (HPPA_SP_REGNUM) - 24, TARGET_PTR_BIT / 8)) & ~0x3;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* What about be,n 0(sr0,%rp)? It's just another way we return to
|
/* What about be,n 0(sr0,%rp)? It's just another way we return to
|
||||||
|
@ -1751,7 +1721,7 @@ hppa_skip_trampoline_code (CORE_ADDR pc)
|
||||||
I guess we could check for the previous instruction being
|
I guess we could check for the previous instruction being
|
||||||
mtsp %r1,%sr0 if we want to do sanity checking. */
|
mtsp %r1,%sr0 if we want to do sanity checking. */
|
||||||
return (read_memory_integer
|
return (read_memory_integer
|
||||||
(read_register (SP_REGNUM) - 24, TARGET_PTR_BIT / 8)) & ~0x3;
|
(read_register (HPPA_SP_REGNUM) - 24, TARGET_PTR_BIT / 8)) & ~0x3;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Haven't found the branch yet, but we're still in the stub.
|
/* Haven't found the branch yet, but we're still in the stub.
|
||||||
|
@ -1938,7 +1908,7 @@ restart:
|
||||||
for (i = 3; i < u->Entry_GR + 3; i++)
|
for (i = 3; i < u->Entry_GR + 3; i++)
|
||||||
{
|
{
|
||||||
/* Frame pointer gets saved into a special location. */
|
/* Frame pointer gets saved into a special location. */
|
||||||
if (u->Save_SP && i == DEPRECATED_FP_REGNUM)
|
if (u->Save_SP && i == HPPA_FP_REGNUM)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
save_gr |= (1 << i);
|
save_gr |= (1 << i);
|
||||||
|
@ -2232,7 +2202,7 @@ hppa_frame_cache (struct frame_info *next_frame, void **this_cache)
|
||||||
for (i = 3; i < u->Entry_GR + 3; i++)
|
for (i = 3; i < u->Entry_GR + 3; i++)
|
||||||
{
|
{
|
||||||
/* Frame pointer gets saved into a special location. */
|
/* Frame pointer gets saved into a special location. */
|
||||||
if (u->Save_SP && i == DEPRECATED_FP_REGNUM)
|
if (u->Save_SP && i == HPPA_FP_REGNUM)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
saved_gr_mask |= (1 << i);
|
saved_gr_mask |= (1 << i);
|
||||||
|
@ -2302,13 +2272,13 @@ hppa_frame_cache (struct frame_info *next_frame, void **this_cache)
|
||||||
|| (inst & 0xffffc00c) == 0x73c10008) /* std,ma r1,N(sr0,sp) */
|
|| (inst & 0xffffc00c) == 0x73c10008) /* std,ma r1,N(sr0,sp) */
|
||||||
{
|
{
|
||||||
looking_for_sp = 0;
|
looking_for_sp = 0;
|
||||||
cache->saved_regs[DEPRECATED_FP_REGNUM].addr = 0;
|
cache->saved_regs[HPPA_FP_REGNUM].addr = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Account for general and floating-point register saves. */
|
/* Account for general and floating-point register saves. */
|
||||||
reg = inst_saves_gr (inst);
|
reg = inst_saves_gr (inst);
|
||||||
if (reg >= 3 && reg <= 18
|
if (reg >= 3 && reg <= 18
|
||||||
&& (!u->Save_SP || reg != DEPRECATED_FP_REGNUM))
|
&& (!u->Save_SP || reg != HPPA_FP_REGNUM))
|
||||||
{
|
{
|
||||||
saved_gr_mask &= ~(1 << reg);
|
saved_gr_mask &= ~(1 << reg);
|
||||||
if ((inst >> 26) == 0x1b && extract_14 (inst) >= 0)
|
if ((inst >> 26) == 0x1b && extract_14 (inst) >= 0)
|
||||||
|
@ -2368,7 +2338,7 @@ hppa_frame_cache (struct frame_info *next_frame, void **this_cache)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
cache->saved_regs[reg + FP0_REGNUM + 4].addr = fp_loc;
|
cache->saved_regs[reg + HPPA_FP0_REGNUM + 4].addr = fp_loc;
|
||||||
fp_loc += 8;
|
fp_loc += 8;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2387,10 +2357,10 @@ hppa_frame_cache (struct frame_info *next_frame, void **this_cache)
|
||||||
/* The frame base always represents the value of %sp at entry to
|
/* The frame base always represents the value of %sp at entry to
|
||||||
the current function (and is thus equivalent to the "saved"
|
the current function (and is thus equivalent to the "saved"
|
||||||
stack pointer. */
|
stack pointer. */
|
||||||
CORE_ADDR this_sp = frame_unwind_register_unsigned (next_frame, SP_REGNUM);
|
CORE_ADDR this_sp = frame_unwind_register_unsigned (next_frame, HPPA_SP_REGNUM);
|
||||||
/* FIXME: cagney/2004-02-22: This assumes that the frame has been
|
/* FIXME: cagney/2004-02-22: This assumes that the frame has been
|
||||||
created. If it hasn't everything will be out-of-wack. */
|
created. If it hasn't everything will be out-of-wack. */
|
||||||
if (u->Save_SP && trad_frame_addr_p (cache->saved_regs, SP_REGNUM))
|
if (u->Save_SP && trad_frame_addr_p (cache->saved_regs, HPPA_SP_REGNUM))
|
||||||
/* Both we're expecting the SP to be saved and the SP has been
|
/* Both we're expecting the SP to be saved and the SP has been
|
||||||
saved. The entry SP value is saved at this frame's SP
|
saved. The entry SP value is saved at this frame's SP
|
||||||
address. */
|
address. */
|
||||||
|
@ -2399,7 +2369,7 @@ hppa_frame_cache (struct frame_info *next_frame, void **this_cache)
|
||||||
/* The prologue has been slowly allocating stack space. Adjust
|
/* The prologue has been slowly allocating stack space. Adjust
|
||||||
the SP back. */
|
the SP back. */
|
||||||
cache->base = this_sp - frame_size;
|
cache->base = this_sp - frame_size;
|
||||||
trad_frame_set_value (cache->saved_regs, SP_REGNUM, cache->base);
|
trad_frame_set_value (cache->saved_regs, HPPA_SP_REGNUM, cache->base);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The PC is found in the "return register", "Millicode" uses "r31"
|
/* The PC is found in the "return register", "Millicode" uses "r31"
|
||||||
|
@ -2509,7 +2479,7 @@ static struct frame_id
|
||||||
hppa_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *next_frame)
|
hppa_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *next_frame)
|
||||||
{
|
{
|
||||||
return frame_id_build (frame_unwind_register_unsigned (next_frame,
|
return frame_id_build (frame_unwind_register_unsigned (next_frame,
|
||||||
SP_REGNUM),
|
HPPA_SP_REGNUM),
|
||||||
frame_pc_unwind (next_frame));
|
frame_pc_unwind (next_frame));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3125,46 +3095,28 @@ hppa_instruction_nullified (void)
|
||||||
return ((ipsw & 0x00200000) && !(flags & 0x2));
|
return ((ipsw & 0x00200000) && !(flags & 0x2));
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
|
||||||
hppa_register_raw_size (int reg_nr)
|
|
||||||
{
|
|
||||||
/* All registers have the same size. */
|
|
||||||
return DEPRECATED_REGISTER_SIZE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Index within the register vector of the first byte of the space i
|
|
||||||
used for register REG_NR. */
|
|
||||||
|
|
||||||
int
|
|
||||||
hppa_register_byte (int reg_nr)
|
|
||||||
{
|
|
||||||
struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
|
|
||||||
|
|
||||||
return reg_nr * tdep->bytes_per_address;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Return the GDB type object for the "standard" data type of data
|
/* Return the GDB type object for the "standard" data type of data
|
||||||
in register N. */
|
in register N. */
|
||||||
|
|
||||||
struct type *
|
static struct type *
|
||||||
hppa32_register_virtual_type (int reg_nr)
|
hppa32_register_type (struct gdbarch *gdbarch, int reg_nr)
|
||||||
{
|
{
|
||||||
if (reg_nr < FP4_REGNUM)
|
if (reg_nr < FP4_REGNUM)
|
||||||
return builtin_type_int;
|
return builtin_type_uint32;
|
||||||
else
|
else
|
||||||
return builtin_type_float;
|
return builtin_type_ieee_single_big;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return the GDB type object for the "standard" data type of data
|
/* Return the GDB type object for the "standard" data type of data
|
||||||
in register N. hppa64 version. */
|
in register N. hppa64 version. */
|
||||||
|
|
||||||
struct type *
|
static struct type *
|
||||||
hppa64_register_virtual_type (int reg_nr)
|
hppa64_register_type (struct gdbarch *gdbarch, int reg_nr)
|
||||||
{
|
{
|
||||||
if (reg_nr < FP4_REGNUM)
|
if (reg_nr < FP4_REGNUM)
|
||||||
return builtin_type_unsigned_long_long;
|
return builtin_type_uint64;
|
||||||
else
|
else
|
||||||
return builtin_type_double;
|
return builtin_type_ieee_double_big;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return True if REGNUM is not a register available to the user
|
/* Return True if REGNUM is not a register available to the user
|
||||||
|
@ -3277,24 +3229,18 @@ hppa_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
case 4:
|
case 4:
|
||||||
set_gdbarch_num_regs (gdbarch, hppa32_num_regs);
|
set_gdbarch_num_regs (gdbarch, hppa32_num_regs);
|
||||||
set_gdbarch_register_name (gdbarch, hppa32_register_name);
|
set_gdbarch_register_name (gdbarch, hppa32_register_name);
|
||||||
set_gdbarch_deprecated_register_virtual_type
|
set_gdbarch_register_type (gdbarch, hppa32_register_type);
|
||||||
(gdbarch, hppa32_register_virtual_type);
|
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
set_gdbarch_num_regs (gdbarch, hppa64_num_regs);
|
set_gdbarch_num_regs (gdbarch, hppa64_num_regs);
|
||||||
set_gdbarch_register_name (gdbarch, hppa64_register_name);
|
set_gdbarch_register_name (gdbarch, hppa64_register_name);
|
||||||
set_gdbarch_deprecated_register_virtual_type
|
set_gdbarch_register_type (gdbarch, hppa64_register_type);
|
||||||
(gdbarch, hppa64_register_virtual_type);
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
internal_error (__FILE__, __LINE__, "Unsupported address size: %d",
|
internal_error (__FILE__, __LINE__, "Unsupported address size: %d",
|
||||||
tdep->bytes_per_address);
|
tdep->bytes_per_address);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The following gdbarch vector elements depend on other parts of this
|
|
||||||
vector which have been set above, depending on the ABI. */
|
|
||||||
set_gdbarch_deprecated_register_bytes
|
|
||||||
(gdbarch, gdbarch_num_regs (gdbarch) * tdep->bytes_per_address);
|
|
||||||
set_gdbarch_long_bit (gdbarch, tdep->bytes_per_address * TARGET_CHAR_BIT);
|
set_gdbarch_long_bit (gdbarch, tdep->bytes_per_address * TARGET_CHAR_BIT);
|
||||||
set_gdbarch_ptr_bit (gdbarch, tdep->bytes_per_address * TARGET_CHAR_BIT);
|
set_gdbarch_ptr_bit (gdbarch, tdep->bytes_per_address * TARGET_CHAR_BIT);
|
||||||
|
|
||||||
|
@ -3312,22 +3258,14 @@ hppa_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
set_gdbarch_in_solib_return_trampoline (gdbarch,
|
set_gdbarch_in_solib_return_trampoline (gdbarch,
|
||||||
hppa_in_solib_return_trampoline);
|
hppa_in_solib_return_trampoline);
|
||||||
set_gdbarch_inner_than (gdbarch, hppa_inner_than);
|
set_gdbarch_inner_than (gdbarch, hppa_inner_than);
|
||||||
set_gdbarch_deprecated_register_size (gdbarch, tdep->bytes_per_address);
|
set_gdbarch_sp_regnum (gdbarch, HPPA_SP_REGNUM);
|
||||||
set_gdbarch_deprecated_fp_regnum (gdbarch, 3);
|
set_gdbarch_fp0_regnum (gdbarch, HPPA_FP0_REGNUM);
|
||||||
set_gdbarch_sp_regnum (gdbarch, 30);
|
|
||||||
set_gdbarch_fp0_regnum (gdbarch, 64);
|
|
||||||
set_gdbarch_deprecated_register_raw_size (gdbarch, hppa_register_raw_size);
|
|
||||||
set_gdbarch_deprecated_register_byte (gdbarch, hppa_register_byte);
|
|
||||||
set_gdbarch_deprecated_register_virtual_size (gdbarch, hppa_register_raw_size);
|
|
||||||
set_gdbarch_deprecated_max_register_raw_size (gdbarch, tdep->bytes_per_address);
|
|
||||||
set_gdbarch_deprecated_max_register_virtual_size (gdbarch, 8);
|
|
||||||
set_gdbarch_cannot_store_register (gdbarch, hppa_cannot_store_register);
|
set_gdbarch_cannot_store_register (gdbarch, hppa_cannot_store_register);
|
||||||
set_gdbarch_addr_bits_remove (gdbarch, hppa_smash_text_address);
|
set_gdbarch_addr_bits_remove (gdbarch, hppa_smash_text_address);
|
||||||
set_gdbarch_smash_text_address (gdbarch, hppa_smash_text_address);
|
set_gdbarch_smash_text_address (gdbarch, hppa_smash_text_address);
|
||||||
set_gdbarch_believe_pcc_promotion (gdbarch, 1);
|
set_gdbarch_believe_pcc_promotion (gdbarch, 1);
|
||||||
set_gdbarch_read_pc (gdbarch, hppa_target_read_pc);
|
set_gdbarch_read_pc (gdbarch, hppa_target_read_pc);
|
||||||
set_gdbarch_write_pc (gdbarch, hppa_target_write_pc);
|
set_gdbarch_write_pc (gdbarch, hppa_target_write_pc);
|
||||||
set_gdbarch_deprecated_target_read_fp (gdbarch, hppa_target_read_fp);
|
|
||||||
|
|
||||||
/* Helper for function argument information. */
|
/* Helper for function argument information. */
|
||||||
set_gdbarch_fetch_pointer_argument (gdbarch, hppa_fetch_pointer_argument);
|
set_gdbarch_fetch_pointer_argument (gdbarch, hppa_fetch_pointer_argument);
|
||||||
|
|
Loading…
Add table
Reference in a new issue