* hppa-tdep.h (struct value): Forward declaration.
(gdbarch_tdep): Define tdep find_global_pointer method.
* hppa-tdep.c (hppa32_push_dummy_call): Find the global pointer
associated with the function we are trying to call, and write it
to the gp register.
(hppa32_convert_from_funct_ptr_addr): New function.
(hppa_find_global_pointer): New function.
(hppa_gdbarch_init): Set default find_global_pointer method; set
convert_from_func_ptr_addr method.
* hppa-linux-tdep.c (hppa_linux_find_global_pointer): New function.
(hppa_linux_init_abi): Set find_global_pointer method.
* Makefile.in (hppa-linux-tdep.o): Add value.h dependency.
regcache_cooked_write_part instead of
deprecated_write_register_bytes.
(rs6000_gdbarch_init): Register it for gdbarch_store_return_value,
not gdbarch_deprecated_store_return_value.
* infrun.c (handle_inferior_event): Don't treat an invalid ptid
as a new thread event.
* thread_db.c (thread_get_info_callback): If the thread is a
zombie, return TD_THR_ZOMBIE.
* (thread_from_lwp): If thread_get_info_callback returns
TD_THR_ZOMBIE, check if the thread is still on the thread list
and return a -1 ptid if not found.
(thread_db_wait): If thread_from_lwp returns a -1 ptid, then
change the status to TARGET_WAITKIND_SPURIOUS.
Merge this patch from the gcc tree:
2004-05-30 Andreas Jaeger <aj@suse.de>
Jim Wilson <wilson@specifixinc.com>
* config-ml.in: Pass FFLAGS and ADAFLAGS for multilibs, handle F77
like CC.
* Makefile.tpl (all.normal): Rename to all.
(all): Replace with a rule to pick the default
target from configure.
(all-gcc, configure-gcc): Use conditionals to
do nothing when toplevel bootstrap is going on.
(GCC directory bootstrap) [gcc-bootstrap]: Disable.
(Toplevel bootstrap) [gcc-no-bootstrap]: Disable.
* configure.in: Support --enable-bootstrap.
* Makefile.def: Remove new- prefix from toplevel
bootstrap targets.
* Makefile.tpl: Likewise.
* Makefile.def: Add bootstrap_stage 4. Add bootstrap2
target.
* Makefile.tpl (Toplevel bootstrap): Pass $(BASE_FLAGS_TO_PASS)
$(RECURSE_FLAGS) to recursive invocation of make.
* Makefile.in: Regenerate.
* configure: Regenerate.
(gregset_t, fpregset_t): Remove typedefs.
(CANNOT_FETCH_REGISTER, CANNOT_STORE_REGISTER): Remove macros.
(REG_OFFSET): Rename argument.
(i386bsd_r_reg_offset): Rename from reg_offset.
(REG_ADDR): Remove macro.
(cannot_fetch_register, supply_gregset, fill_gregset): Remove
functions.
(i386bsd_supply_gregset, i386bsd_collect_gregset): New functions.
(fetch_inferior_registers): Use `struct reg' and `struct fpreg'
instead of gregset_t and fpregset_t. Use i386bsd_supply_gregset
instead of supply_gregset.
(store_inferior_registers): Use `struct reg' and `struct fpreg'
instead of gregset_t and fpregset_t. Use i386bsd_collect_gregset
instead of fill_gregset.
(register_u_addr): Use i386_r_reg_offset instead of REG_ADDR.
"gdb_assert.h". Con't include "gregset.h".
(fbsd_make_corefile_notes): Use regset-based core file support
instead off fill_gregset and fill_fpregset.
* Makefile.in (fbsd-proc.o): Update dependencies.
(i386_collect_gregset): New function.
(i386_supply_fpregset): Adjust comment.
(i386_collect_fpregset): New function.
(i386_regset_from_core_section): Use i386_collect_gregset and
i386_collect_fpregset.