* gdb.threads/tls.c : New file.
* gdb.threads/tls.exp : New file.
* gdb.threads/tls-main.c : New file.
* gdb.threads/tls-shared.c : New file.
* gdb.threads/tls-shared.exp : New file.
* findvar.c (read_var_value): Remove case for thread local storage
variables. It is now entirely handled by the dwarf2 location
expression code.
* printcmd.c (address_info): Ditto.
* symtab.h (address_class): Remove LOC_THREAD_LOCAL_STATIC
enumeration value.
(struct symbol): Remove objfile field, which was used by
LOC_THREAD_LOCAL_STATIC only.
* dwarf2read.c (decode_locdesc): Remove is_thread_local variable.
* dwarf2loc.h (struct dwarf2_loclist_baton): Add comment about
usage of objfile pointer.
* dwarf2loc.c (locexpr_describe_location): Add case to handle
thread local variables.
Add include of objfiles.h.
* dwarf2expr.c (execute_stack_op): Add comments about thread local
storage variables.
* Makefile.in (dwarf2loc.o): Update dependencies.
regcache_cooked_read_unsigned instead of read_register.
(m68hc11_saved_pc_after_call): Likewise.
(m68hc11_pseudo_register_write): Use regcache_cooked_write_unsigned
instead of write_register.
(m68hc11_register_type): New function.
(m68hc11_register_virtual_type): Remove.
(m68hc11_store_return_value): Convert to use the regcache.
(m68hc11_extract_struct_value_address): Likewise.
(m68hc11_gdbarch_init): Remove deprecated ops for register to use
m68hc11_register_type; undeprecate store_return_value and
extract_struct_value_address.
* gdbarch.sh (DWARF2_BUILD_FRAME_INFO): Delete method.
* gdbarch.h, gdbarch.c: Re-generate.
* i386-tdep.c (i386_gdbarch_init): Do not set
DWARF2_BUILD_FRAME_INFO.
* elfread.c (elf_symfile_read): Call dwarf2_build_frame_info
unconditionally.
* alpha-tdep.c (alpha_dwarf2_init_abi): Do not set
DWARF2_BUILD_FRAME_INFO.
* Makefile.in (x86-64-linux-nat.o): Update dependencies.
* x86-64-linux-nat.c (ps_get_thread_area): New function. Add
include of asm/prctl.h, asm/ptrace.h, and gdb_proc_service.h.
(avr_frame_unwind_cache): Don't unwind FP for main.
Update a comment.
Save the computed prev_sp.
(avr_saved_regs_unwinder): Remove function.
(avr_frame_prev_register): Use PC unwind logic from
avr_saved_regs_unwinder, otherwise use trad_frame_prev_register.
should go thru sh_dsp_register_sim_regno, else the dsp regs
will not get the right values.
* sh-tdep.c (sh_sh4_register_convert_to_virtual): Substitute call to
deprecated_store_floating by call to store_typed_floating.
(sh_sh4_register_convert_to_raw): Substitute call to
deprecated_extract_floating by call to extract_typed_floating.
* sh-tdep.c (sh_gdbarch_init): Set double to 4 byte on sh2e and sh3e.
* sh-tdep.c: Substitute calls to REGISTER_RAW_SIZE by calls to
register_size and calls to REGISTER_VIRTUAL_TYPE by calls to
gdbarch_register_type in 32 bit code throughout. Avoid current_gdbarch
as possible.
(do_pseudo_register): Remove.
(sh_push_dummy_code): New function.
(sh64_store_struct_return): Rename from sh_store_struct_return.
Only called for sh64 now.
(sh_extract_struct_value_address): Regcache'ify.
(sh_push_dummy_call): Rename from sh_push_arguments. Regcache'ify
and accomodate new tasks.
(sh64_push_return_address): Rename from sh_push_return_address.
Only called for sh64 now.
(sh_default_extract_return_value): Rename from sh_extract_return_value.
Regcache'ify.
(sh3e_sh4_extract_return_value): Regcache'ify.
(sh_default_store_return_value): Ditto.
(sh3e_sh4_store_return_value): Ditto.
(sh_default_register_byte): Remove.
(sh_sh4_register_byte): Remove.
(sh_default_register_raw_size): Remove.
(sh_sh4_register_raw_size): Remove.
(sh_register_virtual_size): Remove.
(sh_sh3e_register_virtual_type): Remove.
(sh_sh3e_register_type): New function.
(sh_sh4_register_virtual_type): Remove.
(sh_sh4_register_type): New function.
(sh_default_register_virtual_type): Remove.
(sh_default_register_type): New function.
(do_fv_register_info): Add parameters to accomodate call from
sh_print_registers_info.
(do_dr_register_info): Ditto.
(sh_print_pseudo_register): Rename from sh_do_pseudo_register.
Add parameters to accomodate call from sh_print_registers_info.
(sh_do_fp_register): Ditto.
(sh64_do_pseudo_register): Call do_dr_register_info,
do_fv_register_info and sh_do_fp_register with default parameters.
(sh_do_register): Add parameters to accomodate call from
sh_print_registers_info.
(sh_print_register): Ditto.
(sh_print_registers_info): Rename from sh_do_registers_info.
Add parameters to be used as gdbarch_print_registers_info
implementation. Accomodate removed do_pseudo_register function
pointer.
(sh_compact_do_registers_info): Accomodate removed do_pseudo_register
function pointer. Call sh_print_register with default parameters.
(sh64_do_registers_info): Call sh_print_registers_info instead of
sh_do_registers_info.
(sh_gdbarch_init): Rearrange to cleanup and to allow easier
detection of deprecated vs. non-deprecated functionality.
Rename sh_call_dummy_words to sh64_call_dummy_words. Remove
function pointer assignments by direct function calls.
* frame.c (get_prev_frame): Move disabled inside_entry_func to
before code inhibiting repeated unwind attempts. Add to
commentary on that test's problems.
* blockframe.c (inside_main_func): Look for "main" in the minimal
symbol table.
* d10v-tdep.c (d10v_frame_this_id): Delete check that frames are
identical.
Index: testsuite/ChangeLog
2003-07-15 Andrew Cagney <cagney@redhat.com>
* gdb.asm/asm-source.exp: Do not allow "start" in the backtrace.
* complaints.c (struct explanation): Define.
(struct complaints): Change type of "explanation" to "struct
explanation".
(symfile_explanations): Convert to a "struct explanation" table.
(vcomplaint): Update.
* configure.tgt: Add x86_64-*-freebsd*.
* Makefile.in (amd64fbsd-nat.o, amd64fbsd-tdep.o): New targets.
* amd64fbsd-nat.c: New file.
* amd64fbsd-tdep.c: New file.
* config/i386/nm-fbsd64.h: New file.
* config/i386/fbsd64.mh: New file.
* config/i386/fbsd64.mt: New file.
`sc_regs_offset' and `sc_fpregs_offset'.
* alpha-tdep.c (SIGFRAME_PC_OFF, SIGFRAME_REGSAVE_OFF,
SIGFRAME_FPREGSAVE_OFF): Remove defines.
(alpha_sigtramp_register_address): Rewrite to use new members of
`struct gdbarch_tdep'.
(alpha_gdbarch_init): Initialize new members of struct
gdbarch_tdep'.
* alphafbsd-tdep.c (alphafbsd_use_struct_convention): Use
ALPHA_REGISTER_SIZE instead of DEPRECATED_REGISTER_SIZE.
(alphafbsd_sigtramp_start, alphafbsd_sigtramp_end): Nre variables.
(alphafbsd_pc_in_sigtramp): Implement.
(alphafbsd_sigtramp_offset): New function.
(alphafbsd_sigcontext_addr): New function.
(alphafbsd_init_abi): Initialize signal trampoline related members
of `struct gdbarch_tdep'.
(_initialize_alphafbsd_tdep): Add prototype.