2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com>
[external/binutils.git] / gdb / ChangeLog
index 463d9c1..8ad0024 100644 (file)
@@ -1,3 +1,282 @@
+2000-05-10  Michael Snyder  <msnyder@seadog.cygnus.com>
+       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-08  Michael Snyder  <msnyder@seadog.cygnus.com>
+
+       * 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.
+
+2000-05-08  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * config/djgpp/djconfig.sh: Use more warning switches.
+
+       * config/djgpp/fnchange.lst: Replace the leading gdb-0222 with the
+        @V@ placebo.  djunpack.bat changed accordingly.
+
+Mon May  8 11:19:47 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * mips-tdep.c (size_auto, size_32, size_64, size_enums): Rename
+       saved_gpreg_size_auto, saved_gpreg_size_32, saved_gpreg_size_64
+       and saved_gpreg_size_enums.
+       (mips_stack_argsize): Update. Cleanup.
+
+       * mips-tdep.c (STACK_ARGSIZE): Delete macro.  Replaced by
+       MIPS_STACK_ARGSIZE.
+       (MIPS_NABI32): Delete macro. Replaced by
+       MIPS_REGS_HAVE_STACK_HOME_P.
+       (mips_push_arguments): Update.
+       (mips_push_arguments): Replace check for MIPS_EABI or MIPS_NABI32
+       with test for MIPS_REGS_HAVE_STACK_HOME_P.
+       (MIPS_REGS_HAVE_STACK_HOME_P): Define.  Provide non- multi-arch
+       default.
+       (struct gdbarch_tdep): Add mips_regs_have_stack_home_p and
+       mips_default_stack_argsize.
+       (MIPS_STACK_ARGSIZE): Define as mips_stack_argsize.
+       (mips_stack_argsize_string): New static variable.
+       (mips_stack_argsize): New function, handle default case.
+       (__initialize_mips_tdep): Add command ``set mips stack-arg-size''
+       implemented as an enum using size_auto et.al.
+       (mips_gdbarch_init): Initialize mips_default_stack_argsize and
+       mips_regs_have_stack_home_p.
+
+       * config/mips/tm-irix5.h (MIPS_DEFAULT_SAVED_REGSIZE): Define as 8
+       for n32.
+       (MIPS_REGS_HAVE_STACK_HOME_P): Define as 0 for n32.
+
+Mon May  8 00:49:32 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * procfs.c (PROCFS_TRACE): Delete definition.
+       * proc-utils.h (PROCFS_NOTE, PROC_PRETTYFPRINT_STATUS): Always
+       define.
+
+2000-05-05  Michael Snyder  <msnyder@seadog.cygnus.com>
+
+       * procfs.c: Cleanup of procfs tracing.  Move defines and 
+       prototypes to proc-utils.h
+       * proc-utils.h: Define tracing macros.  Declare trace functions.
+       * proc-api.c: Make procfs tracing a runtime option.
+       (prepare_to_trace): New function, abstracted out of several
+       places.  Open a trace file if one is required.
+       (ioctl_with_trace, write_with_trace, open_with_trace, 
+       close_with_trace, wait_with_trace, lseek_with_trace):
+       Report errno if an error occurs in a system call.
+       (write_with_trace): Make 2nd arg void *, to agree with write.
+
+2000-05-05  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+        * elfread.c (elf_symtab_read): The calculation of 'offset' 
+        must be done for each symbol, not just once. The index 
+        used must be the index of the section where 'sym' resides,
+        not .text.
+
+2000-05-05  Michael Snyder  <msnyder@seadog.cygnus.com>
+
+       * procfs.c (many functions): change int cmd; to long cmd;
+       Solaris /proc API calls this parameter a long, and requires it
+       for 64-bit hosts (where sizeof(long) != sizeof(int)).  UnixWare
+       calls it an int, but on existing UnixWare hosts, int and long
+       are the same size.  So long it must be.  If a future UnixWare
+       version has problems with this, we'll have to use autoconf.
+       * proc-api.c (write_with_trace): use long instead of int.
+
+2000-05-04  Mark Kettenis  <kettenis@gnu.org>
+
+       * i386-linux-nat.c: Define PT_READ_U and PT_WRITE_U if they're not
+       already defined.
+
+2000-05-01  Mark Kettenis  <kettenis@gnu.org>
+
+       * infrun.c (handle_inferior_event): Add missing call to keep_going
+       and missing return when handling an ordinary signal from the
+       inferior.
+
+2000-05-04  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+        * objfiles.h (SECT_OFF_DATA, SECT_OFF_TEXT, SECT_OFF_BSS,
+        SECT_OFF_RODATA): Define as functions of OBJFILE.  Add
+        sect_index_text, sect_index_data, sect_index_rodata,
+        sect_index_bss to objfile structure.
+        * gdb-stabs.h (SECT_OFF_DATA, SECT_OFF_TEXT, SECT_OFF_BSS,
+        SECT_OFF_RODATA): Remove.
+        * objfiles.c (allocate_objfile): Initialize
+        sect_index_{text,data,bss,rodata} to -1, for error detection.
+
+        * symfile.c (default_symfile_offsets): Initialize
+        sect_index_{text,data,bss,rodata} from bfd information.
+        * xcoffread.c (xcoff_symfile_offsets): Ditto.
+        * somread.c (som_symfile_offsets): Initialize
+        sect_index_{text,data,bss,rodata}.
+
+        * coffread.c, dbxread.c, elfread.c, hp-psymtab-read.c,
+        hp-symtab-read.c, hpread.c, mdebugread.c, minsyms.c,
+        mipsread.c, objfiles.c, os9kread.c, pa64solib.c, partial-stab.h,
+        remote-os9k.c, remote-vx.c, remote.c, rs6000-nat.c, somsolib.c,
+        stabsread.c, symfile.c, xcoffread.c:
+        Update use of SECT_OFF_{TEXT,DATA,BSS,RODATA} to depend on the
+        current objfile.
+
+        * xcoffread.c: Add new field objfile to find_targ_sec_arg.
+
+Thu May  4 20:54:00 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * config/mips/tm-mipsv4.h (Dest_Reg), config/mips/tm-irix5.h
+       (MIPS_NUM_ARG_REGS, Dest_Reg), config/mips/tm-mips.h
+       (MIPS_NUM_ARG_REGS), config/mips/tm-mips.h (MIPS_NUM_FP_ARG_REGS):
+       Delete unused macros.
+
+2000-05-03  Michael Snyder  <msnyder@seadog.cygnus.com>
+
+       * solib.c (elf_locate_base, info_sharedlibrary_command):
+       Look at the bfd to determine if it is elf32 or elf64, rather
+       than using an ifdef.  This makes it runtime teststable and
+       multi-arch.
+
+2000-05-01  Mark Kettenis  <kettenis@gnu.org>
+
+       * infrun.c (handle_inferior_event): When doing a "next", and
+       stepping out of a signal handler into its calling trampoline
+       ignore the value of step_frame_address.
+       (step_over_function): Only modify step_resume_breakpoint->frame if
+       the value of step_frame_address is non-zero.
+
+2000-05-03  Michael Snyder  <msnyder@seadog.cygnus.com>
+
+       * monitor.c (monitor_fetch_register): MAX_REGISTER_RAW_SIZE
+       is not static in the MULTI_ARCH world, so don't use it in a
+       static array declaration.
+
+2000-05-03  Elena Zannoni  <ezannoni@makita.cygnus.com>
+
+       * symtab.c (in_prologue): From Jim Blandy. Rewrite, more
+       intelligently, making sure we use the information from the 
+        symbol tables fully.
+
+2000-05-02  H.J. Lu  <hjl@gnu.org>
+
+       * ia64-tdep.c (ia64_gdbarch_init): Reference to ELFOSABI_NONE
+       instead of ELFOSABI_SYSV.
+
+Tue May  2 19:07:20 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * gdbarch.sh (NPC_REGNUM, NNPC_REGNUM): Add.
+       * gdbarch.h, gdbarch.c: Re-generate.
+
+       * gdbserver/remote-utils.c (prepare_resume_reply): Change #ifdef
+       NPC_REGNUM to run-time test.
+       * findvar.c (generic_target_write_pc): Change #ifdef NPC_REGNUM
+       and NNPC_REGNUM to run-time test.
+       * procfs.c (procfs_fetch_registers): Change #ifdef NPC_REGNUM to
+       run-time test.
+       (procfs_store_registers): Ditto.
+
+Tue May  2 18:48:57 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * gdbarch.sh: Provide non- multi-arch defaults by direct
+       definition in "gdbarch.h" instead of going through "gdbarch.c".
+       * gdbarch.h, gdbarch.c: Re-generate.
+       * defs.h: When non- multi-arch, include "arch-utils.h" so that
+       legacy definitions are globally visible.
+       
+Tue May  2 16:32:06 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * MAINTAINERS: Add Syd Polk to gdbtk maintainers.
+       (symtabs): Add Elena to symtabs maintainers list.
+       (Blanket Write Privs): Add Jim Blandy.
+
+2000-05-01  Stan Shebs  <shebs@apple.com>
+
+       Remove obsolete Gould configuration:
+       * configure.host, configure.tgt: Remove Gould configs.
+       * Makefile.in: Remove Gould-related actions.
+       * gould-xdep.c, gould-tdep.c, config/gould/*: Remove files.
+       * NEWS: Mention removal.
+       
+Mon May  1 15:37:58 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       From 2000-04-28 Andreas Jaeger <aj@suse.de>:
+       * defs.h: Properly check for GCC version number.
+
 2000-04-30  Mark Kettenis  <kettenis@gnu.org>
 
        Fix single-stepping out of signal trampolines.
@@ -1726,6 +2005,10 @@ Mon Mar 13 18:54:42 2000  Andrew Cagney  <cagney@b1.cygnus.com>
        (rank_one_type): Change #if 0 to #ifdef DEBUG_OLOAD.
        * gdbtypes.h: Add REFERENCE_CONVERSION_BADNESS for "badness"
        associated with converting a non-reference to a reference.
+    * eval.c (evaluate_subexp_standard): for OP_VAR_VALUE, always
+    return full value object; for STRUCTOP_PTR, use pointer to
+    rtti type to get member / method if objectprint is set and
+    target type of pointer is class.
 
        * gdbtypes.c (rank_one_type): Add comment on how to eliminate the
        #ifdef DEBUG_OLOAD.