aboutsummaryrefslogtreecommitdiff
path: root/gdb/rs6000-tdep.c
AgeCommit message (Collapse)AuthorFilesLines
2001-08-01* defs.h (HOST_FLOAT_FORMAT, HOST_DOUBLE_FORMAT)Andrew Cagney1-0/+1
(HOST_FLOAT_FORMAT, HOST_DOUBLE_FORMAT) (HOST_LONG_DOUBLE_FORMAT, DOUBLEST) (floatformat_to_doublest, floatformat_from_doublest) (floatformat_is_negative, floatformat_is_nan) (floatformat_mantissa, store_floating) (extract_floating): Move declaration from here. * doublest.h: To here. New file. * utils.c (get_field, floatformat_to_doublest, put_field) (ldfrexp, floatformat_from_doublest, floatformat_is_negative) (floatformat_is_nan, floatformat_mantissa) (FLOATFORMAT_CHAR_BIT): Move from here. * doublest.c: To here. New file. * findvar.c (store_floating, extract_floating): Move from here. * doublest.c: To here. * Makefile.in (SFILES): Add doublest.c. (COMMON_OBS): Add doublest.o. (doublest.o): Specify dependencies. (doublest_h): Define. * config/m88k/tm-m88k.h: Include "doublest.h". * config/i960/tm-i960.h: Ditto. * config/i386/tm-symmetry.h: Ditto. * rs6000-tdep.c, valarith.c: Ditto. * valprint.c, stabsread.c, sh-tdep.c: Ditto. * ia64-tdep.c, i387-tdep.c, i386-tdep.c: Ditto. * values.c, arm-tdep.c, arm-linux-tdep.c: Ditto. * alpha-tdep.c, ax.h, expression.h: Ditto. * sh-tdep.c, parse.c, top.c, value.h: Ditto. * Makefile.in (arm-tdep.o): Add $(doublest_h). (i386-tdep.o, i387-tdep.o, ia64-tdep.o): Ditto. (rs6000-tdep.o, stabsread.o, valarith.o): Ditto. (values.o, valprint.o, arm-linux-tdep.o): Ditto. (alpha-tdep.o, ax_h, parse.o, top.o, value_h): Ditto. (parser_defs_h): Ditto. (expression_h): Add $(doublest_h) and $(symtab_h).
2001-07-15s/value_ptr/struct value */Andrew Cagney1-4/+4
2001-07-07* symtab.c (main_name): New function.Andrew Cagney1-1/+1
(set_main_name): New function. * symtab.h: Declare. * TODO: Update From 2000-03-05 Anthony Green <green@redhat.com>: * dbxread.c (process_one_symbol): Handle the N_MAIN stab by setting main_name. * blockframe.c (inside_main_func): Use main_name instead of "main". * symtab.c (find_main_psymtab): Ditto. * source.c (select_source_symtab): Ditto. * nlmread.c (nlm_symfile_read): Ditto. * rs6000-tdep.c (skip_prologue): Ditto.
2001-05-14Fix logic selecting a new architecture. Use the sequence:Andrew Cagney1-1/+1
o provided by INFO o hard-wired by (gdb) set ... o reversed engineered from INFO.abfd o default to previous architecture
2001-05-01 * config/rs6000/tm-rs6000.h (IN_SOLIB_RETURN_TRAMPOLINE): Define.Nicholas Duffek1-5/+56
(rs6000_in_solib_return_trampoline): Declare. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): New function. (rs6000_skip_trampoline_code): Skip bigtoc fixup code. * xcoffread.c (read_xcoff_symtab): Perform the ISFCN function check after the CSECT check rather than before it. Allocate separate symtabs for CSECTs whose names begin with '@'. (scan_xcoff_symtab): Don't ignore symbols beginning with '@'. Activate the misc_func_recorded mechanism for whose names begin with '@'.
2001-03-21* target.h (enum target_signal): Move definition from here.Andrew Cagney1-1/+2
* defs.h (enum target_signal): To here. * config/arc/tm-arc.h (arc_software_single_step): Change type of first parameter to enum target_signal. * config/rs6000/tm-rs6000.h (rs6000_software_single_step): Ditto. * config/sparc/tm-sparc.h (sparc_software_single_step): Ditto. * rs6000-tdep.c (rs6000_software_single_step): Update.
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-3/+5
internal_verror().
2000-11-18Handle optimizer code motions into the prologue.Kevin Buettner1-6/+101
2000-11-09 Add auto-solib-add support for AIX, remove obsolete and unusedPeter Schauer1-1/+0
SOLIB_SYMBOLS_MANUAL code, cleanup of AIX shared library handling code. * rs6000-nat.c (vmap_symtab): Do not try to modify offsets if symbols are not yet loaded. (vmap_add_symbols): New function to add symbols for a vmap entry. (add_vmap): Turn errors into warnings, return NULL vmap upon failure. Add symbols via vmap_add_symbols only if requested. (xcoff_relocate_core): Allow debugging of core files without an executable file. Handle NULL returns from add_vmap gracefully. * xcoffsolib.c (solib_add): Remove, no longer needed. (solib_info): Do not check for new shared libraries if there is no inferior process. (sharedlibrary_command): Made static. Do not check for new shared libraries if there is no inferior process. Add symbols for requested shared libraries via vmap_add_symbols. (_initialize_solib): Add `set auto-solib-add' command. * xcoffsolib.h (vmap_add_symbols): Add prototype declaration. * config/rs6000/tm-rs6000.h (PC_LOAD_SEGMENT): Move from here ... * config/rs6000/nm-rs6000.h: ... to here, this is an AIX native feature. * config/powerpc/tm-macos.h, config/powerpc/tm-ppc-eabi.h, config/powerpc/tm-ppc-nw.h, config/rs6000/tm-rs6000ly.h: Remove #undef PC_LOAD_SEGMENT. * config/powerpc/aix.mt, config/rs6000/aix4.mt, config/rs6000/rs6000.mt (TDEPFILES): Move xcoffsolib.o from here ... * config/powerpc/aix.mh, config/rs6000/aix4.mh, config/rs6000/rs6000.mh (NATDEPFILES): ... to here, xcoffsolib.o contains AIX native code only. * rs6000-tdep.c: Remove #include xcoffsolib.h, no longer needed. * xcoffsolib.h (xcoff_relocate_symtab_hook): Remove declaration. * rs6000-nat.c (_initialize_core_rs6000): Remove setting of xcoff_relocate_symtab_hook, no longer needed. * xcoffsolib.c (solib_info, sharedlibrary_command): Remove xcoff_relocate_symtab_hook indirection, call xcoff_relocate_symtab directly, as xcoffsolib.c is now compiled in native AIX configurations only. * Makefile.in: Update dependencies for rs6000-tdep.o, rs6000-nat.o and xcoffsolib.o.
2000-10-26 * arch-utils.c, arch-utils.h (default_convert_from_func_ptr_addr):Peter Schauer1-3/+7
New function. * gdbarch.sh (CONVERT_FROM_FUNC_PTR_ADDR): Add. * gdbarch.c, gdbarch.h: Regenerate. * valops.c (find_function_addr): Use CONVERT_FROM_FUNC_PTR_ADDR unconditionally. * config/rs6000/tm-rs6000.h (CONVERT_FROM_FUNC_PTR_ADDR): Delete definition. * config/powerpc/tm-linux.h (CONVERT_FROM_FUNC_PTR_ADDR): Remove undef. * rs6000-tdep.c (rs6000_convert_from_func_ptr_addr): Fix comment. (rs6000_gdbarch_init): Register rs6000_convert_from_func_ptr_addr if not ELFOSABI_LINUX.
2000-10-05Add a limit parameter for scanning the prologue.Kevin Buettner1-9/+10
2000-09-24 * rs6000-tdep.c (rs6000_pop_frame): Use PC_IN_CALL_DUMMY to testPeter Schauer1-3/+2
for call dummy instead of accessing stop_stack_dummy, which does not work if we `return' from a stop in a call dummy. (rs6000_gdbarch_init): Use generic_save_dummy_frame_tos for dummy_frame_tos function to make PC_IN_CALL_DUMMY work.
2000-07-31Make GNU/Linux/PPC work again.Kevin Buettner1-37/+149
2000-07-30Protoization.Kevin Buettner1-2/+2
2000-07-14 * ppcbug-rom.c (ppcbug_regnames[]): Make array size implicit.Nicholas Duffek1-4/+1
* rs6000-tdep.c (DEFAULT_LR_SAVE): Move to config/*/tm-*.h. (rs6000_gdbarch_init): Use generic_pc_in_call_dummy instead of rs6000_pc_in_call_dummy. * config/rs6000/tm-rs6000.h (DEFAULT_LR_SAVE): Move here from rs6000-tdep.c. * config/powerpc/tm-ppc-eabi.h: Remove various definitions handled by multi-arched rs6000-tdep.c.
2000-07-07 * xcoffread.c (read_symbol_nvalue): Return CORE_ADDR.Nicholas Duffek1-2/+2
* rs6000-tdep.c (rs6000_pop_frame): Make addr CORE_ADDR type.
2000-06-16 * rs6000-tdep.c: Changes throughout for multi-arch 64-bitNicholas Duffek1-672/+849
support. Incorporate most of tm-rs6000.h. (find_toc_address_hook): Rename to rs6000_find_toc_address_hook. (rs6000_set_host_arch_hook): Declare. (read_memory_addr): Define. (pop_frame): Rename to rs6000_pop_frame. (rs6000_pop_frame, rs6000_fix_call_dummy, rs6000_push_arguments, rs6000_frame_saved_pc, rs6000_frame_chain): Remove non-generic dummy frame handling. (branch_dest, rs6000_pop_frame, rs6000_skip_trampoline_code, rs6000_frame_saved_pc, frame_get_saved_regs, frame_initial_stack_address, rs6000_frame_chain, rs6000_convert_from_func_ptr_addr): Call read_memory_addr instead of read_memory_integer. (branch_dest, rs6000_pop_frame, rs6000_push_arguments, rs6000_skip_trampoline_code, rs6000_frame_saved_pc, frame_get_saved_regs, frame_initial_stack_address, rs6000_frame_chain): Replace 4 with TDEP->wordsize. (skip_prologue): Recognize some 64-bit stack adjustments. (push_dummy_frame, pop_dummy_frame, set_processor, show_processor): Delete. (frame_get_saved_regs): Manipulate saved register addresses using CORE_ADDR instead of int. (rs6000_create_inferior): New function. (register_names_*[]): Change to struct reg registers_*[]. (variants[]): Assimilate into multi-arch approach. (register_names_*[], variants[]): Refer to pre-PowerPC architectures as POWER instead of RS6000. * rs6000-nat.c: Ubiquitous changes for 64-bit support. (vmap_secs, xcoff_relocate_symtab): Cast addresses to unsigned long to avoid sign-extension errors. (set_host_arch): New function. (xcoff_relocate_symtab): Try disabling usleep(36000) workaround. (rs6000_core_fns): Use new bfd_target_xcoff_flavour. (_initialize_core_rs6000): Initialize rs6000_set_host_arch_hook. * symfile.c (find_sym_fns): Remove special xcoff kludge. * xcoffread.c (secnum_to_bfd_section): Initialize args.objfile. (process_linenos): Query line struct size from coff backend instead of using compile-time constant. (enter_line_range): Likewise. (read_xcoff_symtab): Pass "XCOFF64" instead of "XCOFF" to record_debugformat() if appropriate. (process_xcoff_symbol): Access symbol addresses using SYMBOL_VALUE_ADDRESS instead of SYMBOL_VALUE. (read_symbol_lineno): Retrieve XCOFF64 symbol names from strtbl. (scan_xcoff_symtab): Likewise. Query syment struct size from coff backend instead of using compile-time constant. (xcoff_sym_fns): Set flavour to bfd_target_xcoff_flavour. * Makefile.in (INTERNAL_LDFLAGS): Add $(MH_LDFLAGS) to list of flags that this Makefile variable get set to. (From Kevin Buettner.) * config/powerpc/aix.mh (MH_LDFLAGS): Add linker flags so that the TOC doesn't overflow. (From Kevin Buettner.) * config/powerpc/tm-ppc-aix.h: Move config decisions to multi-arched rs6000-tdep.c. * config/rs6000/tm-rs6000.h: Likewise. (GDB_MULTI_ARCH): Define. (skip_trampoline_code): Rename to rs6000_skip_trampoline_code. (is_magic_function_pointer): Replace with rs6000_convert_from_func_ptr_addr. (TARGET_CREATE_INFERIOR_HOOK): Define. (find_toc_address_hook): Rename to rs6000_find_toc_address_hook. (rs6000_set_host_arch_hook): Declare. * config/rs6000/nm-rs6000.h (CHILD_XFER_MEMORY): Define.
2000-06-04Eliminate PARAMS from function pointer declarations.Kevin Buettner1-1/+1
2000-05-28PARAMS removal.Kevin Buettner1-6/+6
2000-02-26Changes to skip_prologue for PPC architecture.Kevin Buettner1-11/+27
2000-02-24Shared library, function calling fixes for GNU/Linux PPC port.Kevin Buettner1-4/+4
2000-02-22Changes for GNU/Linux PPC native port of gdb.Kevin Buettner1-9/+6
2000-02-15AIX 4.3 changes.Kevin Buettner1-34/+74
1999-10-05import gdb-1999-10-04 snapshotJason Molenda1-1/+2
1999-09-09import gdb-1999-09-08 snapshotStan Shebs1-3/+0
1999-07-07import gdb-1999-07-07 post reformatJason Molenda1-575/+654
1999-06-14import gdb-1999-06-14 snapshotJason Molenda1-1/+1
1999-06-07import gdb-1999-06-07 snapshotJason Molenda1-1/+1
1999-05-25import gdb-1999-05-25 snapshotJason Molenda1-1/+1
1999-05-05import gdb-19990504 snapshotStan Shebs1-0/+10
1999-04-26import gdb-19990422 snapshotStan Shebs1-67/+59
1999-04-16Initial creation of sourceware repositorygdb-4_18-branchpointStan Shebs1-0/+1800
1999-04-16Initial creation of sourceware repositoryStan Shebs1-1800/+0
1999-02-01Allow PPC users to select which PPC/RS6000 variant they're debuggingJim Blandy1-2/+381
at run-time. At the moment, the only thing this affects is the set of registers visible. * config/rs6000/tm-rs6000.h (REGISTER_NAME): Define this as a call to the function rs6000_register_name. (rs6000_register_name): Include extern decl. (NUM_REGS): Bump to 183. What's the right way to do this? (FIRST_UISA_SP_REGNUM, LAST_UISA_SP_REGNUM): Renamed from FIRST_SP_REGNUM, LAST_SP_REGNUM. (REGISTER_BYTES): Recompute this. * rs6000-tdep.c: Renamed all uses of FIRST_SP_REGNUM and LAST_SP_REGNUM to FIRST_UISA_SP_REGNUM and LAST_UISA_SP_REGNUM, with some concomitant formatting changes. #include "gdbcmd.h", so we can define commands here. (struct variant): New structure. (COMMON_UISA_REG_NAMES, PPC_UISA_SPR_NAMES, PPC_SEGMENT_REG_NAMES, PPC_32_OEA_SPR_NAMES, num_registers): New macros. (register_names_rs6000, register_names_uisa, register_names_403, register_names_403GC, register_names_505, register_names_860, register_names_601, register_names_602, register_names_603, register_names_604, register_names_750, variants): New variables. (rs6000_register_name, install_variant, find_variant_by_name, install_variant_by_name, list_variants, show_current_variant, set_processor, show_processor): New functions. (_initialize_rs6000_tdep): Define new commands `set processor' and `show processor', and call install_variant_by_name to set the default variant. * rs6000-nat.c: Renamed all uses of FIRST_SP_REGNUM and LAST_SP_REGNUM to FIRST_UISA_SP_REGNUM and LAST_UISA_SP_REGNUM, with some concomitant formatting changes. * configure.in: Accept the `--with-cpu' flag, to specify a default processor variant. * acconfig.h: Provide a blurb for TARGET_CPU_DEFAULT, which is set by configure's `--with-cpu' flag. * config.in, configure: Regenerated.
1998-12-12CARP: Mechanism to replace EXTRA_FRAME_INFO.Andrew Cagney1-49/+111
Add two pointers (saved_regs, extra_info) to struct frame_info. Introduce new macro FRAME_INIT_SAVED_REGS which replaces FRAME_FIND_SAVED_REGS. Document. Use in mn10300 and rs6000 targets. Fix side effects on ALPHA, MIPS, Z8K and SPARC targets.
1998-12-07* rs6000-tdep.c (pop_frame): Correctly find the registers saved inJim Blandy1-13/+19
the stack frame. Their offset from the previous stack frame is in fdata.gpr_offset and fdata.fpr_offset, not fdata.offset. (gdb.base/return.exp) * config/rs6000/tm-rs6000.h: Doc fixes.
1998-11-27CARP:Andrew Cagney1-7/+4
STEP_SKIPS_DELAY - add STEP_SKIPS_DELAY_P and rewrite use removing #ifdef's. NO_SINGLE_STEP - replace with SOFTWARE_SINGLE_STEP_P + SOFTWARE_SINGLE_STEP. Replace global variable one_stepped with static singlestep_breakpoints_inserted_p. Cleanup infrun.c (scary!).
1998-11-26* rs6000-tdep.c (rs6000_breakpoint_from_pc): Change big_breakpointAndrew Cagney1-2/+2
and little_breakpoint to char[] from char*. * remote-array.c (array_insert_breakpoint): Change bp_addr to CORE_ADDR type.
1998-11-24CARP: *BREAKPOINT*Andrew Cagney1-0/+19
Convert mn10300, MIPS and powerpc/rs6000 targets to use BREAKPOINT_FROM_PC Delete global variable memory_breakpoint_size. Use BREAKPOINT_FROM_PC instead.
1998-10-10 * rs6000-tdep.c: Don't include tm.h twice.Mark Alexander1-1/+0
1998-10-08 * rs6000-tdep.c (get_saved_register): Define only ifMark Alexander1-0/+2
USE_GENERIC_DUMMY_FRAMES is defined.
1998-09-23 Patch from Dawn Perchik <dawn@cygnus.com>:Mark Alexander1-6/+101
* rs6000-tdep.c (pop_frame): Handle generic dummy frames. (push_arguments): Likewise. (frame_saved_pc): Likewise. (rs6000_frame_chain): Likewise. (ppc_push_return_address): New function. (get_saved_register): New function. * config/powerpc/tm-ppc-eabi.h: Add generic dummy frame macros.
1998-06-24Tue Jun 23 17:32:26 1998 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-29/+43
* rs6000-tdep.c (pop_dummy_frame): use memcpy. (push_arguments): use memset. (various other places): fix up indentation and long lines.
1997-09-23 * mips-tdep.c (mips_push_arguments): Tweak alignment of registerPeter Schauer1-1/+17
value if the remaining length of a non-integral argument is smaller than the register size for big-endian non-EABI mode. * rs6000-tdep.c (branch_dest): Handle return from signal handler function via sigreturn kernel call.
1997-08-15 * infrun.c (wait_for_inferior): Add the symbols for anyPeter Schauer1-128/+18
newly loaded objects upon a TARGET_WAITKIND_LOADED event. Rewrite code which determines the TOC address for calling functions in the inferior under AIX. * rs6000-nat.c (find_toc_address): New function to determine the required TOC address from a function address. (_initialize_core_rs6000): Set up find_toc_address_hook to point to find_toc_address. (xcoff_relocate_symtab, xcoff_relocate_core): Remove add_text_to_loadinfo calls. (exec_one_dummy_insn): Change pid and status to int to get rid of compiler warnings. (xcoff_relocate_symtab): Cast ldi to `int *' when passing it to ptrace to get rid of compiler warnings. * rs6000-tdep.c: Add definition for find_toc_address_hook. (rs6000_fix_call_dummy): If find_toc_address_hook is non zero, patch TOC address load code in the call dummy with the value returned from find_toc_address_hook. (struct loadinfo, loadinfo, loadinfolen, loadinfotextindex, xcoff_init_loadinfo, free_loadinfo, xcoff_add_toc_to_loadinfo, add_text_to_loadinfo, find_toc_address): Remove. (_initialize_rs6000_tdep): Remove initialization of coff_add_toc_to_loadinfo_hook and xcoff_init_loadinfo_hook. * xcoffread.c (coff_add_toc_to_loadinfo_hook, xcoff_init_loadinfo_hook): Remove. (struct coff_symfile_info): Add toc_offset field. (scan_xcoff_symtab): Record toc_offset value in toc_offset field instead of calling xcoff_add_toc_to_loadinfo_hook. (get_toc_offset): New function to return the value of the toc_offset field for an object file. (xcoff_initial_scan): Remove call of xcoff_init_loadinfo_hook. * xcoffsolib.h (add_text_to_loadinfo): Remove declaration. * config/rs6000/tm-rs6000.h: Add declarations for find_toc_address_hook and get_toc_offset.
1997-05-15 * config/rs6000/tm-rs6000.h (SIG_FRAME_LR_OFFSET): Define.Peter Schauer1-7/+28
* rs6000-tdep.c (frameless_function_invocation): Mark frames with a zero PC as frameless to improve backtraces from core dumps caused by dereferencing a NULL function pointer. (frameless_function_invocation, frame_saved_pc, rs6000_frame_chain): Handle frameless functions interrupted by a signal. * sparc-tdep.c (sparc_init_extra_frame_info, sparc_frame_saved_pc): Handle frameless functions interrupted by a signal.
1997-04-19 * config/powerpc/tm-ppc-aix4.h, config/rs6000/tm-rs6000-aix4.hPeter Schauer1-2/+3
(DONT_RELOCATE_SYMFILE_OBJFILE): Removed. * xcoffsolib.h (struct vmap): Add new members tvma, toffs and dvma, remove tadj. * exec.c (bfdsec_to_vmap): Initialize new vmap members, initialize tstart and dstart with section VMA. * rs6000-nat.c (vmap_symtab): Relocate relative to the VMA in the object file. (vmap_ldinfo, xcoff_relocate_core): Adjust tstart by section offset of the text section, remove DONT_RELOCATE_SYMFILE_OBJFILE hack. (vmap_exec): Relocate relative to the VMA in the object file, relocate .bss section as well. (xcoff_relocate_core): No longer adjust section addresses by VMA. * rs6000-tdep.c (find_toc_address): Change type of tocbase to CORE_ADDR. * xcoffread.c (secnum_to_bfd_section): New routine to get BFD section from CS section number. (scan_xcoff_symtab): Make toc_offset section relative. * symtab.c (total_number_of_methods): Avoid core dump if baseclass type is still undefined.
1996-08-25 * rs6000-tdep.c: Fix typo in comment.Fred Fish1-1/+1
* 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.