* ChangeLog-2006: New file, containing all the entries for 2006.
* ChangeLog: Removed all 2006 entries, and changed the reference
to the previous ChangeLog to point to ChangeLog 2006.
* top.c (print_gdb_version): Update copyright year.
add the LWP to our list until we are attached. Warn instead
of erroring if the attach fails.
* linux-nat.h (lin_lwp_attach_lwp): New prototype.
* linux-thread-db.c (attach_thread): Call lin_lwp_attach_lwp
directly. Do not add the thread to our list until we are
successfully attached.
* config/nm-linux.h (lin_lwp_attach_lwp, ATTACH_LWP): Delete.
(sparc_init_types): New function.
(sparc32_register_type): Use appropriate flag types for %fsr and
%prs.
(_initialize_sparc_tdep): Call sparc_init_types.
(win32_create_inferior): Remove code which creates a Windows
environment. Use Cygwin function call instead. Propagate
current environment to inferior process.
* event-top.c (command_handler): On EOF, print 'quit' and run quit
command via execute_command such that hooks and trace work.
* utils.c (defaulted_query): On EOF, print default answer and newline.
* ada-lang.c (value_subscript_packed): Don't bother to set the
lvalue type of the returned value here;
ada_value_primitive_packed_val takes care of that.
* config/alpha/alpha-linux.mt (DEPRECATED_TM_FILE): Set to tm-alpha.h.
* config/alpha/tm-alphalinux.h: Delete file.
* config/arm/linux.mt (DEPRECATED_TM_FILE): Set to tm-arm.h
* config/arm/tm-linux.h: Delete file.
* config/i386/tm-linux.h: Do not include "config/tm-linux.h".
* config/ia64/tm-linux.h: Do not include "config/tm-linux.h".
* config/m32r/linux.mt (DEPRECATED_TM_FILE): Remove.
* config/mips/tm-linux.h: Do not include "config/tm-linux.h".
* config/pa/linux.mt (DEPRECATED_TM_FILE): Set to tm-hppa.h.
* config/pa/tm-linux.h: Delete file.
* config/powerpc/tm-linux.h: Do not include "config/tm-linux.h".
* config/s390/linux.mt (DEPRECATED_TM_FILE): Remove.
* config/sh/linux.mt (DEPRECATED_TM_FILE): Set to tm-sh.h.
* config/sh/tm-linux.h: Delete file.
* alpha-linux-tdep.c: Include "symtab.h".
(alpha_linux_init_abi): Call set_gdbarch_skip_trampoline_code.
* i386-linux-tdep.c: Include "symtab.h".
(i386_linux_init_abi): Call set_gdbarch_skip_trampoline_code.
* ia64-linux-tdep.c: Include "symtab.h".
(ia64_linux_init_abi): Call set_gdbarch_skip_trampoline_code.
* m32r-linux-tdep.c: Include "symtab.h".
(m32r_linux_init_abi): Call set_gdbarch_skip_trampoline_code.
* mips-linux-tdep.c: Include "symtab.h".
(mips_linux_init_abi): Call set_gdbarch_skip_trampoline_code.
* sh-linux-tdep.c: Include "symtab.h".
(sh_linux_init_abi): Call set_gdbarch_skip_trampoline_code.
* s390-tdep.c (s390_gdbarch_init): Call
set_gdbarch_skip_trampoline_code.
* s390-nat.c: Do not include "tm.h".
* Makefile.in (alpha-linux-tdep.o): Add dependency on $(symtab_h).
(i386-linux-tdep.o): Likewise.
(ia64-linux-tdep.o): Likewise.
(m32r-linux-tdep.o): Likewise.
(mips-linux-tdep.o): Likewise.
(sh-linux-tdep.o): Likewise.
(s390-nat.o): Remove dependency on $(tm_h).
Fetch varobj values from memory in a single place,
and only fetch the values that are really needed.
* varobj.c (struct varobj): Clarify comment.
(my_value_equal): Remove.
(install_new_value): New function.
(type_of_child): Remove.
(varobj_create): Use install_new_value.
(varobj_set_value): Use value_contents_equal, not
my_value_equal.
(varobj_update): Use install_new_value.
(create_child): Likewise. Inline type_of_child here.
(value_of_child): Don't fetch the value.
(c_value_of_root): Likewise.
(c_value_of_variable): Likewise.
(type_changeable): Improve comments.
(compare_pnums): New function.
(init_remote_state): Only allocate packet_reg structures for raw
registers. Define the g/G packet format separately from creating
packet_reg. Don't use DEPRECATED_REGISTER_BYTE.
(packet_reg_from_regnum, packet_reg_from_pnum): Only iterate over
raw registers.
(register_bytes_found): Delete.
(fetch_register_using_p): Take a struct packet_reg. Handle disabled
'p' packet here. Use packet_ok.
(fetch_registers_using_g): New function, split out of
remote_fetch_registers. Check the 'g' packet more strictly. Save
its actual size and contents. Eliminate BUF. Only iterate over
raw registers.
(remote_fetch_registers): Use the new functions for 'p' and 'g'.
Mark unavailable registers.
(store_register_using_P): Likewise to fetch_register_using_p.
(store_registers_using_G): New function, split out of
remote_store_registers. Only iterate over raw registers. Don't
use register_bytes_found.
(remote_store_registers): Likewise to remote_fetch_registers.
* coffread.c (cs_to_bfd_section): New function.
(cs_to_section): Use cs_to_bfd_section.
(record_minimal_symbol): Take the coff_symbol* parameter instead
of the symbol's name as a char*.
Add 'int section' parameter. Call prim_record_minimal_symbol_and_info
instead of prim_record_minimal_symbol_and_info.
Change return type to struct minimal_symbol *.
(coff_symtab_read): Adapt to new record_minimal_symbol's signature.
Make all minimal symbol creations go through record_minimal_symbol.
* memattr.h (enum mem_access_mode): New value
MEM_NONE.
* memattr.c (unknown_mem_attrib): New.
(inaccessible_by_default): New.
(show_inaccessible_by_default): New.
(lookup_mem_region): Check inaccessible_by_default.
(dummy_cmd): New.
(mem_set_cmdlist, mem_show_cmdlist): New.
(_initialize_mem): Register new "set" and "show"
commands.
* target.c (memory_xfer_partial): If memory type
is MEM_NONE, return an error.
Clip to region size when calling to_xfer_partial.
If upper limit of memory range is 0, don't clip
anything.
gdb/doc/
* gdb.texinfo (Memory Access Checking): New.
* arch-utils.c (target_byte_order_user): Renamed from
target_byte_order.
(target_byte_order_auto, selected_byte_order): Removed.
(show_endian): Check target_byte_order_user.
(set_endian): Always update the architecture. Set
target_byte_order_user after success.
(target_architecture_auto): Removed.
(target_architecture_user): New.
(selected_architecture_name, show_architecture): Check it.
(set_architecture): Set target_architecture_user after success.
(gdbarch_from_bfd): Check the argument.
(default_byte_order): New.
(initialize_current_architecture): Set the global default
architecture and endianness.
(gdbarch_info_fill): Remove GDBARCH argument. Do not check the
previous architecture. Use exec_bfd, global selected architecture
and endianness, and global defaults.
* arch-utils.h (selected_byte_order): Remove prototype.
(gdbarch_info_fill): Update.
* exec.c (exec_file_attach): Update the architecture after removing
the current file.
* gdbarch.sh: Update comments.
(find_arch_by_info): Remove OLD_GDBARCH argument. Update call to
gdbarch_info_fill.
(gdbarch_find_by_info): Update call to find_arch_by_info.
* gdbarch.h, gdbarch.c: Regenerated.
* remote-sim.c (gdbsim_open): Use TARGET_BYTE_ORDER.
gdb/doc/
* gdbint.texinfo (Target Architecture Definition): Add new
Initializing a New Architecture section.
* (dwarf_expr_read_reg): Use frame_register_read, not frame_register.
* dwarf2loc.c (dwarf_expr_read_reg): Use frame_register_read
instead of frame_register. Doc fix.
(load_full_comp_unit): Take OBJFILE argument and use it.
(dwarf2_build_psymtabs_hard): Skip partial units.
(process_queue): Pass OBJFILE to load_full_comp_unit. Check
type_hash for read in CUs. Test psymtab for NULL.
2006-10-25 Jim Blandy <jimb@codesourcery.com>
* p-valprint.c (pascal_object_print_value): Add 'static' keyword
to function definition, to match declaration earlier in file.
* breakpoint.c (describe_other_breakpoints): Add thread parameter.
Annotate display with thread number where appropriate.
(create_breakpoints): Add thread parameter to call to
describe_other_breakpoints.
(debug_loader_name, svr4_default_sos): New.
(svr4_current_sos): Call svr4_default_sos.
(enable_break): Add a comment about AT_BASE. Set the new
variables and retry solib_add.
(svr4_clear_solib): Clear the new variables.
* gdbint.texinfo (Target Vector Definition): Move most
content into Existing Targets. Add a menu.
(Existing Targets): New section, moved from Target Vector
Definition. Use @subsection.
(Managing Execution State): New section.
gdb/doc/
* remote-sim.c (gdbsim_kill): Call target_mourn_inferior.
(gdbsim_load): Don't bother to adjust inferior_ptid here.
(gdbsim_create_inferior): Mark the simulator as running.
(gdbsim_open): Don't bother fetching registers. Mark
the target as not running.
(gdbsim_xfer): When the program is not running, pass memory
requests down.
(gdbsim_mourn_inferior): Mark the target as not running.
* target.c (target_mark_running, target_mark_exited): New.
* target.h (target_has_execution): Update the comment.
(target_mark_running, target_mark_exited): New prototypes.
(COMMON_OBS): Add target-memory.o.
* memattr.c (lookup_mem_region): Adjust handling for
the top of memory. Improve comments.
* remote.c (packet_check_result): New function, split out
from packet_ok. Recognize "E." as an error prefix.
(packet_ok): Use it.
(remote_write_bytes_aux): New function, renamed from
remote_write_bytes. Take packet header, packet format,
and length flag as arguments.
(remote_write_bytes): Rewrite to use remote_write_bytes_aux.
(remote_send_printf, restore_remote_timeout)
(remote_flash_timeout, remote_flash_erase, remote_flash_write)
(remote_flash_done): New.
(remote_xfer_partial): Handle flash writes.
(init_remote_ops, init_remote_async_ops): Set to_flash_erase
and to_flash_done.
* symfile.c (struct load_section_data): Include a pointer to
the cumulative stats and a request queue. Move most members
to other types.
(struct load_progress_data, struct load_progress_section_data): New
types.
(load_progress): Handle a NULL baton and zero bytes. Update for
type changes.
(load_section_callback): Create memory write requests instead of
writing to memory. Don't print the progress message here.
(clear_memory_write_data): New function.
(generic_load): Use target_write_memory_blocks.
* target-memory.c: New file.
* target.c (update_current_target): Mention new uninherited methods.
(memory_xfer_partial): Issue an error for flash writes.
(target_flash_erase, target_flash_done): New functions.
(target_write_with_progress): Call the progress callback at the
start also.
* target.h (enum target_object): Add TARGET_OBJECT_FLASH.
(target_write_with_progress): Update comment.
(struct target_ops): Add to_flash_erase and to_flash_done.
(target_flash_erase, target_flash_done, struct memory_write_request)
(memory_write_request_s, enum flash_preserve_mode)
(target_write_memory_blocks): New, including a vector type
for memory_write_request_s.
(strtoulst): Moved to ...
* utils.c (HIGH_BYTE_POSN, is_digit_in_base, digit_to_int)
(strtoulst): ... here. Enhanced to behave more similarly
to strtoul.
* defs.h (strtoulst): New prototype.
* memattr.h: Include "vec.h".
(struct mem_region): Remove linked list pointer.
(mem_region_s): New typedef and corresponding vector.
* memattr.c: Include "vec.h".
(mem_region_chain): Delete.
(mem_region_list): New vector pointer.
(mem_region_lessthan): New function.
(create_mem_region): Remove unused return value. Use vector
operations. Remove linear search.
(delete_mem_region): Delete.
(lookup_mem_region): Use vector operations. Add a FIXME.
(mem_info_command): Update to work with vectors.
(mem_enable, mem_enable_command, mem_disable, mem_disable_command)
(mem_free, mem_delete): Likewise.
* remote.c (remote_thread_alive): Remove local buf.
(remote_get_threadinfo): Remove local threadinfo_pkt.
(remote_get_threadlist): Remove unused threadlist_packet.
(remote_current_thread): Remove local buf.
(remote_threads_info): Set bufp after getpkt.
(remote_threads_extra_info): Remove local bufp.
(get_offsets): Set buf after getpkt.
(remote_check_symbols): Set reply after getpkt.
(remote_vcont_probe): Set buf after getpkt.
(remote_resume): Set buf after set_thread.
(remote_wait, remote_async_wait): Set buf after getpkt.
(fetch_register_using_p): Set buf after remote_send.
(remote_fetch_registers): Likewise.
(store_register_using_P): Don't use buf after remote_send.
(check_binary_download, remote_write_bytes)
(remote_read_bytes, remote_rcmd): Remove local buf.