H.J. Lu [Mon, 19 Oct 2009 17:24:27 +0000 (17:24 +0000)]
2009-10-19 H.J. Lu <hongjiu.lu@intel.com>
* doc/c-i386.texi: Don't mention the 8 extra control registers
for x86-64.
Hans-Peter Nilsson [Mon, 19 Oct 2009 16:34:31 +0000 (16:34 +0000)]
* ld-cris/tls-e-20.d, ld-cris/tls-e-20a.d, ld-cris/tls-e-22.d,
ld-cris/tls-e-80.d, ld-cris/tls-e-dtpoffd1.d,
ld-cris/tls-e-dtpoffd3.d, ld-cris/tls-ldgde-14.d,
ld-cris/tls-ldgde-15.d, ld-cris/tls-ldgdex-14.d,
ld-cris/tls-ldgdex-15.d: Adjust for change in non-shared
R_CRIS_32_DTPREL and R_CRIS_16_DTPREL relocations.
Hans-Peter Nilsson [Mon, 19 Oct 2009 16:33:49 +0000 (16:33 +0000)]
* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_DTPREL>:
Don't subtract the size of the TLS block for non-shared objects
from the relocation.
Doug Evans [Mon, 19 Oct 2009 15:30:06 +0000 (15:30 +0000)]
* config/tc-lm32.c (md_begin): Add missing call to bfd_set_arch_mach.
Doug Evans [Mon, 19 Oct 2009 15:27:39 +0000 (15:27 +0000)]
* config/tc-xc16x.c (md_cgen_lookup_reloc): Ensure fix_size is set
correctly for all 16 bit relocs. Return BFD_RELOC_NONE if reloc
isn't recognized, not BFD_RELOC_XC16X_SOF.
testsuite:
* gas/xc16x/shlrol.s: Specify constant shift amount.
* gas/xc16x/xc16x.exp (do_xc16x_shlrol): Update expected output.
Nick Clifton [Mon, 19 Oct 2009 10:32:12 +0000 (10:32 +0000)]
* Makefile.am: Remove spurious sanitization marker.
* Makefile.in: Regenerate.
Pedro Alves [Mon, 19 Oct 2009 09:56:34 +0000 (09:56 +0000)]
Adding files to HEAD that cvs had declared dead due to existing on
the branch only.
gdb/testsuite/
* gdb.base/foll-vfork.exp: Adjust to spell out "follow-fork".
* gdb.base/foll-exec.exp: Adjust to expect a process id before
"Executing new program".
* gdb.base/foll-fork.exp: Adjust to spell out "follow-fork".
* gdb.base/multi-forks.exp: Ditto. Adjust to the inferior being
left listed after having been killed.
* gdb.base/attach.exp: Adjust to spell out "symbol-file".
* gdb.base/maint.exp: Adjust test.
* Makefile.in (ALL_SUBDIRS): Add gdb.multi.
* gdb.multi/Makefile.in: New.
* gdb.multi/base.exp: New.
* gdb.multi/goodbye.c: New.
* gdb.multi/hangout.c: New.
* gdb.multi/hello.c: New.
* gdb.multi/bkpt-multi-exec.c: New.
* gdb.multi/bkpt-multi-exec.exp: New.
* gdb.multi/crashme.c: New.
Pedro Alves [Mon, 19 Oct 2009 09:51:43 +0000 (09:51 +0000)]
2009-10-19 Pedro Alves <pedro@codesourcery.com>
Stan Shebs <stan@codesourcery.com>
Add base multi-executable/process support to GDB.
gdb/
* Makefile.in (SFILES): Add progspace.c.
(COMMON_OBS): Add progspace.o.
* progspace.h: New.
* progspace.c: New.
* breakpoint.h (struct bp_target_info) <placed_address_space>: New
field.
(struct bp_location) <pspace>: New field.
(struct breakpoint) <pspace>: New field.
(bpstat_stop_status, breakpoint_here_p)
(moribund_breakpoint_here_p, breakpoint_inserted_here_p)
(regular_breakpoint_inserted_here_p)
(software_breakpoint_inserted_here_p, breakpoint_thread_match)
(set_default_breakpoint): Adjust prototypes.
(remove_breakpoints_pid, breakpoint_program_space_exit): Declare.
(insert_single_step_breakpoint, deprecated_insert_raw_breakpoint):
Adjust prototypes.
* breakpoint.c (executing_startup): Delete.
(default_breakpoint_sspace): New.
(breakpoint_restore_shadows): Skip if the address space doesn't
match.
(update_watchpoint): Record the frame's program space in the
breakpoint location.
(insert_bp_location): Record the address space in target_info.
Adjust to pass the symbol space to solib_name_from_address.
(breakpoint_program_space_exit): New.
(insert_breakpoint_locations): Switch the symbol space and thread
when inserting breakpoints. Don't insert breakpoints in a vfork
parent waiting for vfork done if we're not attached to the vfork
child.
(remove_breakpoints_pid): New.
(reattach_breakpoints): Switch to a thread of PID. Ignore
breakpoints of other symbol spaces.
(create_internal_breakpoint): Store the symbol space in the sal.
(create_longjmp_master_breakpoint): Iterate over all symbol
spaces.
(update_breakpoints_after_exec): Ignore breakpoints for other
symbol spaces.
(remove_breakpoint): Rename to ...
(remove_breakpoint_1): ... this. Pass the breakpoints symbol
space to solib_name_from_address.
(remove_breakpoint): New.
(mark_breakpoints_out): Ignore breakpoints from other symbol
spaces.
(breakpoint_init_inferior): Ditto.
(breakpoint_here_p): Add an address space argument and adjust to
use breakpoint_address_match.
(moribund_breakpoint_here_p): Ditto.
(regular_breakpoint_inserted_here_p): Ditto.
(breakpoint_inserted_here_p): Ditto.
(software_breakpoint_inserted_here_p): Ditto.
(breakpoint_thread_match): Ditto.
(bpstat_check_location): Ditto.
(bpstat_stop_status): Ditto.
(print_breakpoint_location): If there's a location to print,
switch the current symbol space.
(print_one_breakpoint_location): Add `allflag' argument.
(print_one_breakpoint): Ditto. Adjust.
(do_captured_breakpoint_query): Adjust.
(breakpoint_1): Adjust.
(breakpoint_has_pc): Also match the symbol space.
(describe_other_breakpoints): Add a symbol space argument and
adjust.
(set_default_breakpoint): Add a symbol space argument. Set
default_breakpoint_sspace.
(breakpoint_address_match): New.
(check_duplicates_for): Add an address space argument, and adjust.
(set_raw_breakpoint): Record the symbol space in the location and
in the breakpoint.
(set_longjmp_breakpoint): Skip longjmp master breakpoints from
other symbol spaces.
(remove_thread_event_breakpoints, remove_solib_event_breakpoints)
(disable_breakpoints_in_shlibs): Skip breakpoints from other
symbol spaces.
(disable_breakpoints_in_unloaded_shlib): Match symbol spaces.
(create_catchpoint): Set the symbol space in the sal.
(disable_breakpoints_before_startup): Skip breakpoints from other
symbol spaces. Set executing_startup in the current symbol space.
(enable_breakpoints_after_startup): Clear executing_startup in the
current symbol space. Skip breakpoints from other symbol spaces.
(clone_momentary_breakpoint): Also copy the symbol space.
(add_location_to_breakpoint): Set the location's symbol space.
(bp_loc_is_permanent): Switch thread and symbol space.
(create_breakpoint): Adjust.
(expand_line_sal_maybe): Expand comment to mention symbol spaces.
Switch thread and symbol space when reading memory.
(parse_breakpoint_sals): Set the symbol space in the sal.
(break_command_really): Ditto.
(skip_prologue_sal): Switch and space.
(resolve_sal_pc): Ditto.
(watch_command_1): Record the symbol space in the sal.
(create_ada_exception_breakpoint): Adjust.
(clear_command): Adjust. Match symbol spaces.
(update_global_location_list): Use breakpoint_address_match.
(breakpoint_re_set_one): Switch thread and space.
(breakpoint_re_set): Save symbol space.
(breakpoint_re_set_thread): Also reset the symbol space.
(deprecated_insert_raw_breakpoint): Add an address space argument.
Adjust.
(insert_single_step_breakpoint): Ditto.
(single_step_breakpoint_inserted_here_p): Ditto.
(clear_syscall_counts): New.
(_initialize_breakpoint): Install it as inferior_exit observer.
* exec.h: Include "progspace.h".
(exec_bfd, exec_bfd_mtime): New defines.
(exec_close): Declare.
* exec.c: Include "gdbthread.h" and "progspace.h".
(exec_bfd, exec_bfd_mtime, current_target_sections_1): Delete.
(using_exec_ops): New.
(exec_close_1): Rename to exec_close, and make public.
(exec_close): Rename to exec_close_1, and adjust all callers. Add
description. Remove target sections and close executables from
all program spaces.
(exec_file_attach): Add comment.
(add_target_sections): Check on `using_exec_ops' to check if the
target should be pushed.
(remove_target_sections): Only unpush the target if there are no
more target sections in any symbol space.
* gdbcore.h: Include "exec.h".
(exec_bfd, exec_bfd_mtime): Remove declarations.
* frame.h (get_frame_program_space, get_frame_address_space)
(frame_unwind_program_space): Declare.
* frame.c (struct frame_info) <pspace, aspace>: New fields.
(create_sentinel_frame): Add program space argument. Set the
pspace and aspace fields of the frame object.
(get_current_frame, create_new_frame): Adjust.
(get_frame_program_space): New.
(frame_unwind_program_space): New.
(get_frame_address_space): New.
* stack.c (print_frame_info): Adjust.
(print_frame): Use the frame's program space.
* gdbthread.h (any_live_thread_of_process): Declare.
* thread.c (any_live_thread_of_process): New.
(switch_to_thread): Switch the program space as well.
(restore_selected_frame): Don't warn if trying to restore frame
level 0.
* inferior.h: Include "progspace.h".
(detach_fork): Declare.
(struct inferior) <removable, aspace, pspace>
<vfork_parent, vfork_child, pending_detach>
<waiting_for_vfork_done>: New fields.
<terminal_info>: Remove field.
<data, num_data>: New fields.
(register_inferior_data, register_inferior_data_with_cleanup)
(clear_inferior_data, set_inferior_data, inferior_data): Declare.
(exit_inferior, exit_inferior_silent, exit_inferior_num_silent)
(inferior_appeared): Declare.
(find_inferior_pid): Typo.
(find_inferior_id, find_inferior_for_program_space): Declare.
(set_current_inferior, save_current_inferior, prune_inferiors)
(number_of_inferiors): Declare.
(inferior_list): Declare.
* inferior.c: Include "gdbcore.h" and "symfile.h".
(inferior_list): Make public.
(delete_inferior_1): Always delete thread silently.
(find_inferior_id): Make public.
(current_inferior_): New.
(current_inferior): Use it.
(set_current_inferior): New.
(restore_inferior): New.
(save_current_inferior): New.
(free_inferior): Free the per-inferior data.
(add_inferior_silent): Allocate per-inferior data.
Call inferior_appeared.
(delete_threads_of_inferior): New.
(delete_inferior_1): Adjust interface to take an inferior pointer.
(delete_inferior): Adjust.
(delete_inferior_silent): Adjust.
(exit_inferior_1): New.
(exit_inferior): New.
(exit_inferior_silent): New.
(exit_inferior_num_silent): New.
(detach_inferior): Adjust.
(inferior_appeared): New.
(discard_all_inferiors): Adjust.
(find_inferior_id): Make public. Assert pid is not zero.
(find_inferior_for_program_space): New.
(have_inferiors): Check if we have any inferior with pid not zero.
(have_live_inferiors): Go over all pushed targets looking for
process_stratum.
(prune_inferiors): New.
(number_of_inferiors): New.
(print_inferior): Add executable column. Print vfork parent/child
relationships.
(inferior_command): Adjust to cope with not running inferiors.
(remove_inferior_command): New.
(add_inferior_command): New.
(clone_inferior_command): New.
(struct inferior_data): New.
(struct inferior_data_registration): New.
(struct inferior_data_registry): New.
(inferior_data_registry): New.
(register_inferior_data_with_cleanup): New.
(register_inferior_data): New.
(inferior_alloc_data): New.
(inferior_free_data): New.
(clear_inferior_data): New.
(set_inferior_data): New.
(inferior_data): New.
(initialize_inferiors): New.
(_initialize_inferiors): Register "add-inferior",
"remove-inferior" and "clone-inferior" commands.
* objfiles.h: Include "progspace.h".
(struct objfile) <pspace>: New field.
(symfile_objfile, object_files): Don't declare.
(ALL_PSPACE_OBJFILES): New.
(ALL_PSPACE_OBJFILES_SAFE): New.
(ALL_OBJFILES, ALL_OBJFILES_SAFE): Adjust.
(ALL_PSPACE_SYMTABS): New.
(ALL_PRIMARY_SYMTABS): Adjust.
(ALL_PSPACE_PRIMARY_SYMTABS): New.
(ALL_PSYMTABS): Adjust.
(ALL_PSPACE_PSYMTABS): New.
* objfiles.c (object_files, symfile_objfile): Delete.
(struct objfile_sspace_info): New.
(objfiles_pspace_data): New.
(objfiles_pspace_data_cleanup): New.
(get_objfile_pspace_data): New.
(objfiles_changed_p): Delete.
(allocate_objfile): Set the objfile's program space. Adjust to
reference objfiles_changed_p in pspace data.
(free_objfile): Adjust to reference objfiles_changed_p in pspace
data.
(objfile_relocate): Ditto.
(update_section_map): Add pspace argument. Adjust to iterate over
objfiles in the passed in pspace.
(find_pc_section): Delete sections and num_sections statics.
Adjust to refer to program space's objfiles_changed_p. Adjust to
refer to sections and num_sections store in the objfile's pspace
data.
(objfiles_changed): Adjust to reference objfiles_changed_p in
pspace data.
(_initialize_objfiles): New.
* linespec.c (decode_all_digits, decode_dollar): Set the sal's
program space.
* source.c (current_source_pspace): New.
(get_current_source_symtab_and_line): Set the sal's program space.
(set_current_source_symtab_and_line): Set current_source_pspace.
(select_source_symtab): Ditto. Use ALL_OBJFILES.
(forget_cached_source_info): Iterate over all program spaces.
* symfile.c (clear_symtab_users): Adjust.
* symmisc.c (print_symbol_bcache_statistics): Iterate over all
program spaces.
(print_objfile_statistics): Ditto.
(maintenance_print_msymbols): Ditto.
(maintenance_print_objfiles): Ditto.
(maintenance_info_symtabs): Ditto.
(maintenance_info_psymtabs): Ditto.
* symtab.h (SYMTAB_PSPACE): New.
(struct symtab_and_line) <pspace>: New field.
* symtab.c (init_sal): Clear the sal's program space.
(find_pc_sect_symtab): Set the sal's program space. Switch thread
and space.
(append_expanded_sal): Add program space argument. Iterate over
all program spaces.
(expand_line_sal): Iterate over all program spaces. Switch
program space.
* target.h (enum target_waitkind) <TARGET_WAITKIND_VFORK_DONE>: New.
(struct target_ops) <to_thread_address_space>: New field.
(target_thread_address_space): Define.
* target.c (target_detach): Only remove breakpoints from the
inferior we're detaching.
(target_thread_address_space): New.
* defs.h (initialize_progspace): Declare.
* top.c (gdb_init): Call it.
* solist.h (struct so_list) <sspace>: New field.
* solib.h (struct program_space): Forward declare.
(solib_name_from_address): Adjust prototype.
* solib.c (so_list_head): Replace with a macro referencing the
program space.
(update_solib_list): Set the so's program space.
(solib_name_from_address): Add a program space argument and adjust.
* solib-svr4.c (struct svr4_info) <pid>: Delete field.
<interp_text_sect_low, interp_text_sect_high, interp_plt_sect_low>
<interp_plt_sect_high>: New fields.
(svr4_info_p, svr4_info): Delete.
(solib_svr4_sspace_data): New.
(get_svr4_info): Rewrite.
(svr4_sspace_data_cleanup): New.
(open_symbol_file_object): Adjust.
(svr4_default_sos): Adjust.
(svr4_fetch_objfile_link_map): Adjust.
(interp_text_sect_low, interp_text_sect_high, interp_plt_sect_low)
(interp_plt_sect_high): Delete.
(svr4_in_dynsym_resolve_code): Adjust.
(enable_break): Adjust.
(svr4_clear_solib): Revert bit that removed the svr4_info here,
and reinstate clearing debug_base, debug_loader_offset_p,
debug_loader_offset and debug_loader_name.
(_initialize_svr4_solib): Register solib_svr4_pspace_data. Don't
install an inferior_exit observer anymore.
* printcmd.c (struct display) <pspace>: New field.
(display_command): Set the display's sspace.
(do_one_display): Match the display's sspace.
(display_uses_solib_p): Ditto.
* linux-fork.c (detach_fork): Moved to infrun.c.
(_initialize_linux_fork): Moved "detach-on-fork" command to
infrun.c.
* infrun.c (detach_fork): Moved from linux-fork.c.
(proceed_after_vfork_done): New.
(handle_vfork_child_exec_or_exit): New.
(follow_exec_mode_replace, follow_exec_mode_keep)
(follow_exec_mode_names, follow_exec_mode_string)
(show_follow_exec_mode_string): New.
(follow_exec): New. Reinstate the mark_breakpoints_out call.
Remove shared libraries before attaching new executable. If user
wants to keep the inferior, keep it.
(displaced_step_fixup): Adjust to pass an address space to the
breakpoints module.
(resume): Ditto.
(clear_proceed_status): In all-stop mode, always clear the proceed
status of all threads.
(prepare_to_proceed): Adjust to pass an address space to the
breakpoints module.
(proceed): Ditto.
(adjust_pc_after_break): Ditto.
(handle_inferior_event): When handling a process exit, switch the
program space to the inferior's that had exited. Call
handle_vfork_child_exec_or_exit. Adjust to pass an address space
to the breakpoints module. In non-stop mode, when following a
fork and detach-fork is off, also resume the other branch. Handle
TARGET_WAITKIND_VFORK_DONE. Set the program space in sals.
(normal_stop): Prune inferiors.
(_initialize_infrun): Install the new "follow-exec-mode" command.
"detach-on-fork" moved here.
* regcache.h (get_regcache_aspace): Declare.
* regcache.c (struct regcache) <aspace>: New field.
(regcache_xmalloc): Clear the aspace.
(get_regcache_aspace): New.
(regcache_cpy): Copy the aspace field.
(regcache_cpy_no_passthrough): Ditto.
(get_thread_regcache): Fetch the thread's address space from the
target, and store it in the regcache.
* infcall.c (call_function_by_hand): Set the sal's pspace.
* arch-utils.c (default_has_shared_address_space): New.
* arch-utils.h (default_has_shared_address_space): Declare.
* gdbarch.sh (has_shared_address_space): New.
* gdbarch.h, gdbarch.c: Regenerate.
* linux-tdep.c: Include auxv.h, target.h, elf/common.h.
(linux_has_shared_address_space): New.
(_initialize_linux_tdep): Declare.
* arm-tdep.c (arm_software_single_step): Pass the frame's address
space to insert_single_step_breakpoint.
* arm-linux-tdep.c (arm_linux_software_single_step): Pass the
frame's pspace to breakpoint functions.
* cris-tdep.c (crisv32_single_step_through_delay): Ditto.
(cris_software_single_step): Ditto.
* mips-tdep.c (deal_with_atomic_sequence): Add frame argument.
Pass the frame's pspace to breakpoint functions.
(mips_software_single_step): Adjust.
(mips_single_step_through_delay): Adjust.
* rs6000-aix-tdep.c (rs6000_software_single_step): Adjust.
* rs6000-tdep.c (ppc_deal_with_atomic_sequence): Adjust.
* solib-irix.c (enable_break): Adjust to pass the current frame's
address space to breakpoint functions.
* sparc-tdep.c (sparc_software_single_step): Ditto.
* spu-tdep.c (spu_software_single_step): Ditto.
* alpha-tdep.c (alpha_software_single_step): Ditto.
* record.c (record_wait): Adjust to pass an address space to the
breakpoints module.
* fork-child.c (fork_inferior): Set the new inferior's program and
address spaces.
* inf-ptrace.c (inf_ptrace_follow_fork): Copy the parent's program
and address spaces.
(inf_ptrace_attach): Set the inferior's program and address spaces.
* linux-nat.c: Include "solib.h".
(linux_child_follow_fork): Manage parent and child's program and
address spaces. Clone the parent's program space if necessary.
Don't wait for the vfork to be done here. Refuse to resume if
following the vfork parent while leaving the child stopped.
(resume_callback): Don't resume a vfork parent.
(linux_nat_resume): Also check for pending events in the
lp->waitstatus field.
(linux_handle_extended_wait): Report TARGET_WAITKIND_VFORK_DONE
events to the core.
(stop_wait_callback): Don't wait for SIGSTOP on vfork parents.
(cancel_breakpoint): Adjust.
* linux-thread-db.c (thread_db_wait): Don't remove thread event
breakpoints here.
(thread_db_mourn_inferior): Don't mark breakpoints out here.
Remove thread event breakpoints after mourning.
* corelow.c: Include progspace.h.
(core_open): Set the inferior's program and address spaces.
* remote.c (remote_add_inferior): Set the new inferior's program
and address spaces.
(remote_start_remote): Update address spaces.
(extended_remote_create_inferior_1): Don't init the thread list if
we already debugging other inferiors.
* darwin-nat.c (darwin_attach): Set the new inferior's program and
address spaces.
* gnu-nat.c (gnu_attach): Ditto.
* go32-nat.c (go32_create_inferior): Ditto.
* inf-ttrace.c (inf_ttrace_follow_fork, inf_ttrace_attach): Ditto.
* monitor.c (monitor_open): Ditto.
* nto-procfs.c (procfs_attach, procfs_create_inferior): Ditto.
* procfs.c (do_attach): Ditto.
* windows-nat.c (do_initial_windows_stuff): Ditto.
* inflow.c (inferior_process_group)
(terminal_init_inferior_with_pgrp, terminal_inferior,
(terminal_ours_1, inflow_inferior_exit, copy_terminal_info)
(child_terminal_info, new_tty_postfork, set_sigint_trap): Adjust
to use per-inferior data instead of inferior->terminal_info.
(inflow_inferior_data): New.
(inflow_new_inferior): Delete.
(inflow_inferior_data_cleanup): New.
(get_inflow_inferior_data): New.
* mi/mi-interp.c (mi_new_inferior): Rename to...
(mi_inferior_appeared): ... this.
(mi_interpreter_init): Adjust.
* tui/tui-disasm.c: Include "progspace.h".
(tui_set_disassem_content): Pass an address space to
breakpoint_here_p.
* NEWS: Mention multi-program debugging support. Mention new
commands "add-inferior", "clone-inferior", "remove-inferior",
"maint info program-spaces", and new option "set
follow-exec-mode".
2009-10-19 Pedro Alves <pedro@codesourcery.com>
Stan Shebs <stan@codesourcery.com>
gdb/doc/
* observer.texi (new_inferior): Rename to...
(inferior_appeared): ... this.
2009-10-19 Pedro Alves <pedro@codesourcery.com>
Stan Shebs <stan@codesourcery.com>
gdb/testsuite/
* gdb.base/foll-vfork.exp: Adjust to spell out "follow-fork".
* gdb.base/foll-exec.exp: Adjust to expect a process id before
"Executing new program".
* gdb.base/foll-fork.exp: Adjust to spell out "follow-fork".
* gdb.base/multi-forks.exp: Ditto. Adjust to the inferior being
left listed after having been killed.
* gdb.base/attach.exp: Adjust to spell out "symbol-file".
* gdb.base/maint.exp: Adjust test.
* Makefile.in (ALL_SUBDIRS): Add gdb.multi.
* gdb.multi/Makefile.in: New.
* gdb.multi/base.exp: New.
* gdb.multi/goodbye.c: New.
* gdb.multi/hangout.c: New.
* gdb.multi/hello.c: New.
* gdb.multi/bkpt-multi-exec.c: New.
* gdb.multi/bkpt-multi-exec.exp: New.
* gdb.multi/crashme.c: New.
2009-10-19 Pedro Alves <pedro@codesourcery.com>
Stan Shebs <stan@codesourcery.com>
gdb/doc/
* gdb.texinfo (Inferiors): Rename node to ...
(Inferiors and Programs): ... this. Mention running multiple
programs in the same debug session.
<info inferiors>: Mention the new 'Executable' column if "info
inferiors". Update examples. Document the "add-inferior",
"clone-inferior", "remove-inferior" and "maint info
program-spaces" commands.
(Process): Rename node to...
(Forks): ... this. Document "set|show follow-exec-mode".
Don Lee [Mon, 19 Oct 2009 08:44:28 +0000 (08:44 +0000)]
* gdb/score-tdep.c: Delete dead codes.
Doug Evans [Mon, 19 Oct 2009 05:09:44 +0000 (05:09 +0000)]
* lm32-opinst.c: Regenerate.
* m32c-desc.c: Regenerate.
* m32r-opinst.c: Regenerate.
* openrisc-ibld.c: Regenerate.
* xc16x-desc.c: Regenerate.
* xc16x-desc.h: Regenerate.
gdbadmin [Mon, 19 Oct 2009 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 18 Oct 2009 23:14:09 +0000 (23:14 +0000)]
PR binutils/10793
* prdbg.c (tg_end_struct_type): Warning fix.
Alan Modra [Sun, 18 Oct 2009 23:11:35 +0000 (23:11 +0000)]
PR binutils/10792
* dlltool.c (dll_name_list_append): Declare variable at start
of block.
(dll_name_list_count, dll_name-list_print): Likewise.
Alan Modra [Sun, 18 Oct 2009 23:00:04 +0000 (23:00 +0000)]
daily update
Michael Snyder [Sun, 18 Oct 2009 16:10:42 +0000 (16:10 +0000)]
2009-10-15 Michael Snyder <msnyder@vmware.com>
* record.c (struct record_reg_entry): Replace ptr with union
of ptr and buf.
(struct record_mem_entry): Ditto.
(record_reg_alloc): Don't alloc ptr if reg will fit into buf.
(record_mem_alloc): Ditto.
(record_reg_release): Don't free ptr if reg was stored in buf.
(record_mem_release): Ditto.
(record_get_loc): New function. Return a pointer to where the
value (mem or reg) is to be stored.
(record_arch_list_add_reg): Call record_get_loc instead of using ptr.
(record_arch_list_add_mem): Ditto.
(record_wait): Ditto.
Alan Modra [Sun, 18 Oct 2009 13:33:20 +0000 (13:33 +0000)]
* as.h (know): Don't define as empty.
* config/tc-arm.c (make_mapping_symbol): Revert last patch.
Alan Modra [Sun, 18 Oct 2009 08:20:17 +0000 (08:20 +0000)]
* config/tc-arm.c (make_mapping_symbol): Add braces to avoid empty body
in release builds.
Alan Modra [Sun, 18 Oct 2009 07:43:04 +0000 (07:43 +0000)]
Exclude more aout targets.
gdbadmin [Sun, 18 Oct 2009 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 17 Oct 2009 23:00:05 +0000 (23:00 +0000)]
daily update
Arnold Metselaar [Sat, 17 Oct 2009 18:23:12 +0000 (18:23 +0000)]
* z80.h: Store alignment requirement in section header, to allow
ld to preserve alignment. Some code was copied from ti.h.
Doug Evans [Sat, 17 Oct 2009 17:38:09 +0000 (17:38 +0000)]
* Makefile.am (CGEN_CPUS): Add iq2000, lm32.
(FR30_DEPS, FRV_DEPS, IQ2000_DEPS): Move so all cgen *_DEPS are
sorted alphabetically.
(stamp-fr30, stamp-frv, stamp-iq2000, stamp-xc16x): Move so all cgen
stamp-* rules are sorted alphabetically.
* Makefile.in: Regenerate.
Arnold Metselaar [Sat, 17 Oct 2009 17:18:28 +0000 (17:18 +0000)]
* coff-z80.c (z80coff_vec): Allow sections to be of type SEC_CODE or SEC_DATA
* ld-scripts/align.exp: Remove xfails for z80-*-coff
gdbadmin [Sat, 17 Oct 2009 00:00:34 +0000 (00:00 +0000)]
*** empty log message ***
Joel Brobecker [Fri, 16 Oct 2009 23:25:21 +0000 (23:25 +0000)]
Add a "(tiny patch)" marker to Steve Kargl's entry.
Michael Eager [Fri, 16 Oct 2009 23:21:23 +0000 (23:21 +0000)]
Fix build failure for microblaze-xilinx-linux.
* microblaze-linux-tdep.c:
microblaze_linux_memory_remove_breakpoint(): Add gdbarch to param,
replace frame_pc_unwind with get_frame_address_in_block.
* microblaze-tdep.c: Remove MICROBLAZE_REGISTER_SIZE.
* microblaze-tdep.h: Add MICROBLAZE_REGISTER_SIZE.
Joel Brobecker [Fri, 16 Oct 2009 23:18:27 +0000 (23:18 +0000)]
* amd64fbsd-nat.c (amd64fbsd_supply_pcb): Conditionally compile in
support for pcb->pcb_{fs,ds,es,gs} on FreeBSD older than 8.0.
Doug Kwan [Fri, 16 Oct 2009 23:07:23 +0000 (23:07 +0000)]
2009-10-16 Doug Kwan <dougkwan@google.com>
* elfcpp/elfcpp.h (DT_PREINIT_ARRAY): Correct enum value.
Alan Modra [Fri, 16 Oct 2009 23:00:04 +0000 (23:00 +0000)]
daily update
Doug Kwan [Fri, 16 Oct 2009 19:11:32 +0000 (19:11 +0000)]
2009-10-16 Doug Kwan <dougkwan@google.com>
* dynobj.cc (Versions::Versions): Initialize version_script_.
Only insert base version symbol definition for a shared object
if version script defines any version versions.
(Versions::define_base_version): New method definition.
(Versions::add_def): Check that base version is not needed.
(Versions::add_need): Define base version lazily.
* dynobj.h (Versions::define_base_version): New method declaration.
(Versions::needs_base_version_): New data member declaration.
* testsuite/Makefile.am (check_SCRIPTS): Add no_version_test.sh
(check_DATA): Add no_version_test.stdout.
(libno_version_test.so, no_version_test.o no_version_test.stdout):
New make rules.
* testsuite/Makefile.in: Regenerate.
* testsuite/no_version_test.c: New file.
* testsuite/no_version_test.sh: Ditto.
Doug Evans [Fri, 16 Oct 2009 18:57:30 +0000 (18:57 +0000)]
* MAINTAINERS: Add myself as m32r maintainer.
Doug Kwan [Fri, 16 Oct 2009 18:56:07 +0000 (18:56 +0000)]
2009-10-16 Doug Kwan <dougkwan@google.com>
* expression.cc (class Segment_start_expression): New class definition.
(Segment_start_expression::value): New method definition.
(script_exp_function_segment_start): Return a new
Segment_start_expression.
* gold/script-c.h (script_saw_segment_start_expression): New function
prototype.
* script-sections.cc (Script_sections::Script_sections): Initialize
SAW_SEGMENT_START_EXPRESSION_ to false.
(Script_sections::set_section_addresses): Use -Ttext, -Tdata
and -Tbbs options to specify section addresses if given in
command line and no SEGMENT_START expression is seen in a script.
* script-sections.h (Script_sections::saw_segment_start_expression,
Script_sections::set_saw_segment_start_expression): New method
definition.
(Script_sections::saw_segment_start_expression_): New data member
declaration.
* script.cc (script_saw_segment_start_expression): New function.
* yyscript.y (SEGMENT_START): Call script_saw_segment_start_expression.
* testsuite/Makefile.am (check_SCRIPTS): Add script_test_6.sh,
script_test_7.sh and script_test_8.sh.
(check_DATA): Add script_test_6.stdout, script_test_7.stdout and
script_test_8.stdout.
(MOSTLYCLEANFILES): Add script_test_6, script_test_7 and script_test_8.
(script_test_6, script_test_6.stdout, script_test_7,
script_test_7.stdout, script_test_8, script_test_8.stdout): New rules.
* Makefile.in: Regenerate.
* testsuite/script_test_6.sh: New file.
* testsuite/script_test_6.t: Same.
* testsuite/script_test_7.sh: Same.
* testsuite/script_test_7.t: Same.
* testsuite/script_test_8.sh: Same.
Doug Kwan [Fri, 16 Oct 2009 18:34:53 +0000 (18:34 +0000)]
2009-10-16 Doug Kwan <dougkwan@google.com>
* output.cc (Output_segment::set_section_list_address): Cast
expressions to unsigned long long type to avoid format warnings.
Doug Evans [Fri, 16 Oct 2009 18:23:43 +0000 (18:23 +0000)]
* MAINTAINERS: Add myself as m32r maintainer.
H.J. Lu [Fri, 16 Oct 2009 16:33:17 +0000 (16:33 +0000)]
2009-10-16 H.J. Lu <hongjiu.lu@intel.com>
PR gas/10775
* doc/c-i386.texi: Mention the 8 extra control registers for
x86-64.
Mention .code64 directive.
H.J. Lu [Fri, 16 Oct 2009 15:50:52 +0000 (15:50 +0000)]
2009-10-16 H.J. Lu <hongjiu.lu@intel.com>
* i386-opc.h: Use enum instead of nested macros.
Nick Clifton [Fri, 16 Oct 2009 15:15:39 +0000 (15:15 +0000)]
* emultempl/pe.em (OPTION_EXCLUDE_ALL_SYMBOLS): New macro.
(gld${EMULATION_NAME}_add_options): Add new --exclude-all-symbols option
to exclude all symbols from automatic export.
(gld_${EMULATION_NAME}_list_options): Describe it.
(gld${EMULATION_NAME}_handle_option): Handle it.
* emultempl/pep.em: Likewise to all the above.
* pe-dll.c (pe_dll_exclude_all_symbols): New variable.
(process_def_file_and_drectve): Use it.
* pe-dll.h (pe_dll_exclude_all_symbols): Declare.
* pep-dll.c (pep_dll_exclude_all_symbols): Define pep_ alias.
* pep-dll.h (pe_dll_exclude_all_symbols): Declare.
* NEWS: Mention the new feature.
* ld.texinfo: Document the new command line switch.
H.J. Lu [Fri, 16 Oct 2009 14:47:08 +0000 (14:47 +0000)]
2009-10-16 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c: Simplify enums.
Nick Clifton [Fri, 16 Oct 2009 14:08:58 +0000 (14:08 +0000)]
PR 10764
* Makefile.am (sysinfo.o, syslex.o): Place source file after all
command line switches.
* Makefile.in: Regenerate.
Nick Clifton [Fri, 16 Oct 2009 14:02:55 +0000 (14:02 +0000)]
PR 10768
* dlltool.c (bfd_get_errmsg): New macro.
(scan_obj_file): Use it.
(make_one_lib_file): Use it.
(make_head): Use it.
(make_delay_head): Use it.
(make_tail): Use it.
(gen_lib_file): Use it.
(identify_dll_for_implib): Use it.
(identify_search_archive): Use it.
Nick Clifton [Fri, 16 Oct 2009 10:32:51 +0000 (10:32 +0000)]
* bootstrap.exp: Detect if plugins are enabled. Skip the static
link test and add -ldl to the remaining tests if they are.
Nick Clifton [Fri, 16 Oct 2009 10:05:06 +0000 (10:05 +0000)]
* readelf.c (usage): Add mention of --debug-dump=frames-interp.
Wrap output to 80 columns.
* objdump.c (usage): Likewise.
* doc/binutils.texi (readelf): Add note about =frames-interp.
Alan Modra [Fri, 16 Oct 2009 07:14:43 +0000 (07:14 +0000)]
PR binutils/10785
* coff-alpha.c (alpha_ecoff_get_elt_at_filepos): Don't bfd_alloc
bim and bim->buffer. bfd_malloc instead.
* peicode.h (pe_ILF_build_a_bfd): Similarly.
(ILF_DATA_SIZE): Don't include bim.
* opncls.c (bfd_close): Test bim->buffer non-NULL before freeing.
Ian Lance Taylor [Fri, 16 Oct 2009 05:19:07 +0000 (05:19 +0000)]
* script.cc (Script_options::add_symbol_assignment): Always add a
dot assginment to script_sections_.
* script-sections.cc (Script_sections::add_dot_assignment):
Initialize if necessary.
Ian Lance Taylor [Fri, 16 Oct 2009 05:16:09 +0000 (05:16 +0000)]
* layout.cc (Layout::relaxation_loop_body): Don't crash if we see
program headers with no load segment if there is a linker script.
Ian Lance Taylor [Fri, 16 Oct 2009 05:00:29 +0000 (05:00 +0000)]
* layout.cc (Layout::set_segment_offsets): Align the file offset
to the segment aligment for -N or -n with no load segment.
* output.cc (Output_segment::add_output_section): Don't crash if
the first section is a TLS section.
(Output_segment::set_section_list_addresses): Print an error
message if the address moves backward in a linker script.
* script-sections.cc
(Output_section_element_input::set_section_addresses): Don't
increase *dot_value for a SHF_TLS/SHT_NOBITS section.
(Orphan_output_section::set_section_addresses): Likewise.
gdbadmin [Fri, 16 Oct 2009 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 15 Oct 2009 23:00:04 +0000 (23:00 +0000)]
daily update
H.J. Lu [Thu, 15 Oct 2009 22:50:09 +0000 (22:50 +0000)]
2009-10-15 H.J. Lu <hongjiu.lu@intel.com>
Ineiev <ineiev@gmail.com>
PR binutils/10767
* i386-dis.c: Use enum instead of nested macros.
H.J. Lu [Thu, 15 Oct 2009 22:26:55 +0000 (22:26 +0000)]
2009-10-15 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (MAX_BYTEMODE): Removed.
Michael Eager [Thu, 15 Oct 2009 19:38:12 +0000 (19:38 +0000)]
* MAINTAINERS: Add self as MicroBlaze maintainer.
Michael Eager [Thu, 15 Oct 2009 19:28:52 +0000 (19:28 +0000)]
* config/djgpp/fnchange.lst: Add translations for cpu-microblaze.c,
elf32-microblaze.c, microblaze-rom.c, microblaze-linux-tdep.c,
microblaze-tdep.h, microblaze-tdep.c, microblaze-opc.h,
microblaze-opcm.h, microblaze-dis.c, microblaze-dis.h, sim/microblaze,
microblaze.h, and microblaze.isa.
* configure.tgt: Add targets microblaze*-linux-*, microblaze*-xilinx-*.
* Makefile.in: Build microblaze-tdep.o, microblaze-linux-tdep.o.
HFILES_NO_SRCDIR: Add microblaze-tdep.h.
* microblaze-linux-tdep.c: New.
* microblaze-tdep.c: New.
* microblaze-tdep.h: New.
* NEWS: Announce Xilinx MicroBlaze support.
Doug Kwan [Thu, 15 Oct 2009 18:17:48 +0000 (18:17 +0000)]
2009-10-15 Doug Kwan <dougkwan@google.com>
* layout.cc (Layout::finish_dynamic_section): Generate tags
DT_FINI_ARRAY, DT_FINI_ARRAYSZ, DT_INIT_ARRAY, DT_INIT_ARRAYSZ,
DT_PREINIT_ARRAY, DT_PREINIT_ARRAYSZ as needed. If -Bsymbolic is
used, add DT_SYMBOLIC and set DF_SYMBOLIC in DT_FLAGS.
Paul Pluzhnikov [Thu, 15 Oct 2009 18:17:39 +0000 (18:17 +0000)]
Forgot to mention PR gdb/10757.
Paul Pluzhnikov [Thu, 15 Oct 2009 18:06:15 +0000 (18:06 +0000)]
2009-10-15 Paul Pluzhnikov <ppluzhnikov@google.com>
* linux-nat.c (linux_nat_post_attach_wait): Adjust assert.
(lin_lwp_attach_lwp, linux_nat_attach): Handle disappearing LWP.
Michael Snyder [Thu, 15 Oct 2009 17:27:54 +0000 (17:27 +0000)]
2009-10-15 Michael Snyder <msnyder@vmware.com>
* record.c (record_insn_max_num): Make unsigned.
(_initialize_record): Use uinteger instead of zinteger for
set command, so that it will report "unlimited" for zero.
Michael Snyder [Thu, 15 Oct 2009 17:15:56 +0000 (17:15 +0000)]
2009-10-15 Michael Snyder <msnyder@vmware.com>
* record.c (record_reg_alloc): New function.
(record_reg_release): New function.
(record_mem_alloc): New function.
(record_mem_release): New function.
(record_end_alloc): New function.
(record_end_release): New function.
(record_entry_release): New function.
(record_list_release): Simplify, call record_entry_release.
(record_list_release_next): Rename to record_list_release_following.
Simplify and call record_entry_release.
(record_list_release_first): Simplify, comment, and use
record_entry_release.
(record_arch_list_add_reg): Simplify, call record_reg_alloc.
(record_arch_list_add_mem): Simplify, call record_mem_alloc.
(record_arch_list_add_end): Simplify, call record_end_alloc.
DJ Delorie [Thu, 15 Oct 2009 17:03:34 +0000 (17:03 +0000)]
merge from gcc
Michael Snyder [Thu, 15 Oct 2009 16:57:36 +0000 (16:57 +0000)]
2009-10-12 Michael Snyder <msnyder@vmware.com>
* record.c (record_list_release_first): Do not decrement
record_insn_num.
(set_insn_num_max): Remove printf.
Decrement record_insn_num in the loop.
Joel Sherrill [Thu, 15 Oct 2009 15:46:49 +0000 (15:46 +0000)]
2009-10-15 Joel Sherrill <joel.sherrill@oarcorp.com>
* std-config.h: Fix spelling error.
Joel Sherrill [Thu, 15 Oct 2009 15:46:19 +0000 (15:46 +0000)]
2009-10-15 Joel Sherrill <joel.sherrill@oarcorp.com>
* sim-inline.h: Fix spelling error.
Alan Modra [Thu, 15 Oct 2009 10:58:34 +0000 (10:58 +0000)]
PR gas/1491
gas/
* macro.c: Delete unnecessary function declarations.
(buffer_and_nest): Support multiple labels per line for
LABELS_WITHOUT_COLONS targets if the labels do have colons.
(free_macro): Move so that we don't need forward declaration.
* read.c (read_a_source_file): Take a copy of macro expansion line
before we trim labels.
* listing.c (listing_newline): Adjust stdin line save for
input_line_pointer still at start of line.
gas/testsuite/
* gas/macros/dot.s: Don't start macro invocations is first column.
* gas/macros/dot.l: Update.
* gas/macros/macros.exp: Run dot test on more targets.
Tristan Gingold [Thu, 15 Oct 2009 09:41:35 +0000 (09:41 +0000)]
2009-10-15 Jim Blandy <jimb@red-bean.com>
* libgnuintl.h (_INTL_MAY_RETURN_STRING_ARG, gettext, dgettext)
(dcgettext, ngettext, dngettext, dcngettext): Backport changes
from current gettext to provide GCC format_arg attributes.
Ian Lance Taylor [Thu, 15 Oct 2009 00:33:18 +0000 (00:33 +0000)]
* object.h (class Relocate_info): Add reloc_shdr and data_shdr
fields.
* object.cc (Sized_relobj::relocate_sections): Set reloc_shdr and
data_shdr fields of relinfo.
* i386.cc (class Target_i386::Relocate): Remove ldo_addrs_ field.
(Target_i386::Relocate::relocate_tls): Don't call fix_up_ldo. For
R_386_TLS_LDO_32, adjust based on section flags.
(Target_i386::Relocate::fix_up_ldo): Remove.
gdbadmin [Thu, 15 Oct 2009 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Cary Coutant [Wed, 14 Oct 2009 23:48:01 +0000 (23:48 +0000)]
2009-10-14 Cary Coutant <ccoutant@google.com>
* dwarf2read.c (read_import_statement): Call follow_die_ref_or_sig.
Joseph Myers [Wed, 14 Oct 2009 23:12:16 +0000 (23:12 +0000)]
* ld-scripts/phdrs3.d: Allow colon in name of linker binary.
Alan Modra [Wed, 14 Oct 2009 23:00:04 +0000 (23:00 +0000)]
daily update
Keith Seitz [Wed, 14 Oct 2009 22:50:32 +0000 (22:50 +0000)]
* dwarf2read.c (dwarf2_const_value): Fix order of arguments to
store_unsigned_integer.
Pedro Alves [Wed, 14 Oct 2009 19:48:27 +0000 (19:48 +0000)]
Remove spurious gdb/ ...
Pedro Alves [Wed, 14 Oct 2009 19:44:38 +0000 (19:44 +0000)]
gdb/
* configure.ac (build_warnings): Add -Wunused-value.
* configure: Regenerate.
Tristan Gingold [Wed, 14 Oct 2009 13:15:34 +0000 (13:15 +0000)]
2009-10-14 Tristan Gingold <gingold@adacore.com>
* solib-darwin.c: Remove trailing whitespaces.
(darwin_dyld_version_ok): Fix typo.
Alan Modra [Wed, 14 Oct 2009 11:30:20 +0000 (11:30 +0000)]
PR 969
* m68k-opc.c (m68k_opcodes): Correct mask for macl and msacl.
Andreas Schwab [Wed, 14 Oct 2009 10:54:27 +0000 (10:54 +0000)]
* ldlex.l (yy_input): Remove second argument and return the value
instead.
(YY_INPUT): Adjust.
Alan Modra [Wed, 14 Oct 2009 10:52:54 +0000 (10:52 +0000)]
* ld-elf/pr349-1.s, * ld-elf/pr349-2.s, * ld-elf/pr349.d: New.
Andrew Stubbs [Wed, 14 Oct 2009 10:17:31 +0000 (10:17 +0000)]
2009-10-14 Andrew Stubbs <ams@codesourcery.com>
* sh-tdep.c (sh_gdbarch_init): Add show_regs settings for
bfd_mach_sh3_nommu, bfd_mach_sh2a_nofpu_or_sh3_nommu,
bfd_mach_sh2a_or_sh3e, bfd_mach_sh2a_or_sh4, bfd_mach_sh4_nommu_nofpu,
and bfd_mach_sh2a_nofpu_or_sh4_nommu_nofpu.
Move bfd_mach_sh2a_or_sh4 to use the same configuration as
bfd_mach_sh4.
Alan Modra [Wed, 14 Oct 2009 05:54:29 +0000 (05:54 +0000)]
include/
* bfdlink.h (enum bfd_link_common_skip_ar_symbols): Rename from
bfd_link_common_skip_ar_aymbols.
(struct bfd_link_info): Here too.
bfd/
* aoutx.h (aout_link_check_ar_symbols): Typo fix.
ld/
* emultempl/netbsd.em (gldnetbsd_before_parse): Typo fix.
Ian Lance Taylor [Wed, 14 Oct 2009 05:25:02 +0000 (05:25 +0000)]
Add support for -pie.
* options.h (class General_options): Add -pie and
--pic-executable.
(General_options::output_is_position_independent): Test -pie.
(General_options::output_is_executable): Return true if not shared
and not relocatable.
(General_options::output_is_pie): Remove.
* options.cc (General_options::finalize): Reject incompatible uses
of -pie.
* gold.cc (queue_middle_tasks): A -pie link is not static.
* symtab.h (Symbol::needs_plt_entry): Return false if -pie.
* symtab.cc (Symbol::final_value_is_known): Return false if
output_is_position_independent.
* layout.cc (Layout::set_segment_offsets): Start at address 0 if
output_is_position_independent.
* output.cc (Output_file_header::do_sized_write): Use ET_DYN if
output_is_position_independent.
* i386.cc (Output_data_plt_i386::do_write): Use the PIC PLT if
output_is_position_independent.
* testsuite/Makefile.am (check_PROGRAMS): Add basic_pie_test and
two_file_pie_test.
(basic_pie_test.o, basic_pie_test): New targets.
(two_file_test_1_pie.o, two_file_test_1b_pie.o): New targets.
(two_file_test_2_pie.o, two_file_test_main_pie.o): New targets.
(two_file_pie_test): New target.
* testsuite/Makefile.in: Rebuild.
* README: Remove note saying that -pie is not supported.
Alan Modra [Wed, 14 Oct 2009 01:48:53 +0000 (01:48 +0000)]
* ldlang.c (load_symbols): Set whole_archive from entry when
parsing a linker script.
gdbadmin [Wed, 14 Oct 2009 00:00:04 +0000 (00:00 +0000)]
*** empty log message ***
Ben Elliston [Tue, 13 Oct 2009 23:44:18 +0000 (23:44 +0000)]
* MAINTAINERS (common): Move myself to "past maintainers" section.
Alan Modra [Tue, 13 Oct 2009 23:00:04 +0000 (23:00 +0000)]
daily update
Daniel Jacobowitz [Tue, 13 Oct 2009 22:48:45 +0000 (22:48 +0000)]
* arm-tdep.c (arm_push_dummy_call): Set the low bit of LR for
a Thumb entry point.
(thumb_get_next_pc): Handle Thumb-2 and ARM v6 instructions. Refuse
to single step into IT blocks.
Ian Lance Taylor [Tue, 13 Oct 2009 21:23:00 +0000 (21:23 +0000)]
* options.h (class General_options): Add -init and -fini.
* layout.cc (Layout::finish_dynamic_section): Emit
given init and fini functions.
Sriraman Tallam [Tue, 13 Oct 2009 21:17:43 +0000 (21:17 +0000)]
* gc.h (gc_process_relocs): Check if icf is enabled using new
function.
* gold.cc (queue_initial_tasks): Likewise.
(queue_middle_tasks): Likewise.
* object.cc (do_layout): Likewise.
* symtab.cc (is_section_folded): Likewise.
* main.cc (main): Likewise.
* reloc.cc (Read_relocs::run): Likewise.
(Sized_relobj::do_scan_relocs): Likewise.
* icf.cc (is_function_ctor_or_dtor): New function.
(Icf::find_identical_sections): Check if function is ctor or dtor when
safe icf is chosen.
* options.h (General_options::icf): Change option to be an enum.
(Icf_status): New enum.
(icf_enabled): New method.
(icf_safe_folding): New method.
(set_icf_status): New method.
(icf_status_): New variable.
* (options.cc) (General_options::finalize): Set icf_status_.
* testsuite/Makefile.am: Add commands to build icf_safe_test. Modify
icf_test and icf_keep_unique_test to use the --icf enum flag.
* testsuite/icf_safe_test.sh: New file.
* testsuite/icf_safe_test.cc: New file.
H.J. Lu [Tue, 13 Oct 2009 18:44:19 +0000 (18:44 +0000)]
2009-10-13 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (print_insn): Always clear need_vex, need_vex_reg
and vex_w_done.
H.J. Lu [Tue, 13 Oct 2009 16:43:39 +0000 (16:43 +0000)]
Fix a typo.
H.J. Lu [Tue, 13 Oct 2009 16:42:40 +0000 (16:42 +0000)]
2009-10-13 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/10766
* config/tc-i386.c (build_modrm_byte): Declare exp earlier.
H.J. Lu [Tue, 13 Oct 2009 16:37:39 +0000 (16:37 +0000)]
2009-10-13 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/10763
* elf32-i386.c (elf_i386_finish_dynamic_symbol): Declare plt
earlier.
H.J. Lu [Tue, 13 Oct 2009 16:23:25 +0000 (16:23 +0000)]
gas/
2009-10-13 H.J. Lu <hongjiu.lu@intel.com>
PR gas/10740
* config/tc-i386-intel.c (i386_intel_operand): Handle call
and jump with 2 immediate operands.
* config/tc-i386.c (i386_finalize_immediate): Don't generate
error message if operand string is NULL.
gas/testsuite/
2009-10-13 H.J. Lu <hongjiu.lu@intel.com>
PR gas/10740
* gas/i386/jump.s: Add new tests.
* gas/i386/jump16.s: Likewise.
* gas/i386/jump.d: Updated.
* gas/i386/jump16.d: Likewise.
Pedro Alves [Tue, 13 Oct 2009 13:51:21 +0000 (13:51 +0000)]
2009-10-13 Pedro Alves <pedro@codesourcery.com>
gdb/
* infcall.c (call_function_by_hand): Formatting.
2009-10-13 Pedro Alves <pedro@codesourcery.com>
gdb/gdbserver/
* proc-service.c (ps_lgetregs): Formatting.
Tristan Gingold [Tue, 13 Oct 2009 10:31:40 +0000 (10:31 +0000)]
2009-10-13 Tristan Gingold <gingold@adacore.com>
* solib-darwin.c: Add an empty line after comment for functions.
(struct gdb_dyld_all_image_infos): Improve comment.
(DYLD_VERSION): Removed and replaced by ...
(DYLD_VERSION_MAX, DYLD_VERSION_MIN): ... New macros.
(darwin_dyld_version_ok): New function.
(darwin_load_image_infos): Call darwin_dyld_version_ok.
(darwin_current_sos): Ditto.
(darwin_solib_create_inferior_hook): Ditto.
Tristan Gingold [Tue, 13 Oct 2009 09:42:57 +0000 (09:42 +0000)]
2009-10-13 Tristan Gingold <gingold@adacore.com>
* machoread.c: Add an empty line after comment for functions.
(oso_el_compare_name): New function.
(macho_add_oso_symfile): New function.
(macho_oso_symfile): Use macho_add_oso_symfile. Sort the oso
and optimize accesses to libraries.
Nick Clifton [Tue, 13 Oct 2009 08:55:31 +0000 (08:55 +0000)]
gas:
2009-10-07 Vincent Riviere <vincent.riviere@freesbee.fr>
PR gas/3041
* config/tc-m68k.c (tc_gen_reloc): Fix addend for relocations
located in data section an referencing a weak symbol.
gas/testsuite:
2009-10-07 Vincent Riviere <vincent.riviere@freesbee.fr>
PR gas/3041
* gas/m68k/all.exp: Added "p3041data".
* gas/m68k/p3041.d, gas/m68k/p3041.s: Added tests of weak references
from text section to all possible sections.
* gas/m68k/p3041data.d, gas/m68k/p3041data.s: New test. Check weak
references from data section.
Tristan Gingold [Tue, 13 Oct 2009 07:57:28 +0000 (07:57 +0000)]
2009-10-12 Tristan Gingold <gingold@adacore.com>
* gdb.base/sepdebug.exp: Check debug info are found.
Tristan Gingold [Tue, 13 Oct 2009 07:56:29 +0000 (07:56 +0000)]
2009-10-12 Tristan Gingold <gingold@adacore.com>
* objfiles.c (objfile_has_symbols): New function.
* objfiles.h (objfile_has_symbols): Add prototype.
* symfile.c (symbol_file_add_with_addrs_or_offsets): Call
objfile_has_symbols.
(reread_symbols): Ditto.
Alan Modra [Tue, 13 Oct 2009 04:06:20 +0000 (04:06 +0000)]
* elflink.c (_bfd_elf_merge_symbol): Revert previous patch.
Ralf Wildenhues [Tue, 13 Oct 2009 03:32:18 +0000 (03:32 +0000)]
Fix toplevel 'config.status --recheck' for --enable-lto.
/:
* configure.ac: Add 'lto' to enable_languages, not
new_enable_languages, and only if not already present.
* configure: Regenerate.
Roland McGrath [Tue, 13 Oct 2009 02:35:08 +0000 (02:35 +0000)]
Fix %s that should be %B in several message formats.
Sriraman Tallam [Tue, 13 Oct 2009 00:39:31 +0000 (00:39 +0000)]
* symtab.h: Check for GOLD_SYMTAB_H before header includes. Remove
includes to gc.h and icf.h.
* arm.cc: Include gc.h.
* gold.cc: Likewise.
* i386.cc: Likewise.
* powerpc.cc: Likewise.
* sparc.cc: Likewise.
* x86_64.cc: Likewise.
* gc.h: Include icf.h.