Mark Alexander
33c65ba3b3
* sparc-tdep.c (sparc_target_architecture_hook): New function to
...
set endianness based on machine type.
(_initialize_sparc_tdep): Initialize target_architecture_hook.
(sparc_print_register_hook): Print PSR and FPSR in fancy format
on 32-bit machines.
* config/sparc/tm-sparc.h (PRINT_REGISTER_HOOK): Redefine to
call sparc_print_register_hook instead of using inline code.
* config/sparc/tm-sp64.h (PRINT_REGISTER_HOOK): Remove.
1998-06-02 09:19:54 +00:00
Bob Manson
1e9c814fb9
* config/sparc/tm-sp64.h (CALL_DUMMY): Store and retrieve
...
%o0-%o5 as 64-bit values; compensate for stack bias.
(USE_STRUCT_CONVENTION): We only pass pointers to structs
if they're larger than 32 bytes.
(REG_STRUCT_HAS_ADDR): Ditto.
* sparc-tdep.c (sparc_init_extra_frame_info): Use read_sp()
instead of read_register. If the target is a sparc64 and the frame
pointer is odd, compensate for the stack bias.
(get_saved_register): Use read_sp().
(DUMMY_STACK_REG_BUF_SIZE): Use FP_REGISTER_BYTES.
(sparc_push_dummy_frame): Use read_sp()/write_sp(). On sparc64,
save the PC, NPC, CCR, FSR, FPRS, Y and ASI registers.
(sparc_frame_find_saved_regs): Use read_sp(). Read the PC, NPC,
CCR, FSR, FPRS, Y and ASI registers from the frame, if it's a
dummy frame.
(sparc_pop_frame): Use write_sp(). If the target is a sparc64 and
the FP is odd, compensate for stack bias.
(sparc_store_return_value): Right-justify the return value before
writing it to %o0.
(sparc_fix_call_dummy): Don't NOP out part of the call dummy on
sparc64.
(sparc64_read_sp, sparc64_read_fp, sparc64_write_sp,
sparc64_write_fp, sp64_push_arguments,
sparc64_extract_return_value): New functions to support the
sparc64 ABI.
* dwarfread.c (handle_producer): Set processing_gcc_compilation to
the right version number.
* dwarf2read.c (read_file_scope): Assume we're processing
GCC2 output.
1998-05-08 05:30:24 +00:00
Fred Fish
94b4f75666
* rs6000-tdep.c: Fix typo in comment.
...
* valops.c (call_function_by_hand): Set using_gcc to 2
for code compiled without -g, per comment in code.
* config/a29k/tm-a29k.h (STACK_ALIGN): Add comment.
* config/sparc/tm-sparc.h (STACK_ALIGN): Add comment.
* config/sparc/tm-sp64.h (STACK_ALIGN): Add comment.
* config/pyr/tm-pyr.h (STACK_ALIGN): Add comment.
* config/m88k/tm-m88k.h (STACK_ALIGN): Add comment.
* config/pa/tm-hppa.h (PUSH_ARGUMENTS): Enclose args in ()'s.
(STACK_ALIGN): Add comment, move to be with other associated
macros, and document.
* config/mips/tm-mips.h (PUSH_ARGUMENTS): Enclose args in ()'s.
(STACK_ALIGN): Remove completely, handled by PUSH_ARGUMENTS.
* config/alpha/tm-alpha.h (PUSH_ARGUMENTS): Enclose args in ()'s.
* config/rs6000/tm-rs6000.h (STACK_ALIGN): Remove completely,
handled by PUSH_ARGUMENTS.
(PUSH_ARGUMENTS): Enclose args in ()'s.
1996-08-25 07:17:22 +00:00
Fred Fish
3f550b5940
* configure.in: Add test for "long long" support.
...
* configure: Regenerate with autoconf.
* acconfig.h: Add CC_HAS_LONG_LONG
* config.in: Regenerate with autoheader.
* config/mips/tm-mips64.h (FORCE_LONG_LONG): Remove
* config/sparc/tm-sp64.h (CC_HAS_LONG_LONG): Remove.
* config/mips/tm-vr4300el.h (CC_HAS_LONG_LONG): Remove.
* config/mips/tm-vr4300.h (CC_HAS_LONG_LONG): Remove.
* config/mips/xm-irix5.h (CC_HAS_LONG_LONG): Remove
(PRINTF_HAS_LONG_LONG): Remove.
(FORCE_LONG_LONG): Remove.
* config/powerpc/xm-aix.h (UINT_MAX): Undef and use gdb's version.
* config/convex/xm-convex.h (CC_HAS_LONG_LONG): Remove
(PRINTF_HAS_LONG_LONG): Remove.
* config/xm-nbsd.h (CC_HAS_LONG_LONG): Remove.
(PRINTF_HAS_LONG_LONG): Remove.
* config/pa/tm-hppa.h (GET_FIELD): Put parens around
subtraction inside shift. Put parens around subtraction
in operand of bitwise and.
(struct frame_info): Forward declare
if __STDC__ defined.
(frame_saved_regs): Ditto.
(struct value): Ditto.
(struct type): Ditto.
(struct inferior_status): Ditto.
(init_extra_frame_info): Add prototype.
(skip_prologue): Ditto.
(frameless_function_invocation): Ditto.
(frame_chain): Ditto.
(frame_chain_valid): Ditto.
(saved_pc_after_call): Ditto.
(hppa_fix_call_dummy): Ditto.
(hppa_push_arguments): Ditto.
(pa_do_registers_info): Ditto.
(in_solib_call_trampoline): Ditto.
(in_solib_return_trampoline): Ditto.
(push_dummy_frame): Ditto.
* convex-tdep.c (decout): Use print_longest rather than
fprintf_filtered.
* defs.h: Remove use of FORCE_LONG_LONG and __GNUC__ to set
CC_HAS_LONG_LONG.
(INT_MIN): Fix so it works correctly when assigned to a long long.
* valprint.c (longest_to_int): Rewrite to remove dependence
on INT_MIN and INT_MAX.
(print_longest): Rewrite the code that falls back to synthesized
hex output when LONGEST value is not representable as in a long and
printf doesn't support printing long longs.
* ch-valprint.c (chill_val_print): Cast 2nd arg of
chill_print_type_scalar to LONGEST.
chill_print_type_scalar): Make static and add prototype.
* hppa-tdep.c (get_field): Ifdef out unused function.
(set_field): Ditto.
(extract_3): Ditto.
(extract_5_store): Ditto.
(extract_11): Ditto.
(extract_12): Ditto.
(deposit_17): Ditto.
(extract_14): Convert to static and add prototype.
(deposit_14): Ditto.
(extract_21): Ditto.
(deposit_21): Ditto.
(extract_17): Ditto.
(extract_5r_store): Ditto.
(extract_5R_store): Ditto.
(extract_5_load): Ditto.
(find_proc_framesize): Ditto.
(find_dummy_frame_regs): Ditto.
(sign_extend): Ditto.
(find_unwind_entry): Add prototype.
(find_return_regnum): Ditto.
(unwind_command): Ditto.
(find_dummy_frame_regs): Add parens around subtraction in operand
of bitwise-and.
(skip_prologue): Add parens around operands of logical-and inside
operand of logical-or.
(sign_extend): Add parens around operands of subtraction inside
operand of shift.
(low_sign_extend): Ditto.
* top.c (filename_completer): Convert old style decl of
filename_completion_function into prototype.
* f-lang.c (patch_common_entries): Ifdef out unused function.
* stabsread.c (read_cfront_baseclasses): Remove unused local
variable "msg_noterm".
(resolve_cfront_continuation): Remove unused local variable "fip".
(read_type): Remove unused variable xtypenums.
(read_cfront_static_fields): Remove unused variable "i".
(read_cfront_static_fields): Remove unused variable "nfields".
(read_cfront_member_functions): Add missing comment terminator.
(read_cfront_static_fields): Return 1 rather than random value.
(read_cfront_baseclasses): Ditto.
(read_cfront_baseclasses): Ditto.
(read_cfront_baseclasses): Ditto.
* somsolib.c (som_solib_create_inferior_hook): Remove unused
variable "u".
(som_solib_create_inferior_hook): Remove unused variable
shadow_contents.
(language.h): Add for needed prototypes.
(som_solib_sharedlibrary_command): Add prototype.
* hpread.c: (hpread_read_array_type): Add prototype.
* somread.c (hpread_build_pysmtabs): Add prototype.
(hpread_symfile_finish): Ditto.
(hpread_symfile_init): Ditto.
* hppah-nat.c (fetch_register): Convert old style decl
to prototype.
(gdbcore.h): Include for needed prototypes.
(fetch_register): Remove unused variable "mess".
* remote-pa.c (get_offsets): Ifdef out unused function.
(remote_start_remote): Remove unused variable "timeout".
(boot_board): Add prototype.
(reaad_frame): Add prototype.
(getpkt): Remove unused variable "bp".
(remote_kill): Add prototype.
(remote_mourn): Add prototype.
(remote_insert_breakpoint): Add prototype.
(remote_remove_breakpoint): Add prototype.
* valops.c (value_push): Only use if PUSH_ARGUMENTS is not defined.
* infcmd.c (do_registers_info): Only need prototype if
DO_REGISTERS_INFO is not defined.
(breakpoint_auto_delete_contents): Only need if
CALL_DUMMY_BREAKPOINT_OFFSET is defined.
1996-07-28 06:32:48 +00:00
David Edelsohn
70943b5f0b
* config/sparc/tm-sp64.h (REGISTER_RAW_SIZE): Lower 32 fp regs
...
have size 4.
(REGISTER_VIRTUAL_SIZE): Likewise.
(REGISTER_VIRTUAL_TYPE): Lower 32 fp regs have type float.
Upper 32 fp regs have type double.
* sparc-tdep.c (NUM_SPARC_FPREGS): Replace with
(FP_REGISTER_BYTES): this, and update all uses.
(FP_MAX_REGNUM): Define if not already.
(get_saved_register): Handle new sparc64 fp regs.
(sparc_frame_find_saved_regs): Likewise.
(sparc_print_register_hook): Only print fp regs < 32 as doubles.
Add code to handle long doubles when gdb does.
(_initialize_sparc_tdep): Use print_insn_sparc64 if sparc64.
1995-09-06 21:35:20 +00:00
Fred Fish
6c9638b444
Update FSF address.
1995-08-02 03:41:12 +00:00
David Edelsohn
1cd3b16334
* sparc/tm-sp64.h (USE_STRUCT_CONVENTION): Define.
...
(EXTRACT_STRUCT_VALUE_ADDRESS): Delete.
1995-03-04 01:35:34 +00:00
David Edelsohn
0fb8b15a92
* sparc/tm-sp64.h (REGISTER_NAMES): Fix some typos.
1995-03-03 08:57:52 +00:00
David Edelsohn
9e3501580c
* sparc-tdep.c (NUM_SPARC_FPREGS): Define.
...
(SPARC_INTREG_SIZE): Define.
(*): Use SPARC_INTREG_SIZE instead of REGISTER_RAW_SIZE (intreg)
where appropriate.
(enum branch_type): New value `done_retry'.
(isbranch): Renamed from isannulled. All callers changed.
Support new sparc64 branch insns.
(single_step): Handle done_retry.
(sparc_extract_struct_value_address): Don't assume 4 byte regs.
(get_saved_register): Likewise.
(sparc_push_dummy_frame): Likewise.
(sparc_frame_find_saved_regs): Likewise.
(sparc_pop_frame): Likewise. Don't refer to FPS_REGNUM, CPS_REGNUM,
or PS_REGNUM if not sparc64. sparc64 has 64 fp regs.
(sparc64_extract_struct_value_address): New function.
(dump_ccreg, sparc_print_register_hook): Likewise.
* sp64-tdep.c: Deleted.
* sparc/tm-sp64.h (GDB_TARGET_IS_SPARC64): Define.
(NUM_REGS): Reduce by 2, cle/tle are in the pstate reg.
(CC_HAS_LONG_LONG): Define.
(REGISTER_NAMES): Delete cle/tle and reorganize.
(PS_REGNUM, FPS_REGNUM, CPS_REGNUM): Delete, they're ifdef'd out of
sparc-tdep.c now.
(REGISTER_BYTES): Update.
(REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Delete.
(EXTRACT_RETURN_VALUE): Delete. Use definition in tm-sparc.h.
(NO_SINGLE_STEP): Likewise.
* sparc/tm-sparc.h (EXTRACT_VALUE_RETURN): Don't assume 4 byte regs.
* sparc/sp64.mt: Move simulator support ...
* sparc/sp64sim.mt: ... to here.
1995-03-02 00:11:22 +00:00
David Edelsohn
5029b1148d
(FPS_REGNUM, CPS_REGNUM): Define (so sparc-tdep.c compiles).
...
(TARGET_PTR_BIT): Must be a constant now, fix at 64.
1994-03-20 23:36:50 +00:00
David Edelsohn
3b22d69a5f
sp64.mt: New file.
...
tm-sp64.h (FRAME_CHAIN, FRAME_SAVED_PC): Deleted.
(PRINT_REGISTER_HOOK): Call new fn sparc_print_register_hook.
1993-07-30 18:40:05 +00:00
David Edelsohn
a94019bcc1
Initial versions of port to sparc64 simulators.
1993-07-08 03:08:49 +00:00