(gnu_mourn_inferior): Use the passed in target_ops
instead of the gnu_ops global.
(gnu_create_inferior): Inline `attach_to_child', use the passed in
target_ops instead of the gnu_ops global.
(gnu_can_run): Delete.
(gnu_attach): Use the passed in target_ops instead of the gnu_ops
global.
(gnu_detach): Ditto.
(gnu_prepare_to_store, gnu_open): Delete.
(gnu_store_registers, gnu_fetch_registers): Delete declarations.
(gnu_ops): Delete.
(init_gnu_ops): Delete.
(gnu_target): New.
(_initialize_gnu_nat): Don't call init_gnu_ops or add_target here.
* gnu-nat.h (gnu_target): Declare.
* i386gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Make
static.
(_initialize_i386gnu_nat): New.
cache every time before calling target_wait.
(handle_inferior_event): Make static. Always reset waiton_ptid.
Never call registers_changed.
(prepare_to_wait): Do not invaliate registers or overlay cache
(moved to wait_for_inferior). Do not reset waiton_ptid (moved
to handle_inferior_event).
(fetch_inferior_event): Remove check for always-true condition.
* infrun.c (handle_inferior_event): Remove an execution_direction
check in the "check for subroutine calls" test, and add some
additional handling for reverse-stepping through shared libraries.
* config/tc-i386.c (md_assemble): Update operand types.
(update_imm): Updated.
(finalize_imm): Update the first 2 immediate operands only
for instructions with 2 operands or more.
(_bfd_mips_elf_size_dynamic_sections): For CPUs without load
interlocking, the last PLT entry needs a nop in the branch delay slot.
(_bfd_mips_elf_finish_dynamic_symbol): For CPUs with load itnerlocking,
output the last two PLT entries in reverse order.
* ld-mips-elf/pic-and-nonpic-3b.dd,
ld-mips-elf/pic-and-nonpic-5b.dd,
ld-mips-elf/pic-and-nonpic-6-o32.dd: Updated to use new PLT entries.
* layout.h: #include <map>.
(class Kept_section): Change from struct to class. Add accessors
and setters. Add section size to Comdat_group mapping. Change
Comdat_group to std::map. Add is_comdat_ field. Add
linkonce_size field in union.
(class Layout): Update declaration of find_or_add_kept_section.
Don't declare find_kept_object.
* layout.cc (Layout::find_or_add_kept_section): Remove candidate
parameter. Add object, shndx, is_comdat, and is_group_name
parameters. Change all callers. Adjust for new Kept_section.
(Layout::find_kept_object): Remove.
* object.cc (Sized_relobj::include_section_group): Update use of
Kept_section. Rename secnum to shndx. Only record
Kept_comdat_section if sections are the same size.
(Sized_relobj::include_linkonce_section): Update use of
Kept_section. Only record Kept_comdat_section if sections are the
same size. Set size of linkonce section.
(Sized_relobj::map_to_kept_section): Update call to
get_kept_comdat_section.
* object.h (class Sized_relobj): Rename fields in
Kept_comdat_section to drop trailing underscores; change object
field to Relobj*. Change Kept_comdat_section_table to store
struct rather than pointer.
(Sized_relobj::set_kept_comdat_section): Remove kept parameter.
Add kept_object and kept_shndx parameters. Change all callers.
(Sized_relobj::get_kept_comdat_section): Change return type to
bool. Add kept_object and kept_shndx parameters. Change all
callers.
* plugin.cc (Pluginobj::include_comdat_group): Update call to
Layout::find_or_add_kept_section.
2009-07-16 H.J. Lu <hongjiu.lu@intel.com>
* elf32-i386.c (elf_i386_relocate_section): Don't get local
STT_GNU_IFUNC symbol for relocatable link.
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
ld/testsuite/
2009-07-16 H.J. Lu <hongjiu.lu@intel.com>
* ld-ifunc/ifunc-5r-local-i386.d: New.
* ld-ifunc/ifunc-5r-local-x86-64.d: Likewise.
* dwarf2read.c (struct die_reader_specs): New struct.
(locate_pdi_sibling): New arg buffer. All callers updated.
(load_partial_dies, read_partial_die): Ditto.
(read_8_bytes): Change return type to ULONGEST.
(read_comp_unit): Delete arg abfd. All callers updated.
(read_die_and_children_1): Delete args abfd, cu. New arg reader.
All callers updated.
(read_die_and_children, read_die_and_siblings): Ditto.
(read_full_die): Ditto. Move closer to callers.
(skip_one_die): New arg buffer. All callers updated.
(load_full_comp_unit): Change return type to void. All callers
updated.
(partial_read_comp_unit_head): New args buffer, buffer_size.
All callers updated.
(process_psymtab_comp_unit): New function, split out from
dwarf2_build_psymtabs_hard.
(dwarf2_build_psymtabs_hard): Call it.
(load_partial_comp_unit): Renamed from load_comp_unit.
All callers updated.
(skip_children): New arg buffer. All callers updated.
(init_cu_die_reader): New function.
(is_ref_attr): New function.
(dwarf2_get_ref_die_offset): Call it.
(alloc_one_comp_unit): New function.
* gdb.reverse/step-reverse.exp (stepi into function call):
Call instruction may not be first instruction in the line.
(reverse stepi from a function call): Used wrong line number.