From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10670 invoked by alias); 15 Feb 2013 08:45:53 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 10647 invoked by uid 9958); 15 Feb 2013 08:45:53 -0000 Date: Fri, 15 Feb 2013 08:45:00 -0000 Message-ID: <20130215084551.10633.qmail@sourceware.org> From: mmetzger@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] archer-mmetzger-btrace: reverse-20080717-branchpoint-13959-g204dbf9 X-Git-Refname: refs/heads/archer-mmetzger-btrace X-Git-Reftype: branch X-Git-Oldrev: 0000000000000000000000000000000000000000 X-Git-Newrev: 204dbf91e3accdb741a90d00ed0833bb41457210 X-SW-Source: 2013-q1/txt/msg00042.txt.bz2 List-Id: The branch, archer-mmetzger-btrace has been created at 204dbf91e3accdb741a90d00ed0833bb41457210 (commit) - Log ----------------------------------------------------------------- commit 204dbf91e3accdb741a90d00ed0833bb41457210 Author: Markus Metzger Date: Wed Feb 13 10:12:31 2013 +0100 record: add "record list" command Add a "record list" command to print a source listing of the recorded execution log. The command supports iterating over the execution log similar to the "list" command. This is useful for getting a quick overview of the recorded execution trace without having to reverse-step. Signed-off-by: Markus Metzger * target.c (target_list_record, target_list_record_range): New. * target.h (target_ops) : New fields. (target_disas_record, target_disas_record_range): New declaration. * record.c (get_list_modifiers, cmd_record_list): New. (record_list_size): New. (_initialize_record): Add the "record list" command. Add "set/show record list-size" commands. Change-Id: Idfc5a37f2a38b38dfdd0c0d3272cad426f3868f3 commit 8a517642fcad89f7673aa65031cc099fbaee1ab8 Author: Markus Metzger Date: Wed Feb 13 09:52:36 2013 +0100 record: add "record backtrace" command Add a "record backtrace" command to print a backtrace of recorded functions. The command supports iterating over the execution log similar to the "list" command. This command provides a quick high-level overview over the recorded execution log without having to reverse-step. Signed-off-by: Markus Metzger * target.c (target_backtrace_record): New. (target_backtrace_record_range): New. * target.h (target_ops) : New fields. (target_disas_record, target_disas_record_range): New declaration. * record.c (get_insn_range, get_backtrace_modifiers, cmd_record_backtrace, record_backtrace_size): New. (_initialize_record): Add the "record backtrace" command. Add an alias "record bt" to it. Add "set/show record backtrace-size" commands. * record.h (record_print_flag): New. Change-Id: Icf16459162a88b0841902454b78d107c3cd279eb commit 198f9c336b648c1f07f92d20e0827aee7c2872a5 Author: Markus Metzger Date: Wed Feb 13 14:53:11 2013 +0100 record disas: omit function names by default Omit function names in the disassembly of the "record disassemble" command unless the "/f" modifier is specified. This helps align the disassembly output across functions. The branch destination is already obvious from the instruction order. Signed-off-by: Markus Metzger * record.c (get_disas_modifiers): Set DISASSEMBLY_OMIT_FNAME unless /f is given. (_initialize_record): Update the "record disassemble" help text. Change-Id: Id2446925018b6a385255fea67378573e820e76af commit 976c314aaf00f2f419657165cd1af4de494d4ec2 Author: Markus Metzger Date: Fri Feb 1 10:27:04 2013 +0100 record: add "record disassemble" command Add a command to provide a disassembly of the execution trace log. Approved by Jan Kratochvil. Signed-off-by: Markus Metzger * target.h (target_ops): Add to_disas_record and to_disas_record_range fields. (target_disas_record): New. (target_disas_record_range): New. * target.c (target_disas_record): New. (target_disas_record_range): New. * record.c: Include cli/cli-utils.h, disasm.h, ctype.h. (record_disas_size): New. (get_insn_number): New. (get_disas_modifiers): New. (cmd_record_disas): New. (_initialize_record): Add "set/show record disas-size" command. Add "record disassemble" command. Change-Id: I64d52abba191ad14e2a4df790650d07202825a14 commit 9806aa1576781a4d9b2b6e291c8a0538419cd303 Author: Markus Metzger Date: Thu Feb 7 15:07:40 2013 +0100 record: default target methods. Provide default target methods for record targets that are likely to be shared between different record targets. Signed-off-by: Markus Metzger * record.h (record_disconnect): New. (record_detach): New. (record_mourn_inferior): New. (record_kill): New. * record-full.c (record_disconnect, record_detach, record_mourn_inferior, record_kill): Move to... * record.c: ...here. (DEBUG): New. (record_unpush): New. (cmd_record_stop): Use record_unpush. (record_disconnect, record_detach, record_mourn_inferior, record_kill): Use record_unpush and DEBUG. Change-Id: I1ba6f18301dbc63eb2bd8f059b5aff51e01c8d6b commit 186d1211411391f602a8e5774bdd402a69b94d72 Author: Markus Metzger Date: Tue Feb 12 09:58:47 2013 +0100 record-full.h: rename record_ into record_full_ Rename record_ prefixes in record-full.h into record_full_. I ran the gdb.reverse suite on 64bit IA gnu/linux - no regressions. The changelog for this renaming will be huge. Is there a way to abbreviate or auto-generate it? Signed-off-by: Markus Metzger Change-Id: I0c690de416e0b77c0dbcd11ba95eee77029466e9 commit dfb79bd0e88cc693ac526ee9109debbb771a844e Author: Markus Metzger Date: Tue Feb 12 09:35:04 2013 +0100 record-full.c: rename record_ in record_full_. Rename record_ prefixes in record-full.c into record_full_. I ran the gdb.reverse suite on 64bit IA gnu/linux - no regressions. The changelog for this renaming will be huge. Is there a way to abbreviate or auto-generate it? Signed-off-by: Markus Metzger Change-Id: Id1393696ac9b918f96656d843143f48cebbd6e4b commit 35daa5fa3c2e8b4a51f7d63f84a572d3ab973f75 Author: Markus Metzger Date: Thu Jan 31 14:33:45 2013 +0100 record: make it build again Complete the split of record into record.c and record-full.c I ran the gdb.reverse suite on 64bit IA gnu/linux - no regressions. Signed-off-by: Markus Metzger * target.h (target_ops): Add new fields to_info_record, to_save_record, to_delete_record, to_record_is_replaying, to_goto_record_begin, to_goto_record_end, to_goto_record. (target_info_record): New. (target_save_record): New. (target_supports_delete_record): New. (target_delete_record): New. (target_record_is_replaying): New. (target_goto_record_begin): New. (target_goto_record_end): New. (target_goto_record): New. * target.c (target_info_record): New. (target_save_record): New. (target_supports_delete_record): New. (target_delete_record): New. (target_record_is_replaying): New. (target_goto_record_begin): New. (target_goto_record_end): New. (target_goto_record): New. * record.h: Declare struct cmd_list_element. (record_cmdlist): New declaration. (set_record_cmdlist): New declaration. (show_record_cmdlist): New declaration. (info_record_cmdlist): New declaration. (cmd_record_goto): New declaration. * record.c: Remove unnecessary includes. Include inferior.h. (cmd_record_goto): Remove declaration. (record_cmdlist): Now extern. Initialize. (set_record_cmdlist): Now extern. Initialize. (show_record_cmdlist): Now extern. Initialize. (info_record_cmdlist): Now extern. Initialize. (find_record_target): New. (require_record_target): New. (cmd_record_start): Update. (cmd_record_delete): Remove target-specific code. Call target_delete_record. (cmd_record_stop): Unpush any record target. (set_record_insn_max_num): Move to record-full.c (set_record_command): Add comment. (show_record_command): Add comment. (info_record_command): Update comment. Remove target-specific code. Call the record target's to_info_record. (cmd_record_start): New. (cmd_record_goto): Now extern. Remove target-specific code. Call target_goto_begin, target_goto_end, or target_goto. (_initialize_record): Move record target ops initialization to record-full.c. Change "record" command help text. Move "record restore", "record set", and "record show" commands to record-full.c. * Makefile.in (SFILES): Add record-full.c. (HFILES_NO_SRCDIR): Add record-full.h. (COMMON_OBS): Add record-full.o. * amd64-linux-tdep.c: Include record-full.h instead of record.h. * arm-tdep.c: Include record-full.h. * i386-linux-tdep.c: Include record-full.h instead of record.h. * i386-tdep.c: Include record-full.h. * infrun.c: Include record-full.h. * linux-record.c: Include record-full.h. * moxie-tdep.c: Include record-full.h. * record-full.c: Include record-full.h. Change module comment. (set_record_full_cmdlist): New. (show_record_full_cmdlist): New. (record_full_cmdlist): New. (record_goto_insn): New declaration. (record_save): New declaration. (record_check_insn_num): Change query string. (record_info): New. (record_delete): New. (record_is_replaying): New. (record_goto_entry): New. (record_goto_begin): New. (record_goto_end): New. (record_goto): New. (init_record_ops): Update. (init_record_core_ops): Update. (cmd_record_save): Rename to record_save. Remove target and arg checks. (cmd_record_start): New. (set_record_insn_max_num): Moved from record.c (set_record_full_command): New. (show_record_full_command): New. (_initialize_record_full): New. Change-Id: Iadf27b812f0f36921bd74d9d9bf36f7301b60f27 commit 5eff8d6f18ec211552c95d0635ad61447145f43f Author: Markus Metzger Date: Wed Feb 6 14:16:02 2013 +0100 record: split record Split record.h into record.h and record-full.h. Split record.c into record.c and record-full.c. The split leaves the command part in record.c and moves the target part into record-full.c. The result does not build! This patch will be merged with the next patch before committing. Approved by Jan Kratochvil. Signed-off-by: Markus Metzger * record.h: Split into this and ... * record-full.h: ... this. * record.c: Split into this and ... * record-full.c: ... this. Change-Id: I0a55ddf0311406a1d977c1c375a04fdc63257a07 commit 4f927526673402d7a7bf763db245f5cb4009152f Author: Markus Metzger Date: Mon Feb 4 14:36:53 2013 +0100 target: add add_deprecated_target_alias Add a new function to target.h to add an alias command for a target and mark it deprecated. This is useful when renaming targets. Approved by Jan Kratochvil. Signed-off-by: Markus Metzger * target.h (add_deprecated_target_alias): New. * target.c (add_deprecated_target_alias): New. Change-Id: I6b679682475c9aa3bae3be300f79c08ce9bd3aee commit 00ec02080ada82d56f960e639811a52a22d6de2e Author: Markus Metzger Date: Thu Dec 6 11:06:14 2012 +0100 btrace, x86: disable on some processors LBR, BTM, or BTS records may have incorrect branch "from" information afer an EIST transition, T-states, C1E, or Adaptive Thermal Throttling (AAJ122). This results in sporadic test fails. Disable btrace on those processors. I still need to implement the feature check before checking cpuid requested by Mark Kettenis. Signed-off-by: Markus Metzger * common/linux-btrace.c (linux_supports_btrace): Add cpuid check. (intel_supports_btrace): New function. Change-Id: Ic79f4fb1b9714e91c4f7c1ec935a1123a99af190 commit 830c24801bb33775c5522b92f60df14a0eb5e684 Author: Barkha Ahuja Date: Wed Feb 8 14:54:43 2012 +0100 test, btrace: more branch tracing tests Non-stop tests are failing with gdbserver and are thus skipped. Signed-off-by: Barkha Ahuja testsuite/ * gdb.btrace/a.S: New file * gdb.btrace/allthreads_trace.exp: New file * gdb.btrace/b.S: New file * gdb.btrace/decrement.exp: New file * gdb.btrace/decrement.S: New file * gdb.btrace/disable_all.exp: New file * gdb.btrace/enable_all.exp: New file * gdb.btrace/enable_range.exp: New file * gdb.btrace/list_options.exp: New file * gdb.btrace/main.S: New file * gdb.btrace/main_asm.exp: New file * gdb.btrace/main_segv.exp: New file * gdb.btrace/main_segv.S: New file * gdb.btrace/sanity_crash.exp: New file * gdb.btrace/sanity_crash.S: New file * gdb.btrace/amd64-thr-callback.S: New file * gdb.btrace/i386-thr-callback.S: New file * gdb.btrace/threads.c: New file * gdb.btrace/threads_asm.c: New file * gdb.btrace/threads_auto.exp: New file * gdb.btrace/threads_independent.exp: New file * gdb.btrace/threads_nonstop.exp: New file * gdb.btrace/trace_iteration.exp: New file Change-Id: Idcaff760ea29a4111d6c080b63b8e4683db1456e commit 2d0fa1b8d94fe9fdda1e3dea5854a4488e7fe6e5 Author: Markus Metzger Date: Tue Dec 13 14:41:49 2011 +0100 test, btrace: add branch tracing tests Add tests covering btrace enable/disable/auto and btrace list. Signed-off-by: Markus Metzger testsuite/ * configure.ac: Add gdb.btrace makefile. * configure: Regenerated. * lib/btrace.exp: New file. * gdb.btrace/Makefile.in: New file. * gdb.btrace/enable.exp: New file. * gdb.btrace/list.exp: New file. * gdb.btrace/x86-list.S: New file. Change-Id: I5ee3daa23361746123624ee82c2950d171428be6 commit 7244ad83b39046ee8053aca0c29f186ae174739a Author: Markus Metzger Date: Fri Jan 20 16:21:40 2012 +0100 gdbserver, linux, btrace: add btrace support for linux-low Implement btrace target ops in target linux-low using the common linux-btrace functions. Signed-off-by: Markus Metzger gdbserver/ * linux-low: Include linux-btrace.h. (linux_low_enable_btrace): New function. (linux_low_read_btrace): New function. (linux_target_ops): Add btrace ops. * configure.srv (i[34567]86-*-linux*): Add linux-btrace.o. Add srv_linux_btrace=yes. (x86_64-*-linux*): Add linux-btrace.o. Add srv_linux_btrace=yes. * configure.ac: Define HAVE_LINUX_BTRACE. * config.in: Regenerated. * configure: Regenerated. Change-Id: I4dbf1bef9fe6f557b711f9598a1b1a68bfd38504 commit eb62d133bb89ab45d14d142c01e23daa17acb584 Author: Markus Metzger Date: Wed Jan 18 20:11:14 2012 +0100 gdbserver, btrace: add generic btrace support Add support to gdbserver to understand branch trace related packages. Signed-off-by: Markus Metzger gdbserver/ * target.h (struct target_ops): Add btrace ops. (target_supports_btrace): New macro. (target_btrace_has_changed): New macro. (target_enable_btrace): New macro. (target_disable_btrace): New macro. (target_read_btrace): New macro. * gdbthread.h (struct thread_info): Add btrace field. * server.c (handle_btrace_general_set): New function. (handle_btrace_enable): New function. (handle_btrace_disable): New function. (handle_general_set): Call handle_btrace_general_set. (handle_qxfer_btrace): New function. (struct qxfer qxfer_packets[]): Add btrace entry. (handle_btrace_query): New function. (handle_query): Add btrace to supported query, call handle_btrace_query. * inferiors.c (remove_thread): Disable btrace. Change-Id: I8aa02612bb461e04bfeb2bb6b4a363ad7de55dbe commit 1ac0a20e2b406c17ac97077349ebd5657d2983d5 Author: Markus Metzger Date: Tue Dec 4 11:29:46 2012 +0100 btrace, doc: document remote serial protocol Document the extensions to the remote serial protocol for supporting branch tracing. This patch has been reviewed and approved by Eli Zaretskii. Signed-off-by: Markus Metzger doc/ * gdb.texinfo (Requirements): List qXfer:btrace:read requiring expat. (General Query Packets): Describe qbtrace, Qbtrace, and qXfer:btrace:read. Change-Id: Ie5b84a947a926624d803be3deacea2f6c55b3381 commit 6be537e611bea6b0663680b155203e665fad0217 Author: Markus Metzger Date: Thu Jan 19 14:15:34 2012 +0100 remote, btrace: add branch trace remote ops Add the gdb remote target operations for branch tracing. We define the following packets: qbtrace query the current thread if new trace data is available returns "yes" or "no" or "Enn" Qbtrace:on enable branch tracing for the current thread returns "OK" or "Enn" Qbtrace:off disable branch tracing for the current thread returns "OK" or "Enn" qXfer:btrace:read read the full branch trace data for the current thread Signed-off-by: Markus Metzger * target.h (enum target_object): Add TARGET_OBJECT_BTRACE. * remote.c: Include btrace.h. (struct btrace_target_info): New struct. (remote_supports_btrace): New function. (send_Qbtrace): New function. (remote_enable_btrace): New function. (remote_disable_btrace): New function. (remote_btrace_has_changed): New function. (remote_read_btrace): New function. (init_remote_ops): Add btrace ops. (enum ): Add btrace packets. (struct protocol_feature remote_protocol_features[]): Add btrace packets. (_initialize_remote): Add packet configuration for branch tracing. Change-Id: Id26dd9ab14a7cf370f00e498a4ae1e7f057fa6c8 commit 0f04a9204109ae0d190080da079811c79672c181 Author: Markus Metzger Date: Mon Jan 23 19:22:05 2012 +0100 xml, btrace: define btrace xml document style Define the xml document style for transferring branch trace data. Add a function to parse a btrace xml document into a vector of branch trace blocks. Signed-off-by: Markus Metzger * features/btrace.dtd: New file. * Makefile.in (XMLFILES): Add btrace.dtd. * btrace.h (parse_xml_btrace): New declaration. * btrace.c (parse_xml_btrace): New function. (parse_xml_btrace_block): New function. (block_attributes): New struct. (btrace_attributes): New struct. (btrace_children): New struct. (btrace_elements): New struct. Change-Id: I83b621a1aa60f90aa2693acee5704831ce8e426b commit 641318f3b4f9e762955f30aca021453f9f0e0c11 Author: Markus Metzger Date: Thu Jan 12 17:24:03 2012 +0100 linux, i386, amd64: enable btrace for 32bit and 64bit linux native Install the btrace target ops for i386-linux-nat and amd64-linux-nat. Signed-off-by: Markus Metzger * amd64-linux-nat.c: Include btrace.h and linux-btrace.h. (amd64_linux_enable_btrace): New. (amd64_linux_disable_btrace): New. (_initialize_amd64_linux_nat): Initialize btrace ops. * i386-linux.nat.c: Include btrace.h and linux-btrace.h. (i386_linux_enable_btrace): New. (i386_linux_disable_btrace): New. (_initialize_i386_linux_nat): Initialize btrace ops. * config/i386/linux.mh: Add linux-btrace.o. * config/i386/linux64.mh: Add linux-btrace.o. Change-Id: I3edae68584fa6dfd58c184c0427515b6c1028367 commit 9fba3d4556ef5243cae18a434afabb7552c3463e Author: Markus Metzger Date: Fri Jan 20 12:15:48 2012 +0100 linux, btrace: perf_event based branch tracing Implement branch tracing on Linux based on perf_event such taht it can be shared between gdb and gdbserver. The actual btrace target ops will be implemented on top. Signed-off-by: Markus Metzger * common/linux_btrace.h: New file. * common/linux_btrace.c: New file. * Makefile.in (SFILES): Add btrace.c. (HFILES_NO_SRCDIR): Add common/linux-btrace.h. (COMMON_OBS): Add btrace.o. (linux-btrace.o): New rule. gdbserver/ * Makefile.in (SFILES): Add $(srcdir)/common/linux-btrace.c. (linux_btrace_h): New variable. (linux-btrace.o): New rule. Change-Id: I2dd637d17366756b4187da22d35f905229578284 commit 805594fecb09865c68dbc8d95730216aa8106a66 Author: Markus Metzger Date: Wed Jan 11 18:58:49 2012 +0100 cli, btrace: add btrace cli Add branch trace commands: - "btrace enable/disable" perform the obvious operation "" on the current thread. "all" on each existing thread. "auto" on each newly created thread. Actually, "btrace enable auto" turns on automatic enabling for new threads, and "btrace disable auto" turns it off, again. - "btrace list" prints the blocks that have been traced. The output may be configured using modifiers. It prints: - the block number /a the begin and end code address of that block /f the function containing the block /l the source lines contained in the block With the /t modifier, it prints the total number of blocks and exits. It accepts an optional range argument specifying the range of blocks to be listed. If no argument is given, all blocks are listed. The block number can be used to print the trace for one particular block or for a range of blocks. - "btrace" prints the branch trace disassembly for the current thread. Branch trace is printed block-by-block. Typically, one block at a time is printed. By default, the disassembly for the next block is printed, thus iterating over the full branch trace. The command supports the /m and /r modifiers accepted by the disassemble command. In addition, the command supports the following arguments: - "" set the iterator to the -th block - "+[]" advance the iterator by (default: 1) - "-[]" advance the iterator by - (default: 1) - "-" set the iterator to the 'th block and print the blocks in the range in reverse (i.e. original control flow) order. Mixed source and disassembly does not work very well for inlined functions, a problem that it shares with the disassemble command. Signed-off-by: Markus Metzger * btrace.c (warn_enable_btrace): New function. (warn_disable_btrace): New function. (cmd_btrace_enable): New function. (cmd_btrace_enable_all): New function. (cmd_btrace_enable_auto): New function. (cmd_btrace_disable): New function. (cmd_btrace_disable_all): New function. (cmd_btrace_disable_auto): New function. (do_btrace_list_address): New function. (do_btrace_list_function): New function. (do_btrace_list_line): New function. (do_btrace_list_item): New function. (do_btrace_list): New function. (cmd_btrace_list): New function. (do_btrace): New function. (do_btrace_range): New function. (do_prev_btrace): New function. (do_next_btrace): New function. (cmd_btrace): New function. (_initialize_btrace): New function. Change-Id: I36330339590bd4357ebb39ce850657c76e02fe7e commit 1479e816769e6ac8c9b9c9d4da34268090a12223 Author: Markus Metzger Date: Tue Jan 10 19:31:26 2012 +0100 thread, btrace: add generic branch trace support Add branch trace information to struct thread_info to hold the branch trace information for that thread. Add functions to enable/disable, and get a thread's branch trace, as well as for iterating over it. Iteration uses a per-thread iterator stored in the thread_info's branch trace information. Iterators are reset implicitly when a thread's branch trace changes. Signed-off-by: Markus Metzger * target.h: Include btrace.h. (struct target_ops): Add btrace ops. * target.c (update_current_target): Initialize btrace ops. (target_supports_btrace): New function. (target_enable_btrace): New function. (target_disable_btrace): New function. (target_read_btrace): New function. (target_btrace_has_changed): New function. * btrace.h: New file. * btrace.c: New file. * Makefile.in: Add btrace.c. * gdbthread.h: Include btrace.h. (struct thread_info): Add btrace field. * thread.c: Include btrace.h. (clear_thread_inferior_resources): Call disable_btrace. * infcmd.c: Include btrace.h. (detach_command): Call disconnect_btrace. * common/btrace-common.h: New file. Change-Id: Ie39f821b89778d926183975914992c81c0f82029 commit c68620c634260fbad37933feae4db71659ef820f Author: yufeng Date: Thu Feb 14 13:50:26 2013 +0000 2013-02-14 Pedro Alves Yufeng Zhang * aarch64-linux-nat.c (aarch64_init_debug_reg_state): Delete. (aarch64_inferior_data, struct aarch64_inferior_data): Delete. (struct aarch64_process_info): New. (aarch64_process_list): New global. (aarch64_find_process_pid, aarch64_add_process) (aarch64_process_info_get): New functions. (aarch64_inferior_data_get): Delete. (aarch64_process_info_get): New function. (aarch64_forget_process): New function. (aarch64_get_debug_reg_state): New parameter 'pid'. Reimplement. (aarch64_linux_prepare_to_resume): Pass the lwp's pid to aarch64_get_debug_reg_state. (aarch64_notify_debug_reg_change): Use iterate_over_lwps instead of linux_nat_iterate_watchpoint_lwps. (aarch64_linux_new_fork): New function. (aarch64_linux_child_post_startup_inferior): Use aarch64_forget_process instead of aarch64_init_debug_reg_state. (aarch64_handle_breakpoint, aarch64_linux_insert_hw_breakpoint) (aarch64_linux_remove_hw_breakpoint) (aarch64_handle_aligned_watchpoint) (aarch64_handle_unaligned_watchpoint) (aarch64_linux_insert_watchpoint) (aarch64_linux_remove_watchpoint) (aarch64_linux_stopped_data_address): Adjust to pass the current process id to aarch64_debug_reg_state. (_initialize_aarch64_linux_nat): Install aarch64_linux_new_fork as linux_nat_new_fork hook, and aarch64_forget_process as linux_nat_forget_process hook; remove the call to register_inferior_data_with_cleanup. commit 79ab359fe6a0740ca82c4cb9b66d368566a41a4f Author: Pedro Alves Date: Thu Feb 14 12:43:43 2013 +0000 Fix ptype bug actually exercised in userdef.exp I happened to notice a bug with ptype &Ref, and found out userdef.exp actually exercises the bug. With: class Container { public: Member m; Member& operator* (); }; Member& Container::operator* () { return this->m; } And 'c' is of type Container: (gdb) p c $1 = {m = {z = -9192}} (gdb) p *c $2 = (Member &) @0x7fffffffda20: {z = -9192} (gdb) ptype *c type = class Member { public: int z; } & (gdb) p &*c $3 = (Member *) 0x7fffffffda20 (gdb) ptype &*c type = class Member { public: int z; } &* (gdb) Notice that last print (&*c) on says the type is a pointer - that's how you get the address behind a reference. But notice the last ptype instead says the type of the same expression is a pointer _reference_. This looks like a bug to me. This patch fixes it. The issue is that we're entering the VALUE_LVAL (x) == lval_memory branch by mistake for references. The fix is just to swap the tests so references are checked first, like value_addr also handles references first. Tested on x86_64 Fedora 17. 2013-02-14 Pedro Alves * eval.c (evaluate_subexp_for_address) : Swap and handle TYPE_CODE_REF before lval_memory. 2013-02-14 Pedro Alves * gdb.cp/userdef.exp (ptype &*c): Don't expect an &. commit 32d784b33026d7800a88ff5b2dfc25c42140261e Author: abidh Date: Thu Feb 14 10:19:38 2013 +0000 2013-02-14 Pedro Alves Hafiz Abid Qadeer gdb/ * tracepoint.h (validate_trace_state_variable_name): Declare. * tracepoint.c (validate_trace_state_variable_name): New. (trace_variable_command): Parse the trace state variable's name without using parse_expression. Do several validations. * mi/mi-main.c (mi_cmd_trace_define_variable): Don't parse the trace state variable's name with parse_expression. Validate it. gdb/testsuite/ * gdb.trace/tsv.exp: Adjust tests, and add a few more. commit 5f51babfc7c8e0275abf428d1bac9c686cb53438 Author: qiyao Date: Thu Feb 14 04:00:15 2013 +0000 gdb/ * infcmd.c (breakpoint_proceeded): Remove it. commit 93e803cf0a78ebb3439df82edd0d0334508aa0cc Author: qiyao Date: Thu Feb 14 03:57:12 2013 +0000 gdb/ * tracepoint.c (end_actions_pseudocommand): Make it static. (while_stepping_pseudocommand): Likewise. * tracepoint.h (end_actions_pseudocommand): Remove the declaration. (while_stepping_pseudocommand): Likewise. commit 4ae097cd6d015d1c578c9dcc703daf6c6b89be7b Author: qiyao Date: Thu Feb 14 03:51:59 2013 +0000 gdb/ Indent one changelog entry. commit b84d27f115d9876ff8257a85e76747aaa9765c1f Author: qiyao Date: Thu Feb 14 03:39:42 2013 +0000 gdb/ * cli/cli-decode.c (help_cmd): Remove the declaration of "cmdlist". (help_all): Likewise. commit 1e68b2b05ce04cd4b8f24563b31de40f9e49edf0 Author: gdbadmin Date: Thu Feb 14 00:00:36 2013 +0000 *** empty log message *** commit 57e112548bae57b65bbdba19b1476b0f3a3ef230 Author: Alan Modra Date: Wed Feb 13 23:00:05 2013 +0000 daily update commit 3d3319482ed205651ebca6453cccf951086a5462 Author: Maciej W. Rozycki Date: Wed Feb 13 19:36:10 2013 +0000 Correct ChangeLog dates. commit 33d7321d94668d444bde41387966af38d7f4012d Author: Maciej W. Rozycki Date: Wed Feb 13 17:09:08 2013 +0000 opcodes/ * mips-dis.c (is_compressed_mode_p): Only match symbols from the section disassembled. binutils/testsuite/ * binutils-all/mips/mixed-micromips.d: New test. * binutils-all/mips/mixed-mips16.d: New test. * binutils-all/mips/mixed-micromips.s: New test source. * binutils-all/mips/mixed-mips16.s: New test source. * binutils-all/mips/mips.exp: New file. commit 89b83d1e001377c41f7ef6eeb61d29c56bd3110a Author: Pedro Alves Date: Wed Feb 13 15:06:50 2013 +0000 Fix typo: amd64 -> i386. commit dd51587bd92272bad2b7b8dca895bc4da5694810 Author: Pedro Alves Date: Wed Feb 13 14:59:45 2013 +0000 [native x86 GNU/Linux] Access debug register mirror from the corresponding process. While reviewing the native AArch64 patch, I noticed a problem: On 02/06/2013 08:46 PM, Pedro Alves wrote: > >> > +static void >> > +aarch64_linux_prepare_to_resume (struct lwp_info *lwp) >> > +{ >> > + struct arch_lwp_info *info = lwp->arch_private; >> > + >> > + /* NULL means this is the main thread still going through the shell, >> > + or, no watchpoint has been set yet. In that case, there's >> > + nothing to do. */ >> > + if (info == NULL) >> > + return; >> > + >> > + if (DR_HAS_CHANGED (info->dr_changed_bp) >> > + || DR_HAS_CHANGED (info->dr_changed_wp)) >> > + { >> > + int tid = GET_LWP (lwp->ptid); >> > + struct aarch64_debug_reg_state *state = aarch64_get_debug_reg_state (); > Hmm. This is always fetching the debug_reg_state of > the current inferior, but may not be the inferior of lwp. > I see the same bug on x86. Sorry about that. I'll fix it. A natural fix would be to make xxx_get_debug_reg_state take an inferior argument, but that doesn't work because of the case where we detach breakpoints/watchpoints from the child fork, at a time there's no inferior for the child fork at all. We do a nasty hack in i386_inferior_data_get, but that relies on all callers pointing the current inferior to the correct inferior, which isn't actually being done by all callers, and I don't think we want to enforce that -- deep in the bowls of linux-nat.c, there are many cases we resume lwps behind the scenes, and it's be better to not have that code rely on global state (as it doesn't today). The fix is to decouple the watchpoints code from inferiors, making it track target processes instead. This way, we can freely keep track of the watchpoint mirrors for these processes behind the core's back. Checkpoints also play dirty tricks with swapping the process behind the inferior, so they get special treatment too in the patch (which just amounts to calling a new hook). Instead of the old hack in i386_inferior_data_get, where we returned a copy of the current inferior's debug registers mirror, as soon as we detect a fork in the target, we copy the debug register mirror from the parent to the child process. I don't have an old kernel handy to test, but I stepped through gdb doing the watchpoint removal in the fork child in the watchpoint-fork test seeing that the debug registers end up cleared in the child. I didn't find the need for linux_nat_iterate_watchpoint_lwps. If we use plain iterate_over_lwps instead, what happens is that when removing watchpoints, that iterate_over_lwps doesn't actually iterate over anything, since the fork child is not added to the lwp list until later, at detach time, in linux_child_follow_fork. And if we don't iterate over that lwp, we don't mark its debug registers as needing update. But linux_child_follow_fork takes care of doing that explicitly: child_lp = add_lwp (inferior_ptid); child_lp->stopped = 1; child_lp->last_resume_kind = resume_stop; make_cleanup (delete_lwp_cleanup, child_lp); /* CHILD_LP has new PID, therefore linux_nat_new_thread is not called for it. See i386_inferior_data_get for the Linux kernel specifics. Ensure linux_nat_prepare_to_resume will reset the hardware debug registers. It is done by the linux_nat_new_thread call, which is being skipped in add_lwp above for the first lwp of a pid. */ gdb_assert (num_lwps (GET_PID (child_lp->ptid)) == 1); if (linux_nat_new_thread != NULL) linux_nat_new_thread (child_lp); if (linux_nat_prepare_to_resume != NULL) linux_nat_prepare_to_resume (child_lp); ptrace (PTRACE_DETACH, child_pid, 0, 0); so unless I'm missing something (quite possible) it ends up all the same. But, the !detach-on-fork, and the "follow-fork child" paths should also call linux_nat_new_thread, and they don't presently. It seems to me in those cases we're not clearing debug regs correctly when that's needed. Instead of copying that bit that works around add_lwp bypassing the linux_nat_new_thread call, I thought it'd be better to add an add_initial_lwp call to be used in the case we really need to bypass linux_nat_new_thread, and make add_lwp always call linux_nat_new_thread. i386_cleanup_dregs is rewritten to forget about the current process debug mirrors, which takes cares of other i386 ports. Only a couple of extra tweaks here and there were needed, as some targets wheren't actually calling i386_cleanup_dregs. Tested on Fedora 17 x86_64 -m64/-m32. GDBserver already fetches the i386_debug_reg_state from the right process, and, it doesn't handle forks at all, so no fix is needed over there. gdb/ 2013-02-13 Pedro Alves * amd64-linux-nat.c (update_debug_registers_callback): Update comment. (amd64_linux_dr_set_control, amd64_linux_dr_set_addr): Use iterate_over_lwps. (amd64_linux_prepare_to_resume): Pass the lwp's pid to i386_debug_reg_state. (amd64_linux_new_fork): New function. (_initialize_amd64_linux_nat): Install amd64_linux_new_fork as linux_nat_new_fork hook, and i386_forget_process as linux_nat_forget_process hook. * i386-linux-nat.c (update_debug_registers_callback): Update comment. (amd64_linux_dr_set_control, amd64_linux_dr_set_addr): Use iterate_over_lwps. (i386_linux_prepare_to_resume): Pass the lwp's pid to i386_debug_reg_state. (i386_linux_new_fork): New function. (_initialize_i386_linux_nat): Install i386_linux_new_fork as linux_nat_new_fork hook, and i386_forget_process as linux_nat_forget_process hook. * i386-nat.c (i386_init_dregs): Delete. (i386_inferior_data, struct i386_inferior_data): Delete. (struct i386_process_info): New. (i386_process_list): New global. (i386_find_process_pid, i386_add_process, i386_process_info_get): New functions. (i386_inferior_data_get): Delete. (i386_process_info_get): New function. (i386_debug_reg_state): New parameter 'pid'. Reimplement. (i386_forget_process): New function. (i386_cleanup_dregs): Rewrite. (i386_update_inferior_debug_regs, i386_insert_watchpoint) (i386_remove_watchpoint, i386_region_ok_for_watchpoint) (i386_stopped_data_address, i386_insert_hw_breakpoint) (i386_remove_hw_breakpoint): Adjust to pass the current process id to i386_debug_reg_state. (i386_use_watchpoints): Don't register inferior data. * i386-nat.h (i386_debug_reg_state): Add new 'pid' parameter, and adjust comment. (i386_forget_process): Declare. * linux-fork.c (delete_fork): Call linux_nat_forget_process. * linux-nat.c (linux_nat_new_fork, linux_nat_forget_process_hook): New static globals. (linux_child_follow_fork): Don't call linux_nat_new_thread here. (add_initial_lwp): New, factored out from ... (add_lwp): ... this. Don't check the number of lwps before calling linux_nat_new_thread. (linux_nat_iterate_watchpoint_lwps): Delete. (linux_nat_attach): Use add_initial_lwp instead of add_lwp. (linux_handle_extended_wait): Call the linux_nat_new_fork hook on forks and vforks. (linux_nat_wait_1): Use add_initial_lwp instead of add_lwp for the initial lwp. (linux_nat_kill, linux_nat_mourn_inferior): Call linux_nat_forget_process. (linux_nat_set_new_fork, linux_nat_set_forget_process) (linux_nat_forget_process): New functions. * linux-nat.h (linux_nat_iterate_watchpoint_lwps_ftype): Delete type. (linux_nat_iterate_watchpoint_lwps): Delete declaration. (linux_nat_new_fork_ftype, linux_nat_forget_process_ftype): New types. (linux_nat_set_new_fork, linux_nat_set_forget_process) (linux_nat_forget_process): New declarations. * amd64fbsd-nat.c (super_mourn_inferior): New global. (amd64fbsd_mourn_inferior): New function. (_initialize_amd64fbsd_nat): Override to_mourn_inferior. * windows-nat.c (windows_detach): Call i386_cleanup_dregs. commit 2ded1ce75868b078e1b207eebae089b4f1d4d33b Author: mshawcroft Date: Wed Feb 13 14:32:56 2013 +0000 Fix ARI gripe about missing _(). commit 94f3bcf9888132a605e8e54b932fc31d9ccedcc3 Author: Richard Sandiford Date: Wed Feb 13 14:08:55 2013 +0000 bfd/ * elfxx-mips.c (mips_got_page_ref): New structure. (mips_got_page_entry): Use a section rather than a (bfd, symndx) pair to represent the anchor point. (mips_got_info): Add a got_page_refs field. (mips_elf_link_hash_table): Add a sym_cache field. (mips_got_page_ref_hash, mips_got_page_ref_eq): New functions. (mips_got_page_entry_hash, mips_got_page_entry_eq): Update for new anchor representation. (mips_elf_create_got_info): Create got_page_refs rather than got_page_entries. (mips_elf_record_got_page_ref): New function. (mips_elf_pages_for_range): Move further down file. (mips_elf_record_got_page_entry): Likewise. Take a got as argument. Use a section rather than a (bfd, symndx) pair to represent the anchor point. (mips_elf_resolve_got_page_ref): New function. (mips_elf_resolve_final_got_entries): Use it to populate got_page_entries. (_bfd_mips_elf_check_relocs): Call mips_elf_record_got_page_ref rather than mips_elf_record_got_page_entry. Only nullify h afterwards. (mips_elf_lay_out_got): Call mips_elf_resolve_final_got_entries earlier. ld/testsuite/ * ld-mips-elf/mips16-pic-2.dd, ld-mips-elf/mips16-pic-2.gd: Remove 3 unused local GOT entries. * ld-mips-elf/got-page-4a.s, ld-mips-elf/got-page-4b.s, ld-mips-elf/got-page-4a.d, ld-mips-elf/got-page-4a.got, ld-mips-elf/got-page-4b.d, ld-mips-elf/got-page-4b.got, ld-mips-elf/got-page-5.s, ld-mips-elf/got-page-5.d, ld-mips-elf/got-page-5.got, ld-mips-elf/got-page-6.s, ld-mips-elf/got-page-6.d, ld-mips-elf/got-page-6.got, ld-mips-elf/got-page-7a.s, ld-mips-elf/got-page-7b.s, ld-mips-elf/got-page-7c.s, ld-mips-elf/got-page-7d.s, ld-mips-elf/got-page-7e.s, ld-mips-elf/got-page-7.d, ld-mips-elf/got-page-7.got: New tests. * ld-mips-elf/mips-elf.exp: Run them. commit 0f1f5839ed30d2bc56e139743ce42ee6909a946a Author: mshawcroft Date: Wed Feb 13 13:42:37 2013 +0000 ARI fix: Replace %llx with %s and phex(). 2013-02-13 Marcus Shawcroft * aarch64-linux-nat.c (debug_reg_change_callback) (aarch64_linux_get_debug_reg_capacity): ARI fix: Replace %llx with %s and phex(). commit b3dc0d70266f276bda6c6a16bd516c359b6a29ea Author: mshawcroft Date: Wed Feb 13 13:41:05 2013 +0000 ARI fix: Replace long long with LONGEST. * aarch64-linux-nat.c (dr_changed_t): ARI fix: Replace long long with LONGEST. commit f068754a3b968fe27df27ddb9be5b178f0921b79 Author: abidh Date: Wed Feb 13 10:41:08 2013 +0000 2013-02-13 Pedro Alves Hafiz Abid Qadeer * c-lang.c (c_op_print_tab): Add entry for UNOP_PLUS. commit 95c371729ac1e5eca989ecc225d9b8c664ec6389 Author: gdbadmin Date: Wed Feb 13 00:00:03 2013 +0000 *** empty log message *** commit b467a92ca345e92279601433f53529a54d1002c9 Author: Alan Modra Date: Tue Feb 12 23:00:05 2013 +0000 daily update commit 8fdba71bc50cbf49c4cd646994124b8066a951a7 Author: Tom Tromey Date: Tue Feb 12 20:27:33 2013 +0000 PR symtab/11464: * c-exp.y (lex_one_token): Initialize other fields of yylval on NAME return. (classify_inner_name): Remove 'first_name' argument, add 'context'. Remove unused variable. (yylex): Explicitly maintain the context type. Exit loop earlier if NAME result is seen. gdb/testsuite * gdb.cp/m-static.cc (gnu_obj_1::~gnu_obj_1): New destructor. * gdb.cp/m-static.exp: Add tests to print quoted destructor. commit fc1c4ba74c4d0020eb2007fea3bd0f3c3521262d Author: Pedro Alves Date: Tue Feb 12 19:03:53 2013 +0000 Consistent use of (C) after "Copyright". While writing the previous patch, I noticed that we're not consistent with the (C) in the copyright header. The maintainers manual prefers having it, though also says it's optional. We have over 10x more files with (C) than without in gdb's code, so I spent a few minutes grepping and fixing. Funny enough, the testsuite has it backwards. I'll leave that for another time. gdb/ 2013-02-12 Pedro Alves * amd64-darwin-tdep.c: Add (C) after Copyright. * cli/cli-cmds.h: Ditto. * cli/cli-decode.c: Ditto. * cli/cli-decode.h: Ditto. * cli/cli-dump.c: Ditto. * cli/cli-dump.h: Ditto. * cli/cli-interp.c: Ditto. * cli/cli-logging.c: Ditto. * cli/cli-script.c: Ditto. * cli/cli-script.h: Ditto. * cli/cli-setshow.c: Ditto. * cli/cli-setshow.h: Ditto. * cli/cli-utils.c: Ditto. * cli/cli-utils.h: Ditto. * config/alpha/nm-osf3.h: Ditto. * config/djgpp/djconfig.sh: Ditto. * config/i386/nm-fbsd.h: Ditto. * config/i386/nm-i386gnu.h: Ditto. * config/nm-linux.h: Ditto. * config/nm-nto.h: Ditto. * config/rs6000/nm-rs6000.h: Ditto. * config/sparc/nm-sol2.h: Ditto. * darwin-nat-info.c: Ditto. * dfp.c: Ditto. * dfp.h: Ditto. * gdb-demangle.h: Ditto. * i386-darwin-nat.c: Ditto. * i386-darwin-tdep.c: Ditto. * linux-fork.h: Ditto. * m32c-tdep.c: Ditto. * microblaze-linux-tdep.c: Ditto. * microblaze-rom.c: Ditto. * microblaze-tdep.c: Ditto. * microblaze-tdep.h: Ditto. * mips-linux-tdep.h: Ditto. * ppc-ravenscar-thread.c: Ditto. * ppc-ravenscar-thread.h: Ditto. * prologue-value.c: Ditto. * prologue-value.h: Ditto. * ravenscar-thread.c: Ditto. * ravenscar-thread.h: Ditto. * sparc-ravenscar-thread.c: Ditto. * sparc-ravenscar-thread.h: Ditto. * tilegx-linux-tdep.c: Ditto. * unwind_stop_reasons.def: Ditto. * windows-nat.h: Ditto. * xtensa-linux-tdep.c: Ditto. * xtensa-xtregs.c: Ditto. * regformats/regdat.sh: Ditto. * regformats/regdef.h: Ditto. gdb/gdbserver/ 2013-02-12 Pedro Alves * linux-xtensa-low.c: Ditto. * xtensa-xtregs.c: Ditto. commit e93a7af149f7305efab382010e34a76259491e09 Author: Pedro Alves Date: Tue Feb 12 18:27:23 2013 +0000 Update some copyright years. Some files managed to get in the tree with outdated copyright years. This fixes it. Applied. gdb/ 2013-02-12 Pedro Alves * break-catch-sig.c: Update copyright years. gdb/testsuite/ 2013-02-12 Pedro Alves * gdb.base/catch-signal.c: Update copyright years. * gdb.base/catch-signal.exp: Update copyright years. * gdb.dwarf2/dw2-dir-file-name.c: Update copyright years. * gdb.dwarf2/dw2-dir-file-name.exp: Update copyright years. * gdb.dwarf2/dw2-empty-pc-range.S: Update copyright years. * gdb.dwarf2/dw2-error.S: Update copyright years. * gdb.dwarf2/dw2-error.c: Update copyright years. * gdb.dwarf2/dw2-restrict.S: Update copyright years. * gdb.dwarf2/dw2-restrict.c: Update copyright years. * gdb.dwarf2/dw2-restrict.exp: Update copyright years. commit 33992ec6633e0d6066aa6ab469f406e9d0bb448f Author: Pedro Alves Date: Tue Feb 12 17:54:21 2013 +0000 Fix some pastos in the testsuite. 2013-02-12 Pedro Alves * gdb.base/catch-signal.exp: Correct test file name in "Skipping" message. * gdb.base/sigaltstack.exp: Ditto. * gdb.base/siginfo.exp: Ditto. * gdb.base/sizeof.exp: Ditto. commit 474cf2cc7f2247300cdbe3fd19590676fb99f439 Author: Pedro Alves Date: Tue Feb 12 16:36:04 2013 +0000 Tweak intro comments to some MI test files. A while ago I noticed there's some blind copy/pasting going on some test intro comments. This fixes some instances, in the MI testsuite. Tested on x86_64 Fedora 17. testsuite/ 2013-02-12 Pedro Alves * gdb.mi/mi-basics.exp: Tweak intro comment. * gdb.mi/mi-break.exp: Tweak intro comment. * gdb.mi/mi-console.exp: Tweak intro comment. * gdb.mi/mi-file.exp: Tweak intro comment. * gdb.mi/mi-read-memory.exp: Tweak intro comment. * gdb.mi/mi-return.exp: Tweak intro comment. * gdb.mi/mi-stepi.exp: Tweak intro comment. * gdb.mi/mi-until.exp: Tweak intro comment. * gdb.mi/mi-watch.exp: Tweak intro comment. commit a55a37b591ef85da0c59d356f9dc27e307a71153 Author: Pedro Alves Date: Tue Feb 12 15:18:33 2013 +0000 Fix whitespace. commit b3472c2feb609b242455c55e6d9852570f86c356 Author: Pedro Alves Date: Tue Feb 12 15:13:39 2013 +0000 Fix whitespace. commit 08db2a28ae8c02d7b12fe753b3b43bfdec671e66 Author: Pedro Alves Date: Tue Feb 12 15:03:12 2013 +0000 From: Sanimir Agovic null ptr check to prevent gdbserver from crashing Evaluating a thread local storage variable in a remote scenario crashes gdbserver if libthread-db could not be loaded. 2013-02-12 Sanimir Agovic gdbserver/ * thread-db.c (thread_db_get_tls_address): NULL pointer check thread_db. testsuite/ * gdb.server/no-thread-db.exp: New file. * gdb.server/no-thread-db.c: New file. * gdb.server/Makefile.in (EXECUTABLES): Add no-thread-db. commit e5cf76c390c79b56c418c8c96436b0c1b91ebb47 Author: Richard Sandiford Date: Tue Feb 12 09:54:56 2013 +0000 bfd/ * elfxx-mips.c (mips_elf_lay_out_got): Count VxWorks GOT relocs in g->relocs. commit cd0c7f4926edab545fdcf0bdc7de364b2ff09448 Author: sivachandra Date: Tue Feb 12 01:47:43 2013 +0000 Add support for a destructor for ui_out data and use it to provide a ui_out destructor. * ui-out.h: Declare the new ui_out destructor. (ui_out_impl): Add a field for data destructor in ui_out_impl. * ui-out.c (default_data_destroy): Add a default data destructor which does nothing. (default_ui_out_impl): Set the new data_destroy field to default_data_destroy (uo_data_destroy): Local function which invokes the data destructor if present. (clear_table): Local function which clears the table data of a ui_out object. (ui_out_destroy): Public function which frees a ui_out object. (ui_out_table_end): Use the new clear_table function. * cli-out.c (cli_ui_out_impl): Set the new data_destroy field to NULL. * mi/mi-out.c (mi_ui_out_impl): Set the new data_destroy field to NULL. commit e72519f682930d142265d90344d6cdf56b3ef98a Author: gdbadmin Date: Tue Feb 12 00:00:04 2013 +0000 *** empty log message *** commit 885be930bc7ae0672dce82b9857636833bd3b091 Author: Alan Modra Date: Mon Feb 11 23:00:04 2013 +0000 daily update commit 1a2e803597daace9df84c707e5cbda6d2715df02 Author: Doug Evans Date: Mon Feb 11 22:44:23 2013 +0000 (printf_c_string): Fix thinko in comment. (printf_wide_c_string): Ditto. commit 10f6f2b3336373f7ca107ab3a63e6287286c0e6b Author: Alan Modra Date: Mon Feb 11 22:15:51 2013 +0000 * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Provide suitable definition when using generic linker hash table. commit 28279c63fe40427e66b84b31df2ddf1a2ab196ab Author: Doug Evans Date: Mon Feb 11 22:04:54 2013 +0000 * printcmd.c (printf_c_string,printf_wide_c_string): New functions. (printf_decfloat): New function. Broken out from ui_printf. Remove unnecessary code to shift the entire format string down. (printf_pointer): New function. (ui_printf): Code to print C strings, wide C strings, decfloats, and pointers moved to separate functions. commit a22afbdf028e403bec6bad17d4efa1c974325601 Author: tmsriram Date: Mon Feb 11 19:36:56 2013 +0000 This patch assigns explicit integers to enum values corresponding to the plugin API. This patch helps preventing problems while cherry-picking plugin-api.h changes from trunk gold to local branches. For instance, a linker plugin compiled with a cherry-picked plugin-api.h header with some enum values missing will behave strangely when used with a linker built with the up to date header. * plugin-api.h (enum ld_plugin_level): Assign integers explicitly for all values. commit d647eded2302197ade63ece6b8f94da6ed119b2e Author: Richard Sandiford Date: Mon Feb 11 18:20:51 2013 +0000 bfd/ * elfxx-mips.c (mips_elf_count_got_entries): Delete. (mips_elf_check_recreate_got, mips_elf_recreate_got): Take a mips_elf_traverse_got_arg. Count GOT entries. (mips_elf_resolve_final_got_entries): Take the bfd_link_info as argument. Update after above changes. (mips_elf_merge_got, mips_elf_lay_out_got): Don't call mips_elf_count_got_entries. Update the calls to mips_elf_resolve_final_got_entries. commit beee1ab7a53c783e0fffb8c98390d8d7807e8277 Author: Richard Sandiford Date: Mon Feb 11 18:17:57 2013 +0000 bfd/ * elfxx-mips.c (mips_got_tls_type): New enum. (mips_got_entry): Add tls_initialized. (mips_elf_got_entry_hash, mips_elf_got_entry_eq, mips_tls_got_relocs) (mips_elf_count_got_entry, mips_elf_initialize_tls_index): Remove GOT_TLS_TYPE masks. (mips_elf_reloc_tls_type, mips_tls_got_entries) (mips_elf_record_global_got_symbol, mips_elf_initialize_tls_index) (_bfd_mips_elf_finish_dynamic_symbol): Use GOT_TLS_NONE rather than GOT_NORMAL. (mips_elf_initialize_tls_slots): Replace got_offset and tls_type_p arguments with a GOT entry. Remove GOT_TLS_TYPE masks. Use tls_initialized rather than GOT_TLS_DONE. (mips_tls_got_index): Delete. (mips_elf_local_got_index, mips_elf_global_got_index): Use mips_elf_initialize_tls_slots rather than mips_tls_got_index. (mips_elf_record_got_entry): Initialize tls_initialized. commit 8f505c9ddb3285c0a345ae354c5dd14425bc9e3b Author: Richard Sandiford Date: Mon Feb 11 18:15:46 2013 +0000 bfd/ * elfxx-mips.c (mips_got_entry): Remove tls_ldm_offset. (mips_elf_link_hash_entry): Remove tls_ie_type, tls_gd_type, tls_ie_got_offset and tls_gd_got_offset. (mips_elf_link_hash_newfunc): Remove initialization. (mips_elf_create_got_info): Likewise. (mips_elf_count_local_got_entries, mips_elf_count_global_tls_entries) (mips_tls_single_got_index): Delete. (mips_elf_local_got_index): Always use the GOT entry to track GOT indices. (mips_elf_global_got_index): Likewise. (mips_elf_create_local_got_entry): Assert that TLS entries have already been allocated. (mips_elf_record_global_got_symbol): Don't initialize tls_ie_type or tls_gd_type. (mips_elf_count_got_symbols): Only count reloc-only GOT entries here. (mips_elf_initialize_tls_index): Allocate a GOT index for every TLS entry. (mips_elf_lay_out_got): Use mips_elf_count_got_entries to count the GOT entries. (_bfd_mips_elf_finish_dynamic_symbol): Assert that TLS GOT offsets have been allocated. (_bfd_mips_elf_copy_indirect_symbol): Remove handling of tls_ie_type and tls_gd_type. commit 3d3a450a6f63b712c5443af589eeb04e228b2ce2 Author: Richard Sandiford Date: Mon Feb 11 18:12:27 2013 +0000 bfd/ * elfxx-mips.c (mips_elf_create_local_got_entry): Tidy. Avoid aliasing violation. Check for htab allocation failures. commit 4542d588786848d0e0d7d6b611ceab61e2c12dda Author: Richard Sandiford Date: Mon Feb 11 18:11:17 2013 +0000 bfd/ * elfxx-mips.c (mips_elf_primary_global_got_index): New function, split out from... (mips_elf_global_got_index): ...here. Reorder arguments so that the output bfd and info come first. (mips_elf_calculate_relocation): Update the call to mips_elf_global_got_index accordingly. (_bfd_mips_elf_finish_dynamic_symbol): Use mips_elf_primary_global_got_index rather than mips_elf_global_got_index. (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise. commit b6d81b6ecc750cc776d03801e04bc11938c20a17 Author: Richard Sandiford Date: Mon Feb 11 18:09:23 2013 +0000 bfd/ * elfxx-mips.c (mips_got_entry): Update comments. (mips_elf_multi_got_entry_eq): Rename to... (mips_elf_got_entry_eq): ...this, deleting the old definition. (mips_elf_create_got_info): Remove master_got_p argument. Always use mips_elf_got_entry_eq. (mips_elf_bfd_got, mips_elf_multi_got, mips_elf_create_got_section): Update calls accordingly. ld/testsuite/ * ld-mips-elf/tlsdyn-o32-1.d, ld-mips-elf/tlsdyn-o32-1.got, ld-mips-elf/tlsdyn-o32-2.d, ld-mips-elf/tlsdyn-o32-2.got, ld-mips-elf/tlsdyn-o32-3.d, ld-mips-elf/tlsdyn-o32-3.got, ld-mips-elf/tls-hidden3.d, ld-mips-elf/tls-hidden3.got: Update for new hash table order. commit 383865b114ee36021fafe715ffc2890e43cd97b0 Author: Richard Sandiford Date: Mon Feb 11 18:06:08 2013 +0000 bfd/ * elfxx-mips.c (mips_got_info): Remove bfd2got. (mips_elf_bfd2got_hash): Delete. (mips_elf_got_per_bfd_arg): Remove bfd2got. (mips_elf_replace_bfd_got, mips_elf_count_got_entries): New functions. (mips_elf_global_got_index, mips_elf_create_local_got_entry): Use g->next to test for the multigot case. Use mips_elf_bfd_got rather than mips_elf_got_for_ibfd. (mips_elf_bfd2got_entry_hash, mips_elf_bfd2got_entry_eq) (mips_elf_got_for_ibfd, mips_elf_get_got_for_bfd): Delete. (mips_elf_make_got_per_bfd): Replace with... (mips_elf_add_got_entry): ...this new function. (mips_elf_make_got_pages_per_bfd): Replace with... (mips_elf_add_got_page_entry): ...this new function. (mips_elf_merge_got_with): Replace bfd2got argument with separate bfd and GOT arguments. Use mips_elf_add_got_entry and mips_elf_add_got_page_entry instead of mips_elf_make_got_per_bfd and mips_elf_make_got_pages_per_bfd. Use mips_elf_replace_bfd_got to set the BFD's GOT and free the old table. (mips_elf_merge_got): Replace bfd2got argument with separate bfd and GOT arguments. Apply mips_elf_resolve_final_got_entries. Use mips_elf_count_got_entries to count the number of entries in each GOT. Update the calls to mips_elf_merge_got_with. (mips_elf_adjust_gp): Use g->next to test for the multigot case. Use mips_elf_bfd_got rather than mips_elf_got_for_ibfd. (mips_elf_multi_got): Don't create the bfd2got hash table. Replace hash table traversal with a walk over the input bfds, updating the call to mips_elf_merge_got. Use mips_elf_replace_bfd_got to set the output bfd's GOT. (mips_elf_lay_out_got): Rename "sub" to "ibfd". Record that all bfds use the master GOT in the single-GOT case. (_bfd_mips_elf_finish_dynamic_sections): Use mips_elf_bfd_got rather than mips_elf_got_for_ibfd. ld/testsuite/ * ld-mips-elf/tls-hidden4.got, ld-mips-elf/tls-multi-got-1.d, ld-mips-elf/tls-multi-got-1.got: Update for changes in the order that symbols are added to per-bfd GOTs. commit c49d0feb95645f78a43adf6cc383327b6b7ef9aa Author: sergiodj Date: Mon Feb 11 18:05:31 2013 +0000 gdb/: 2013-02-11 Sergio Durigan Junior * valops.c (value_assign): Handling bitfield offset in `lval_internalvar_component' case. gdb/testsuite/: 2013-02-11 Sergio Durigan Junior * gdb.base/bitfields.c (struct internalvartest): New declaration. * gdb.base/bitfields.exp (bitfield_internalvar): New function. commit f3249171fca176cbdbc1afd92823610494584615 Author: Richard Sandiford Date: Mon Feb 11 18:01:58 2013 +0000 bfd/ * elfxx-mips.c (mips_elf_obj_tdata): Add a got field. (mips_elf_bfd_got, mips_elf_record_got_entry): New functions. (mips_elf_record_global_got_symbol): Update the hash entry before adding the mips_got_entry. Use mips_elf_record_got_entry to do the latter. (mips_elf_record_local_got_symbol): Use mips_elf_record_got_entry. (mips_elf_record_got_page_entry): Record the entry in both the master and bfd GOTs. commit 6b53f41605d611b3532ff0f09dcf29224d7fbdac Author: Richard Sandiford Date: Mon Feb 11 17:59:31 2013 +0000 bfd/ * elfxx-mips.c (mips_elf_recreate_got): Don't change the entry; create another one if necessary. (mips_elf_set_gotidx): New function. (mips_elf_set_global_gotidx): Use it. (mips_elf_initialize_tls_index): Likewise. Take a mips_elf_traverse_got_arg as argument. (mips_elf_lay_out_got): Update use of mips_elf_initialize_tls_index. (mips_elf_multi_got): Likewise. Cope with error returns from mips_elf_set_global_gotidx. commit 7017051e05c0167f14c6b2247e033986df362767 Author: Richard Sandiford Date: Mon Feb 11 17:55:27 2013 +0000 bfd/ * elfxx-mips.c (mips_got_info): Add relocs field. (mips_elf_set_global_got_offset_arg, mips_elf_count_tls_arg): Replace with... (mips_elf_traverse_got_arg): ...this new structure. (mips_elf_count_local_tls_relocs): Delete. (mips_elf_count_global_tls_relocs): Likewise. (mips_elf_count_got_entry): New function. (mips_elf_count_local_got_entries): Likewise. (mips_elf_count_global_tls_entries): Take a mips_elf_traverse_got_arg rather than a mips_elf_count_tls_arg. Count both relocs and entries. (mips_elf_record_local_got_symbol): Don't count got entries here. (mips_elf_make_got_per_bfd): Use mips_elf_count_got_entry. (mips_elf_set_global_got_offset): Split into... (mips_elf_set_global_got_area, mips_elf_set_global_gotidx): ...these new functions. Take a mips_elf_traverse_got_arg rather than a mips_elf_set_global_got_offset_arg. Don't count TLS relocs here. Use g->relocs to record the number of relocs needed for global GOT entries. (mips_elf_multi_got): Use mips_elf_traverse_got_arg rather than mips_elf_set_global_got_offset_arg. Use the relocs field to count relocations. Update for above function split. (mips_elf_lay_out_got): Use mips_elf_count_local_got_entries to count both the number of GOT entries and the number of TLS relocs required by local entries. Likewise mips_elf_count_global_tls_entries and global entries. Remove uses of mips_elf_count_local_tls_relocs and mips_elf_count_global_tls_relocs. commit 2b72873325f8ba0c1da0cb73f4dd4951206c81a2 Author: Richard Sandiford Date: Mon Feb 11 17:54:15 2013 +0000 bfd/ * elfxx-mips.c (mips_got_entry): Update comment above tls_type entry to say that each structure represents only one type of TLS reference. (GOT_TLS_TYPE): New define. (mips_elf_link_hash_entry): Temporarily split tls_type and tls_got_offset into two variables each. (mips_elf_link_hash_newfunc): Update accordingly. (mips_elf_got_entry_eq, mips_elf_got_entry_hash) (mips_elf_multi_got_entry_eq): Require the tls_type to be the same. (mips_elf_reloc_tls_type, mips_tls_got_entries): New functions. (mips_tls_got_relocs): Use a switch statement. (mips_elf_count_global_tls_entries): Handle the new hash entry fields. (mips_elf_initialize_tls_slots): Use a switch statement. Avoid local "offset" variable. (mips_tls_got_index): Remove r_type argument and assert. Remove code that handled entries with two TLS types; always use the original got_index instead. (mips_tls_single_got_index): New function. (mips_elf_local_got_index): Use entry->tls_type to check for TLS entries. Use mips_tls_single_got_index. Update call to mips_tls_got_index. (mips_elf_global_got_index): Use mips_elf_reloc_tls_type. Use p->tls_type to check for TLS entries. Update call to mips_tls_got_index. Use mips_tls_single_got_index. (mips_elf_create_local_got_entry): Use mips_elf_reloc_tls_type. Use entry.tls_type to check for TLS entries. (mips_elf_record_global_got_symbol): Replace tls_flag argument with r_type argument. Use mips_elf_reloc_tls_type. Set up the new hash entry fields. (mips_elf_record_local_got_symbol): Replace tls_flag argument with r_type argument. Use mips_elf_reloc_tls_type and mips_tls_got_entries. Remove code that handled entries with multiple TLS types. (mips_elf_make_got_per_bfd): Use mips_tls_got_entries. (mips_elf_initialize_tls_index): Handle new hash entry fields. Use equality rather than masks when checking for specific TLS types. Use mips_tls_got_entries. Remove code that handled entries with multiple TLS types. (mips_elf_calculate_relocation): Use TLS_RELOC_P instead of testing the hash table entry. (_bfd_mips_elf_check_relocs): Update calls to mips_elf_record_global_got_symbol and mips_elf_record_local_got_symbol. (_bfd_mips_elf_finish_dynamic_symbol): Don't check h->type. (_bfd_mips_elf_copy_indirect_symbol): Handle new hash entry fields. commit 840350c014a2d2bbd0195008299c844dd1f0ea7e Author: Richard Sandiford Date: Mon Feb 11 17:46:01 2013 +0000 bfd/ * elfxx-mips.c (mips_elf_multi_got_entry_hash): Rename to... (mips_elf_got_entry_hash): ...this, deleting the old version. (mips_elf_create_got_info): Use mips_elf_got_entry_hash for both types of GOT. ld/testsuite/ * ld-mips-elf/tls-hidden3.d, ld-mips-elf/tls-hidden3.got, ld-mips-elf/tls-multi-got-1.got, ld-mips-elf/tlsbin-o32.d, ld-mips-elf/tlsbin-o32.got, ld-mips-elf/tlsdyn-o32-1.d, ld-mips-elf/tlsdyn-o32-1.got, ld-mips-elf/tlsdyn-o32-2.d, ld-mips-elf/tlsdyn-o32-2.got, ld-mips-elf/tlsdyn-o32-3.d, ld-mips-elf/tlsdyn-o32-3.got, ld-mips-elf/tlsdyn-o32.d, ld-mips-elf/tlsdyn-o32.got, ld-mips-elf/tlslib-o32.d, ld-mips-elf/tlslib-o32.got, ld-mips-elf/tlslib-o32-hidden.got, ld-mips-elf/tlslib-o32-ver.got: Adjust GOT layout for new got_entry hash function. commit 3543d8a6e3d08309192845bf3dadb74009fdffef Author: Richard Sandiford Date: Mon Feb 11 17:43:00 2013 +0000 bfd/ * elfxx-mips.c (mips_elf_create_got_info): New function. (mips_elf_get_got_for_bfd, mips_elf_multi_got): Use it. (mips_elf_create_got_section): Likewise. commit adfe559787c488f86b3daeca61b764646002cbee Author: Richard Sandiford Date: Mon Feb 11 17:40:51 2013 +0000 bfd/ * elfxx-mips.c (mips_elf_record_local_got_symbol): Always set gotidx to -1. commit 402808596492c19361bac68b63a2358c25e00d29 Author: Richard Sandiford Date: Mon Feb 11 17:38:53 2013 +0000 bfd/ * elfxx-mips.c (mips_elf_multi_got): Simplify size calculation. commit 12ca8393a910e38fe91954c212ab073c20d00375 Author: Richard Sandiford Date: Mon Feb 11 17:31:23 2013 +0000 bfd/ * elfxx-mips.c (mips_got_info): Move global_gotsym to... (mips_elf_link_hash_table): ...here. Update rest of file accordingly. commit d1826608e0406478ca90b78fb2ab116cf961b5ab Author: Richard Sandiford Date: Mon Feb 11 17:29:31 2013 +0000 bfd/ * elfxx-mips.c (mips_elf_count_global_tls_entries) (mips_elf_count_global_tls_relocs): Don't count indirect or warning symbols. (mips_elf_multi_got, mips_elf_lay_out_got): Assert that the right number of TLS entries were allocated. ld/testsuite/ * ld-mips-elf/tlsdyn-o32-2.got, ld-mips-elf/tlsdyn-o32-3.got: Remove unused GOT entries. commit fba287e05df4ade113ca3aec1bc825a9eac74683 Author: Richard Sandiford Date: Mon Feb 11 17:27:57 2013 +0000 bfd/ * elfxx-mips.c (mips_elf_sort_hash_table_f): Remove asserts. commit feb3e965d73d7eef6f0304bc1421abeeebbda215 Author: Richard Sandiford Date: Mon Feb 11 17:25:23 2013 +0000 bfd/ * elfxx-mips.c (mips_elf_merge_got_with): Only use arg->global_count if there are TLS relocations. commit f21b21e99c38d69e73e099279432586963ade8f4 Author: Richard Sandiford Date: Mon Feb 11 17:21:30 2013 +0000 bfd/ * elfxx-mips.c (mips_elf_recreate_got): Remove free. (mips_elf_resolve_final_got_entries): Remove bogus comment. commit 2465c0056183b4519d5b822f2aa4dc99416af0b8 Author: Richard Earnshaw Date: Mon Feb 11 10:15:51 2013 +0000 2013-02-11 Kyrylo Tkachov * arm-dis.c: Update strht pattern. * gas/arm/archv6t2.s: Add strht and ldrht tests. * gas/arm/archv6t2.d: Add disassembly patterns for the above. commit 1a713af28392e3ba688fd03d65076c05f3e97e70 Author: Alan Modra Date: Mon Feb 11 05:30:52 2013 +0000 * elfcode.h (elf_checksum_contents): Free contents. * elf-bfd.h (_bfd_elf_link_hash_table_free): Declare. * elflink.c (_bfd_elf_link_hash_table_free): New function. (elf_final_link_free): New function, extracted from.. (bfd_elf_final_link): ..here. Always call _bfd_elf_write_section_eh_frame_hdr. * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Default to _bfd_elf_link_hash_table_free. * libbfd-in.h (_bfd_merge_sections_free): Declare. * libbfd.h: Regenerate. * merge.c (_bfd_merge_sections_free): New function. * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Free hdr_info->array. * elf-m10300.c (elf32_mn10300_link_hash_table_free): Call _bfd_elf_link_hash_table_free. * elf32-arm.c (elf32_arm_link_hash_table_free): Likewise. * elf32-avr.c (elf32_avr_link_hash_table_free): Likewise. * elf32-hppa.c (elf32_hppa_link_hash_table_free): Likewise. * elf32-i386.c (elf_i386_link_hash_table_free): Likewise. * elf32-m68hc1x.c (m68hc11_elf_hash_table_free): Likewise. * elf32-m68k.c (elf_m68k_link_hash_table_free): Likewise. * elf32-metag.c (elf_metag_link_hash_table_free): Likewise. * elf32-xgate.c (xgate_elf_bfd_link_hash_table_free): Likewise. * elf64-aarch64.c (elf64_aarch64_link_hash_table_free): Likewise. * elf64-ia64-vms.c (elf64_ia64_hash_table_free): Likewise. * elf64-ppc.c (ppc64_elf_link_hash_table_free): Likewise. * elf64-x86-64.c (elf_x86_64_link_hash_table_free): Likewise. * elfnn-ia64.c (elfNN_ia64_hash_table_free): Likewise. * elf32-cr16.c (elf32_cr16_link_hash_table_free): Delete. (bfd_elf32_bfd_link_hash_table_free): Don't define. * elf32-tic6x.c (elf32_tic6x_link_hash_table_free): Delete. (bfd_elf32_bfd_link_hash_table_free): Dont' define. commit bc8e1fc739de146d65032f7f6c4afdd3261c53ea Author: gdbadmin Date: Mon Feb 11 00:00:03 2013 +0000 *** empty log message *** commit 9232a0cae073b450d9b7ff0b0837b2a217c214c9 Author: Alan Modra Date: Sun Feb 10 23:00:05 2013 +0000 daily update commit 84567b3fec434afadec8ae7ded7970a72dd7e3a9 Author: Jan Kratochvil Date: Sun Feb 10 08:05:15 2013 +0000 gdb/testsuite/ * gdb.python/py-prompt.exp: Add to the end a kill of $testpid. commit 6af095e3d594fd820e0d71487c3344660bd6ff21 Author: Alan Modra Date: Sun Feb 10 04:36:28 2013 +0000 * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_zmalloc. * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise. * m68klinux.c (linux_link_hash_table_create): Likewise. * sparclinux.c (linux_link_hash_table_create): Likewise. * sunos.c (sunos_link_hash_table_create): Likewise. * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise. * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise. * elf32-arm.c (elf32_arm_link_hash_table_create): Likewise. * elf32-avr.c (elf32_avr_link_hash_table_create): Likewise. * elf32-cr16.c (elf32_cr16_link_hash_table_create): Likewise. * elf32-cris.c (elf_cris_link_hash_table_create): Likewise. * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise. * elf32-i386.c (elf_i386_link_hash_table_create): Likewise. * elf32-lm32.c (lm32_elf_link_hash_table_create): Likewise. * elf32-m32r.c (m32r_elf_link_hash_table_create): Likewise. * elf32-m68hc1x.c (m68hc11_elf_hash_table_create): Likewise. * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise. * elf32-metag.c (elf_metag_link_hash_table_create): Likewise. * elf32-nios2.c (nios2_elf32_link_hash_table_create): Likewise. * elf32-s390.c (elf_s390_link_hash_table_create): Likewise. * elf32-score.c (elf32_score_link_hash_table_create): Likewise. * elf32-spu.c (spu_elf_link_hash_table_create): Likewise. * elf32-tic6x.c (elf32_tic6x_link_hash_table_create): Likewise. * elf32-vax.c (elf_vax_link_hash_table_create): Likewise. * elf32-xgate.c (xgate_elf_bfd_link_hash_table_create): Likewise. * elf32-xtensa.c (elf_xtensa_link_hash_table_create): Likewise. * elf64-aarch64.c (elf64_aarch64_link_hash_table_create): Likewise. * elf64-s390.c (elf_s390_link_hash_table_create): Likewise. * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise. * elf64-x86-64.c (elf_x86_64_link_hash_table_create): Likewise. * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise. * elflink.c (_bfd_elf_link_hash_table_create): Likewise. (_bfd_elf_link_hash_table_init): Assume zero fill table on entry. commit ce73e757740005a6c639d3ada223d3cc44c968cf Author: Alan Modra Date: Sun Feb 10 04:01:14 2013 +0000 * i386linux.c (linux_link_hash_table_create): Allocate table with bfd_zmalloc, not bfd_alloc. * pdp11.c (link_hash_table_create): Allocate table with bfd_malloc, not bfd_alloc. * elf32-bfin.c (bfinfdpic_elf_link_hash_table_create): Allocate table with bfd_zmalloc, not bfd_zalloc. (bfin_link_hash_table_create): Likewise. * elf32-frv.c (frvfdpic_elf_link_hash_table_create): Likewise. * elf64-hppa.c (elf64_hppa_hash_table_create): Likewise. commit 560e4e5fc1bcce922e124c6c5879d0ab755dab40 Author: Alan Modra Date: Sun Feb 10 02:19:16 2013 +0000 PR ld/15113 * elf32-sh.c (sh_elf_link_hash_table_create): Use bfd_zmalloc. commit 283aa61e130421a42a9184076d157d6023871d2d Author: gdbadmin Date: Sun Feb 10 00:00:33 2013 +0000 *** empty log message *** commit 4d96dbca0f160dd3b7f2299e8081e030cd7db7cf Author: Alan Modra Date: Sat Feb 9 23:00:07 2013 +0000 daily update commit d114c65446eeb0717a272b90248e437d4326ee0c Author: DJ Delorie Date: Sat Feb 9 19:22:49 2013 +0000 merge from gcc commit ef39398ba8496aa717909c815a9d2c41a115df4e Author: Richard Sandiford Date: Sat Feb 9 10:24:18 2013 +0000 gas/ 2013-02-09 Jürgen Urban * config/tc-mips.c (CPU_HAS_LDC1_SDC1): New macro. (macro): Use it. Assert that trunc.w.s is not used for r5900. opcodes/ 2013-02-09 Jürgen Urban * mips-opc.c (mips_builtin_opcodes): Enable l.d and s.d macros for single-float. Disable ll, lld, sc and scd for EE. Disable the trunc.w.s macro for EE. gas/testsuite/ 2013-02-09 Jürgen Urban * gas/mips/24k-triple-stores-2.d, gas/mips/24k-triple-stores-2.s, gas/mips/micromips@24k-triple-stores-2.d: Move "sc" tests to... * gas/mips/24k-triple-stores-2-llsc.d, gas/mips/24k-triple-stores-2-llsc.s, gas/mips/micromips@24k-triple-stores-2-llsc.d: ...these new tests. * gas/mips/r5900-full.d, gas/mips/r5900-full.s: Verify that the MIPS ISA level can be upgraded to support ll, sc, lld and scd. * gas/mips/l_d-single.d, gas/mips/s_d-single.d, gas/mips/r5900-nollsc.l, gas/mips/r5900-nollsc.s: New tests. * gas/mips/mips.exp: Update accordingly. Add "nollsc" to r5900 properties. commit 65ccee137a63dca5554cc9f689da9b1d3aa61324 Author: gdbadmin Date: Sat Feb 9 00:00:35 2013 +0000 *** empty log message *** commit a6bfa7a79bc37f4b19ee5bea459f1d519b8029d1 Author: Alan Modra Date: Fri Feb 8 23:00:06 2013 +0000 daily update commit 6d8372ae56145f11173e4513df5469b895b0854f Author: Doug Evans Date: Fri Feb 8 22:52:17 2013 +0000 * common/format.c (parse_format_string): Fix whitespace. commit 14ee1f16a7b7f0f6624404371a2904a73919400d Author: Nick Clifton Date: Fri Feb 8 17:14:49 2013 +0000 (elf_metag_adjust_dynamic_symbol): Don't error on zero size dynbss symbol. commit a00db270f452a3081d0c9f4b06664372a7f74534 Author: Nick Clifton Date: Fri Feb 8 17:11:33 2013 +0000 * elf32-metag.c: Use bfd_get_linker_section to get SEC_LINKER_CREATED sections. commit a005f4de8e6cabdbba21d6ea8c1ab8bebfe0933b Author: mgretton Date: Fri Feb 8 13:55:08 2013 +0000 * stack.c (return_command): Work around uninitialized variable warning. commit c2c98f58f6b4018c2f1ce1b4b7d3f63ff3769f23 Author: yufeng Date: Fri Feb 8 12:46:27 2013 +0000 gdb/ 2013-02-08 Yufeng Zhang * aarch64-linux-tdep.c (AARCH64_LINUX_SIZEOF_GREGSET): Change the number of the registers from 36 to 34. commit b2b8c16707d133be2d9b9d45904cd8610ed41323 Author: yufeng Date: Fri Feb 8 12:32:41 2013 +0000 bfd/ 2013-02-08 Yufeng Zhang * elf64-aarch64.c (elf64_aarch64_grok_prstatus): Change 'size' from 288 to 272. commit f17e8198bdfc430f13816aba90c1e5f6130b9424 Author: mshawcroft Date: Fri Feb 8 11:11:43 2013 +0000 Update NEWS to mention new AArch64 native and target support. commit 05526ff4f2b45a777d766ab9c5a2c2f686dd20be Author: mshawcroft Date: Fri Feb 8 09:12:34 2013 +0000 Adding myself to MAINTAINERS. 2013-02-08 Marcus Shawcroft * MAINTAINERS (Write After Approval): Add myself. commit 578c1a85535896828953bb2e99b43d0c18348f5a Author: mshawcroft Date: Fri Feb 8 09:00:33 2013 +0000 Adding aarch64-linux-nat support. 2013-02-08 Jim MacArthur Marcus Shawcroft Nigel Stephens Yufeng Zhang * aarch64-linux-nat.c: New file. * config/aarch64/linux.mh: New file. * configure.host: Add AArch64. * Makefile.in (ALLDEPFILES): Add aarch64-linux-nat.c. commit b7ddbcebfdcf1fe752a2acdf3c2dd20b813b024c Author: Alan Modra Date: Fri Feb 8 07:04:48 2013 +0000 PR binutils/15106 * elf-bfd.h (struct elf_obj_tdata): Add elf_find_function_cache. * elf.c (elf_find_function): Revert last change. Use new tdata field rather than static vars for cache. commit f37d44876de8e164f5ce16029ab8c21ea68333bf Author: H.J. Lu Date: Fri Feb 8 01:33:00 2013 +0000 Set STB_GNU_UNIQUE only if symbol is defined in regular object bfd/ PR ld/15107 * elflink.c (elf_link_output_extsym): Set STB_GNU_UNIQUE only if symbol is defined in regular object. ld/testsuite/ PR ld/15107 * ld-unique/unique_empty.s: Add reference to "b". commit 01a3a94ccff020af8c57e8d276de05b9633e77c1 Author: gdbadmin Date: Fri Feb 8 00:00:02 2013 +0000 *** empty log message *** commit ea36387489f01abf4f88b3f8b5711befdfd8ae49 Author: Alan Modra Date: Thu Feb 7 23:00:05 2013 +0000 daily update commit 40c11239fec9e6e99e83a04246c886dbd4c84998 Author: Doug Evans Date: Thu Feb 7 20:38:18 2013 +0000 * cli/cli-cmds.c (_initialize_cli_cmds): Clarify argument to disassemble command. doc/ * gdb.texinfo (Machine Code): Clarify argument to disassemble command. commit 5d988b085067c0cdc8575dbe7b3b14925978359c Author: mshawcroft Date: Thu Feb 7 17:32:29 2013 +0000 2013-02-07 Marcus Shawcroft * linux-aarch64-low.c (aarch64_arch_setup): Clamp aarch64_num_wp_regs and aarch64_num_bp_regs to AARCH64_HWP_MAX_NUM and AARCH64_HBP_MAX_NUM respectively. commit 9c1851f76a4441ebcd524693c47cf6578474f609 Author: mshawcroft Date: Thu Feb 7 10:49:27 2013 +0000 Enable TLS support in aarch64-linux-tdep.c 2013-02-07 Marcus Shawcroft * aarch64-linux-tdep.c (aarch64_linux_init_abi): Call set_gdbarch_fetch_tls_load_module_address. commit 661eeb8102e3fd0f7a0b6125e1ae523c8009fdbf Author: mshawcroft Date: Thu Feb 7 10:47:40 2013 +0000 Switch AArch64 gdbserver ps_get_thread_area to PTRACE_GETREGSET. 2013-02-06 Marcus Shawcroft * linux-aarch64-low.c (ps_get_thread_area): Replace PTRACE_GET_THREAD_AREA with PTRACE_GETREGSET. commit 26630aa2019300948440f957db657165712a932d Author: DJ Delorie Date: Thu Feb 7 04:43:35 2013 +0000 merge from gcc commit 253b76661304b1e271cb2b9655c57e1a36ac1ea0 Author: Alan Modra Date: Thu Feb 7 04:20:31 2013 +0000 PR binutils/15106 * elf.c (elf_find_function): Don't cache if symbols change. commit 30df57517a2ab470e43362b80590b64e9ab5b39d Author: Alan Modra Date: Thu Feb 7 03:44:26 2013 +0000 PR binutils/14873 * elf-attrs.c (_bfd_elf_copy_obj_attributes): Don't attempt to copy attributes from or to non-ELF. commit be1d20baa73ccd5f665a0a007b7036c97197bd59 Author: H.J. Lu Date: Thu Feb 7 02:15:28 2013 +0000 Don't resolve size relocation against non-zero TLS symbol bfd/ * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't clear pc_count for non-zero TLS symbol. (elf_i386_relocate_section): Don't resolve size relocation against non-zero TLS symbol. * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Don't clear pc_count for non-zero TLS symbol. (elf_x86_64_relocate_section): Don't resolve size relocation against non-zero TLS symbol. ld/testsuite/ * ld-size/size-10.rd: Updated. * ld-size/size-8.rd: Likewise. * ld-size/size32-2-i386.d: Likewise. * ld-size/size32-2-x32.d: Likewise. * ld-size/size32-2-x86-64.d: Likewise. * ld-size/size64-2-x32.d: Likewise. * ld-size/size64-2-x86-64.d: Likewise. * ld-size/size.exp (run_time_tests): Pass --hash-styl=gnu to linker for size-8 test. commit 8b22ea22714e635f11f8af11a20104462a151ffd Author: gdbadmin Date: Thu Feb 7 00:00:34 2013 +0000 *** empty log message *** commit 0d012df4a2b86a2c873aec5c054de39cdf84a119 Author: Sandra Loosemore Date: Wed Feb 6 23:22:06 2013 +0000 2013-02-06 Sandra Loosemore Andrew Jenner Based on patches from Altera Corporation. bfd/ * Makefile.am (ALL_MACHINES): Add cpu-nios2.lo. (ALL_MACHINES_CFILES): Add cpu-nios2.c. (BFD_BACKENDS): Add elf32-nios2.lo. (BFD32_BACKENDS_CFILES): Add elf32-nios2.c. * Makefile.in: Regenerated. * configure.in: Add entries for bfd_elf32_bignios2_vec and bfd_elf32_littlenios2_vec. * configure: Regenerated. * config.bfd: Add cases for nios2. * archures.c (enum bfd_architecture): Add bfd_arch_nios2. (bfd_mach_nios2): Define. (bfd_nios2_arch): Declare. (bfd_archures_list): Add bfd_nios2_arch. * targets.c (bfd_elf32_bignios2_vec): Declare. (bfd_elf32_littlenios2_vec): Declare. (_bfd_target_vector): Add entries for bfd_elf32_bignios2_vec and bfd_elf32_littlenios2_vec. * elf-bfd.h (enum elf_target_id): Add NIOS2_ELF_DATA. * reloc.c (enum bfd_reloc_code_real): Add Nios II relocations. * bfd-in2.h: Regenerated. * libbfd.h: Regenerated. * cpu-nios2.c: New file. * elf32-nios2.c: New file. opcodes/ * Makefile.am (TARGET_LIBOPCODES_CFILES): Add nios2-dis.c and nios2-opc.c. * Makefile.in: Regenerated. * configure.in: Add case for bfd_nios2_arch. * configure: Regenerated. * disassemble.c (ARCH_nios2): Define. (disassembler): Add case for bfd_arch_nios2. * nios2-dis.c: New file. * nios2-opc.c: New file. include/ * dis-asm.h (print_insn_big_nios2): Declare. (print_insn_little_nios2): Declare. include/elf * nios2.h: New file. include/opcode/ * nios2.h: New file. gas/ * Makefile.am (TARGET_CPU_CFILES): Add config/tc-nios2.c. (TARGET_CPU_HFILES): Add config/tc-nios2.h. * Makefile.in: Regenerated. * configure.tgt: Add case for nios2*-linux*. * config/obj-elf.c: Conditionally include elf/nios2.h. * config/tc-nios2.c: New file. * config/tc-nios2.h: New file. * doc/Makefile.am (CPU_DOCS): Add c-nios2.texi. * doc/Makefile.in: Regenerated. * doc/all.texi: Set NIOSII. * doc/as.texinfo (Overview): Add Nios II options. (Machine Dependencies): Include c-nios2.texi. * doc/c-nios2.texi: New file. * NEWS: Note Altera Nios II support. gas/testsuite/ * gas/nios2/add.d: New. * gas/nios2/add.s: New. * gas/nios2/align_fill.d: New. * gas/nios2/align_fill.s: New. * gas/nios2/align_text.d: New. * gas/nios2/align_text.s: New. * gas/nios2/and.d: New. * gas/nios2/and.s: New. * gas/nios2/branch.d: New. * gas/nios2/branch.s: New. * gas/nios2/break.d: New. * gas/nios2/break.s: New. * gas/nios2/bret.d: New. * gas/nios2/bret.s: New. * gas/nios2/cache.d: New. * gas/nios2/cache.s: New. * gas/nios2/call26.d: New. * gas/nios2/call26.s: New. * gas/nios2/call.d: New. * gas/nios2/call.s: New. * gas/nios2/cmp.d: New. * gas/nios2/cmp.s: New. * gas/nios2/comments.d: New. * gas/nios2/comments.s: New. * gas/nios2/complex.d: New. * gas/nios2/complex.s: New. * gas/nios2/ctl.d: New. * gas/nios2/ctl.s: New. * gas/nios2/custom.d: New. * gas/nios2/custom.s: New. * gas/nios2/etbt.d: New. * gas/nios2/etbt.s: New. * gas/nios2/flushda.d: New. * gas/nios2/flushda.s: New. * gas/nios2/illegal.l: New. * gas/nios2/illegal.s: New. * gas/nios2/jmp.d: New. * gas/nios2/jmp.s: New. * gas/nios2/ldb.d: New. * gas/nios2/ldb.s: New. * gas/nios2/ldh.d: New. * gas/nios2/ldh.s: New. * gas/nios2/ldw.d: New. * gas/nios2/ldw.s: New. * gas/nios2/lineseparator.d: New. * gas/nios2/lineseparator.s: New. * gas/nios2/mov.d: New. * gas/nios2/movia.d: New. * gas/nios2/movia.s: New. * gas/nios2/movi.d: New. * gas/nios2/movi.s: New. * gas/nios2/mov.s: New. * gas/nios2/mul.d: New. * gas/nios2/mul.s: New. * gas/nios2/nios2.exp: New. * gas/nios2/nor.d: New. * gas/nios2/nor.s: New. * gas/nios2/or.d: New. * gas/nios2/or.s: New. * gas/nios2/ret.d: New. * gas/nios2/ret.s: New. * gas/nios2/rol.d: New. * gas/nios2/rol.s: New. * gas/nios2/rotate.d: New. * gas/nios2/rotate.s: New. * gas/nios2/stb.d: New. * gas/nios2/stb.s: New. * gas/nios2/sth.d: New. * gas/nios2/sth.s: New. * gas/nios2/stw.d: New. * gas/nios2/stw.s: New. * gas/nios2/sub.d: New. * gas/nios2/sub.s: New. * gas/nios2/sync.d: New. * gas/nios2/sync.s: New. * gas/nios2/trap.d: New. * gas/nios2/trap.s: New. * gas/nios2/tret.d: New. * gas/nios2/tret.s: New. * gas/nios2/warn_noat.l: New. * gas/nios2/warn_noat.s: New. * gas/nios2/warn_nobreak.l: New. * gas/nios2/warn_nobreak.s: New. * gas/nios2/xor.d: New. * gas/nios2/xor.s: New. ld/ * Makefile.am (enios2elf.c): New rule. * Makefile.in: Regenerated. * configure.tgt: Add case for nios2*-*-*. * emulparams/nios2elf.sh: New file. * NEWS: Note Altera Nios II support. ld/testsuite/ * ld-nios2/emit-relocs-1a.s: New. * ld-nios2/emit-relocs-1b.s: New. * ld-nios2/emit-relocs-1.d: New. * ld-nios2/emit-relocs-1.ld: New. * ld-nios2/gprel.d: New. * ld-nios2/gprel.s: New. * ld-nios2/hilo16.d: New. * ld-nios2/hilo16.s: New. * ld-nios2/hilo16_symbol.s: New. * ld-nios2/imm5.d: New. * ld-nios2/imm5.s: New. * ld-nios2/imm5_symbol.s: New. * ld-nios2/nios2.exp: New. * ld-nios2/pcrel16.d: New. * ld-nios2/pcrel16_label.s: New. * ld-nios2/pcrel16.s: New. * ld-nios2/relax_callr.d: New. * ld-nios2/relax_callr.ld: New. * ld-nios2/relax_callr.s: New. * ld-nios2/relax_cjmp.d: New. * ld-nios2/relax_cjmp.s: New. * ld-nios2/relax_jmp.ld: New. * ld-nios2/relax_section.d: New. * ld-nios2/relax_section.s: New. * ld-nios2/relax_ujmp.d: New. * ld-nios2/relax_ujmp.s: New. * ld-nios2/reloc.d: New. * ld-nios2/reloc.s: New. * ld-nios2/reloc_symbol.s: New. * ld-nios2/s16.d: New. * ld-nios2/s16.s: New. * ld-nios2/s16_symbol.s: New. * ld-nios2/u16.d: New. * ld-nios2/u16.s: New. * ld-nios2/u16_symbol.s: New. * ld-elf/indirect.exp: Skip on targets that don't support -shared -fPIC. * ld-elfcomm/elfcomm.exp: Build with -G0 for nios2. * ld-plugin/lto.exp: Skip shared library tests on targets that don't support them. Skip execution tests on non-native targets. binutils/ * readelf.c: Include elf/nios2.h. (dump_relocations): Add case for EM_ALTERA_NIOS2. (get_nios2_dynamic_type): New. (get_dynamic_type): Add case for EM_ALTERA_NIOS2. (is_32bit_abs_reloc): Fix EM_ALTERA_NIOS2 case. (is_16bit_abs_reloc): Likewise. (is_none_reloc): Add EM_ALTERA_NIOS2 and EM_NIOS32 cases. * NEWS: Note Altera Nios II support. * MAINTAINERS: Add Nios II maintainers. commit cb691fb2799d357babce13de1e7d49071d07c28a Author: Alan Modra Date: Wed Feb 6 23:00:04 2013 +0000 daily update commit 60c59b87b263dd7886d7d93db983c88b7a14666f Author: David S. Miller Date: Wed Feb 6 19:39:59 2013 +0000 Allow struct 'return' on 32-bit sparc. gdb/ * sparc-tdep.c (sparc32_return_value): Handle writing return value when using RETURN_VALUE_ABI_PRESERVES_ADDRESS. * value.c (struct_return_convention): New function. (using_struct_return): Implement in terms of struct_return_convention. * value.h (struct_return_convention): Declare. * stack.c (return_command): Allow successful overriding of the return value when RETURN_VALUE_ABI_PRESERVES_ADDRESS. commit ff5886c0480b1220132345e99aed7b222b46e80e Author: Tom Tromey Date: Wed Feb 6 17:05:15 2013 +0000 * python/py-type.c (typy_strip_typedefs): Don't call check_typedef outside of TRY_CATCH. commit 7c4fb02d41f78af09698df67e52e8c5b63585104 Author: qiyao Date: Wed Feb 6 14:45:09 2013 +0000 gdb/doc: 2013-02-06 Yao Qi * gdb.texinfo (GDB/MI Async Records): Document new MI notification "=tsv-modified". Update the document of MI notification "=tsv-created". * observer.texi (GDB Observers): New observer tsv_modified. Update observer tsv_created and tsv_deleted. gdb: 2013-02-06 Yao Qi * mi/mi-interp.c: Include "tracepoint.h". (mi_tsv_modified): Declare. (mi_tsv_created, mi_tsv_deleted): Update declaration. (mi_interpreter_init): Call observer_attach_tsv_modified. (mi_tsv_modified): New. (mi_tsv_created, mi_tsv_deleted): Update. * tracepoint.c (trace_variable_command): Call observer_notify_tsv_modified if the initial value of tsv is changed. (delete_trace_state_variable): Call observer_notify_tsv_deleted earlier. (trace_variable_command): Caller update. (create_tsv_from_upload): Likewise. * observer.sh: Declare "struct trace_state_variable". * NEWS: Mention the new MI notification "=tsv-modified". gdb/testsuite: 2013-02-06 Yao Qi * gdb.trace/mi-tsv-changed.exp (test_create_delete_tsv): Rename to ... (test_create_delete_modify_tsv): ... here. New test on modifying the initial value of a tsv. commit 00e1c4298d2b6fe040a9a970e98349602b12ddbf Author: gdbadmin Date: Wed Feb 6 00:00:34 2013 +0000 *** empty log message *** commit c4281553821692abaf547ecb55936a12570ddc65 Author: Alan Modra Date: Tue Feb 5 23:18:44 2013 +0000 * elf32-arm.c (elf32_arm_final_link_relocate): Only test for stubs in stub_bfd. commit c0485ff9ec03b9b73ccc37d29a3582f2bf83a9fa Author: Alan Modra Date: Tue Feb 5 23:00:04 2013 +0000 daily update commit ac4f8ed4b53ffccdec483bd462775988d7c6545c Author: Ian Lance Taylor Date: Tue Feb 5 22:39:30 2013 +0000 PR go/55969 * configure.ac: Disable libgo on some systems where it does not work. * configure: Rebuild. commit 560bc1c1db9ffba911f68df8bea73c15791f001e Author: Doug Evans Date: Tue Feb 5 21:31:31 2013 +0000 * completer.c (location_completer): Fix typo in comment. commit a7dc771403bc83f803e9d54c5a87a8f15ce86721 Author: Jan Kratochvil Date: Tue Feb 5 20:27:03 2013 +0000 gdb/testsuite/ * gdb.dwarf2/dw2-dir-file-name.exp (cd ${srcabsdir}/rdir): Rename to ... (cd .../rdir): ... here. commit 6325d56bb7ac80d2816311e8fc705ca77ce61cf3 Author: Jan Kratochvil Date: Tue Feb 5 20:23:12 2013 +0000 gdb/ * breakpoint.c (add_location_to_breakpoint): Insert the location with ADDRESS sorted. commit 854ff6eec8a59a6983f952fa6660d24a93ea45cc Author: mshawcroft Date: Tue Feb 5 13:59:08 2013 +0000 Adding AArch64 documentation. 2013-02-05 Yufeng Zhang * gdb.texinfo (AArch64 Features): New section; document org.gnu.gdb.aarch64.core and org.gnu.gdb.aarch64.fpu. (Architectures): Add new AArch64 section to document AArch64 architecture specific commands. (ABI): Add description of the new OS ABI "Newlib" and its influence on the longjmp handling. commit 372ed718630d8259927c123202525f662e0df958 Author: Alan Modra Date: Tue Feb 5 13:57:48 2013 +0000 * Makefile.am (SOURCE_HFILES): Add `elf-linux-psinfo.h'. * Makefile.in: Regenerate. commit 72938b88af7d08bc968ef28380318ed6152c90ce Author: mshawcroft Date: Tue Feb 5 13:54:36 2013 +0000 * aarch64-tdep.c (aarch64_analyze_prologue): ARI fix: Refactor if statement to avoid trailing || operator. ----------------------------------------------------------------------- hooks/post-receive -- Repository for Project Archer.