aboutsummaryrefslogtreecommitdiff
path: root/gdb/sparc-tdep.c
AgeCommit message (Collapse)AuthorFilesLines
2002-05-05* sparc-tdep.c (sparc_get_saved_register): Comment whyAndrew Cagney1-0/+10
get_prev_frame call is safe.
2002-04-26* sparc-tdep.c (sparc_gdbarch_init): Add comment explaining whyAndrew Cagney1-0/+44
ON_STACK is needed.
2002-04-262002-04-24 David S. Miller <davem@redhat.com>David S. Miller1-13/+22
* sparc-tdep.c (sparc_gdbarch_skip_prologue): Kill, duplicates sparc_skip_prologue. (sparc_skip_prologue): Kill frameless_p arg, and use line number information to find prologue when possible. (sparc_prologue_frameless_p): Call examine_prologue directly. (sparc_gdbarch_init): Update set_gdbarch_skip_prologue call. * config/sparc/tm-sparc.h (sparc_skip_prologue): Update for killed second argument. (SKIP_PROLOGUE): Likewise.
2002-04-242002-04-20 David S. Miller <davem@redhat.com>David S. Miller1-1/+1
* sparc-tdep.c (sparc_pop_frame): Only need to allocate SPARC_INTREG_SIZE * 16 bytes for reg_temp.
2002-04-22Revert Sparc OS abi changes.David S. Miller1-223/+77
2002-04-222002-04-20 David S. Miller <davem@redhat.com>David S. Miller1-77/+223
* sparc-tdep.h: New file. * sparc-tdep.c (elf-bfd.h): Include. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REGNUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET, gdbarch_tdep, CALL_DUMMY_CALL_OFFSET): Move out to sparc-tdep.h (sparc_dump_tdep): New function. (_initialize_sparc_tdep): Use gdbarch_register instead of register_gdbarch_init which is deprecated. (process_note_abi_tag_sections, sparc_abi_handler, sparc_abi_handler_list, sparc_gdbarch_register_os_abi): New. (sparc_gdbarch_init): Determine elf os ident key based upon either the elf header or by using process_note_abi_tag_sections. Fix 'gdbarch already exists' test by comparing os_ident as well. As the last action, invoke OS abi_handler if installed.
2002-04-222002-04-21 David S. Miller <davem@redhat.com>David S. Miller1-4/+10
* arch-utils.c (generic_prologue_frameless_p): Kill SKIP_PROLOGUE_FRAMELESS_P code. * config/arc/tm-arc.h (SKIP_PROLOGUE_FRAMELESS_P): Delete references. (PROLOGUE_FRAMELESS_P, arc_prologue_frameless_p): New. * arc-tdep.c (arc_prologue_frameless_p): Implement. * config/arc/tm-sparc.h (SKIP_PROLOGUE_FRAMELESS_P): Delete references. (PROLOGUE_FRAMELESS_P, sparc_prologue_frameless_p): New. * sparc-tdep.c (sparc_prologue_frameless_p): Implement. (sparc_gdbarch_init): Pass it to set_gdbarch_prologue_frameless_p.
2002-04-20* sparc-tdep.c (sparc_get_saved_register): Use get_prev_frameAndrew Cagney1-4/+4
instead of ->prev. * z8k-tdep.c (z8k_frame_chain): Do not use ->prev. * s390-tdep.c (s390_frame_chain): Do not use ->prev. * rs6000-tdep.c (frame_get_saved_regs): Use rs6000_frame_chain() instead of ->prev.
2002-04-12* defs.h (read_relative_register_raw_bytes): Delete declaration.Andrew Cagney1-8/+10
* frame.c (frame_register_read): New function. Return non-zero on success. (read_relative_register_raw_bytes_for_frame): Delete. (read_relative_register_raw_bytes): Delete. * frame.h (frame_register_read): Declare. * d30v-tdep.c: Update Copyright. Use frame_register_read. * sh-tdep.c: Ditto. * infcmd.c (do_registers_info): Ditto. * hppa-tdep.c: Ditto. * rs6000-tdep.c: Ditto. * h8500-tdep.c: Ditto. * mips-tdep.c: Ditto. * h8300-tdep.c: Ditto. * z8k-tdep.c: Ditto.
2002-04-06* sparc-tdep.c (sparc_push_dummy_frame): Use GDB_TARGET_IS_SPARC64Andrew Cagney1-1/+1
as test for 64 bit target.
2002-04-05* sparc-tdep.c (sparc64_write_fp): Delete.Andrew Cagney1-14/+20
(sparc_push_dummy_frame): Replace write_fp call with code to store the FP directly. (sparc_gdbarch_init): Do not initialize write_fp.
2002-02-20* arc-tdep.c (get_longjmp_target): Only compile this function if JB_PCRichard Earnshaw1-2/+3
is defined. * sparc-tdep.c (get_longjmp_target): Likewise.
2002-01-20Assume TARGET_BYTE_ORDER_SELECTABLE{,_P} is always true.Andrew Cagney1-9/+2
2002-01-20Eliminate IEEE_FLOAT.Andrew Cagney1-1/+0
2001-12-302001-12-30 Michael Snyder <msnyder@redhat.com>Michael Snyder1-1/+1
* sparc-tdep.c (sparc-store-return-value): Whitespace fix-up.
2001-12-15LITTLE_ENDIAN -> BFD_ENDIAN_LITTLEAndrew Cagney1-2/+2
2001-07-15s/value_ptr/struct value */Andrew Cagney1-5/+5
2001-05-15* sparc-tdep.c (sparc_gdbarch_init): Get the architecture fromMark Kettenis1-1/+1
info.bfd_arch_info.
2001-03-28Gag -Wuninitialized warnings.Andrew Cagney1-0/+2
Add -Wuninitialized to default warning list.
2001-03-06Update/correct copyright notices.Kevin Buettner1-2/+2
2001-03-01Create new file regcache.h. Update all uses.Andrew Cagney1-0/+1
2001-02-08Add __FILE__ and __LINE__ parameter to internal_error() /Andrew Cagney1-2/+4
internal_verror().
2001-01-02 * sparc-tdep.c: update copyright notice.Michael Snyder1-2/+2
2001-01-022001-01-02 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-1/+1
* sparc-tdep.c (sparc-frame-chain): Fix typo in comment.
2001-01-022000-12-20 Michael Snyder <msnyder@mvstp600e.cygnus.com>Michael Snyder1-10/+2
* arch-utils.c (default_frame_address): New function. Default implementation of frame_args_address and frame_locals_address. * arch-utils.h (default_frame_address): Export. * d10v-tdep.c (d10v_gdbarch_init): Use default_frame_address. (d10v_frame_args_address, d10v_frame_locals_address): Delete. * sh-tdep.c (sh_gdbarch_init): Use default_frame_address. (sh_frame_args_address, sh_frame_locals_address): Delete. * sparc-tdep.c (sparc_gdbarch_init): Use default_frame_address. (sparc_frame_address): Delete.
2000-10-24Reorganize solib.c.Kevin Buettner1-3/+2
2000-10-16 * sparc-tdep.c (sparc_fix_call_dummy): Improve comments.Peter Schauer1-12/+25
Adjust call_dummy_breakpoint_offset, so that `finish' after a stop in a call dummy works. (sparc_gdbarch_init): Fix setting of pc_in_call_dummy, it depends on SPARC32/64_CALL_DUMMY_ON_STACK, not DO_CALL_DUMMY_ON_STACK.
2000-08-10 * sparc-tdep.c (sparc_init_extra_frame_info): Fix number ofAndrew Cagney1-1/+1
arguments to fetch_instruction.
2000-07-30Protoization.Kevin Buettner1-105/+44
2000-05-262000-05-26 Michael Snyder <msnyder@seadog.cygnus.com>Michael Snyder1-6/+7
* gregset.h: New file. Typedefs for gdb_gregset_t and gdb_fpregset_t, prototypes for supply_gregset and friends. * procfs.c: Include gregset.h. Delete local prototypes for supply_gregset etc., and local typedef gdb_gregset_t etc. * sol-thread.c: Include gregset.h, delete local prototypes, add appropriate casts to gdb_gregset_t. * uw-thread.c, lin-thread.c, core-sol2.c, core-regset.c, sparc-tdep.c, ptx4-nat.c, ppc-linux-nat.c, mipsv4-nat.c, m88k-nat.c, m68klinux-nat.c, m68k-tdep.c, irix5-nat.c, irix4-nat.c, ia64-linux-nat.c, i386v4-nat.c, cxux-nat.c, arm-linux-nat.c, alpha-nat.c: Include gregset.h. * config/nm-linux.h: Define GDB_GREGSET_T, GDB_FPREGET_T. * config/sparc/tm-sun4sol2.h: Ditto.
2000-05-242000-05-17 Michael Snyder <msnyder@seadog.cygnus.com>Michael Snyder1-4/+0
* config/sparc/tm-sun4sol2.h: Turn on multi-arch. * sparc-tdep.c (gdb_print_insn_sparc): Remove temp. multi-arch hack.
2000-05-102000-05-10 Michael Snyder <msnyder@seadog.cygnus.com>Michael Snyder1-432/+1552
Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-102000-05-08 Michael Snyder <msnyder@seadog.cygnus.com>Michael Snyder1-47/+50
* gdbarch.sh: Add FP0_REGNUM to list of multi-arched register numbers. * gdbarch.c, gdbarch.h: Regenerate. * core-regset.c: Change FP0_REGNUM to a runtime test. * procfs.c: Ditto. * sun3-nat.c: Ditto. * sparc-tdep.c: Ditto. * i386mach-nat.c: Remove unnecessary ifdef for FP0_REGNUM. * ptx4-nat.c: Ditto. * sol-thread.c (sol_thread_create_inferior): only add the thread to the thread list if it is not already in there. (prototypes for thread_db func ptrs): pretty up formatting.
1999-10-05import gdb-1999-10-04 snapshotJason Molenda1-0/+2
1999-08-09import gdb-1999-08-09 snapshotJason Molenda1-3/+3
1999-07-07import gdb-1999-07-07 post reformatJason Molenda1-239/+263
1999-07-07import gdb-1999-07-07 pre reformatJason Molenda1-0/+2
1999-05-05import gdb-19990504 snapshotStan Shebs1-1/+1
1999-04-26import gdb-19990422 snapshotStan Shebs1-1/+1
1999-04-16Initial creation of sourceware repositorygdb-4_18-branchpointStan Shebs1-0/+2120
1999-04-16Initial creation of sourceware repositoryStan Shebs1-2074/+0
1998-06-03 * sparc-tdep.c (sparc_target_architecture_hook): Set targetMark Alexander1-0/+2
byte order only when it's selectable.
1998-06-02 * sparc-tdep.c (sparc_target_architecture_hook): New function toMark Alexander1-31/+439
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-04-15 * sparc-tdep.c (sparc_extract_struct_value_address): Make itMark Alexander1-26/+136
work correctly on little-endian hosts. (sparc_push_arguments): New function. (gdb_print_insn_sparc): New function. (_initialize_sparc_tdep): Make gdb_print_insn_sparc the default disassembler, so that SPARClite-specific instructions will be recognized. * sparcl-tdep.c (readchar): Print debugging information. (debug_serial_write): New function, a replacement for SERIAL_WRITE that prints debugging information. * config/sparc/tm-sparc.h (PUSH_ARGUMENTS): Define. (sparc_push_arguments): Declare.
1996-07-15 * defs.h printcmd.c: Create global disassemble_info structureStu Grossman1-1/+3
tm_print_insn_info. * gdbtk.c (gdb_disassemble): Setup di.mach from tm_print_insn_info.mach, and set endian from TARGET_BYTE_ORDER. * i386-tdep.c (set_assembly_language_command): set tm_print_insn_info.mach to the appropriate value for 386 or 8086 disassembly. * printcmd.c (print_insn): Move init of disassembler_info to _initialize_printcmd. Set endian for disassembler here. * sparc-tdep.c: Set tm_print_insn_info.mach as appropriate to select sparc/sparclite. * config/sparc/{tm-sparc.h tm-sparclite.h}: Get rid of TM_PRINT_INSN. Set TM_PRINT_INSN_MACH to bfd_mach_sparc/bfd_mach_sparc_sparclite.
1996-07-04 * sparcl-tdep.c (_initialize_sparc_tdep) config/sparc/tm-sparc.h,Stu Grossman1-1/+1
config/sparc/tm-sparclite.h: Initialize tm_print_insn from TM_PRINT_INSN, which comes from the tm file. * Makefile.in (INTERNAL_LDFLAGS): Add in flags from configure. * configure configure.in: Only make sol-thread.o for native. Also, switch to dlopened libthread_db.so.1. * sol-thread.c: Switch to using dlopen to get the thread_db library. * configure, configure.in: Change test for libthread_db to only work for configs where build/host/target are the same.
1996-06-28 * configure,configure.in: Add target sparclet.Dawn Perchik1-30/+113
* monitor.h,monitor.c: Added monitor flags MO_NO_ECHO_ON_SETMEM (don't expect echo on setmem command), MO_RUN_FIRST_TIME (if command to start process running on target is different from one to continue execution), MO_HEX_PREFIX (if addresses from monitor have a "0x" prefix). * monitor.c,parse.c,sparc-tdep.c: Don't require strings in the registers array. This is to allow NULLs to be place holders in the tm-*.h file so that only minor changes are needed when a new processor is introduced (eg, one without floating point). * sparc-tdep.c: Conditionally remove dependancies on floating point. * sparclet-rom.c,config/sparc/sparclet.mt,config/sparc/tm-sparclet.h: New files for target sparclet. * symfile.c: Add option for 2nd parameter on load command : a load offset added to the vma of each section.
1995-08-18 * sparc-tdep.c (isbranch): Fix typo which caused wrongPeter Schauer1-2/+2
target addresses for annulled branches.
1995-07-29 * alpha-tdep.c: Move sigtramp handling of saved registers fromPeter Schauer1-1/+7
read_next_frame_reg to alpha_find_saved_regs, handle saved floating point registers. * mips-tdep.c: Move sigtramp handling of saved registers from read_next_frame_reg to mips_find_saved_regs, handle saved floating point registers. * config/mips/tm-irix3.h, config/mips/tm-irix5.h, config/mips/tm-mipsv4.h (SIGFRAME_FPREGSAVE_OFF): Define. * sparc-tdep.c (sparc_pc_adjust): Fix check for `unimp' instruction to handle functions returning structures with large sizes properly.
1995-03-25 * buildsym.c (patch_subfile_name): Update last_source_filePeter Schauer1-12/+8
with the real source file name. * dbxread.c (end_psymtab): Handle static functions in the SOFUN_ADDRESS_MAYBE_MISSING case by passing pst->filename to lookup_minimal_symbol. (process_one_symbol): Ignore extra outermost context from SunPRO cc and acc. * stabsread.c (define_symbol): Do not complain for SunPRO static variable encoding if STATIC_TRANSFORM_NAME is defined. * sparc-tdep.c, config/sparc/tm-sun4sol2.h (sunpro_static_transform_name): Renamed from solaris_static_transform_name. * config/sparc/tm-sun4os4.h (STATIC_TRANSFORM_NAME): Define to sunpro_static_transform_name for acc 3.0 compiled executables. * procfs.c, config/alpha/nm-osf2.h (PROCFS_DONT_TRACE_FAULTS): Renamed from PROCFS_DONT_TRACE_IFAULT, don't trace any faults if defined. * procfs.c (info_proc_siginfo): Cast sip->si_addr to `unsigned long' and use `lx' format for printing it.