2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com>
[external/binutils.git] / gdb / ChangeLog
index c69168d..8ad0024 100644 (file)
@@ -1,4 +1,177 @@
-Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+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
@@ -32,6 +205,13 @@ Thu May  4 20:54:00 2000  Andrew Cagney  <cagney@b1.cygnus.com>
        (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