Vladimir Prus [Tue, 23 Mar 2010 22:01:47 +0000 (22:01 +0000)]
Implement -trace-find.
* mi/mi-cmds.c (mi_cmds): Register -trace-find.
* mi/mi-cmds.h (mi_cmd_trace_find): Declare.
* mi/mi-main.c (mi_cmd_trace_find): New.
* target.h (struct target_ops): Document to_trace_find.
* tracepoint.h (tfind_1): Declare.
* tracepoint.c (finish_tfind_command): Rename to...
(tfind_1): ...this.
* remote.c (remote_trace_find): Return -1 if target say
there's no frame. Improve error diagnostics.
Vladimir Prus [Tue, 23 Mar 2010 21:50:11 +0000 (21:50 +0000)]
-trace-define-variable and -trace-list-variables.
* tracepoint.c (create_trace_state_variable): Make
private copy of name, as opposed to assuming the
pointer lives forever.
(tvariables_info_1): New.
(tvariables_info): Use the above.
* tracepoint.h (create_trace_state_variable, tvariables_info_1):
Declare.
* mi/mi-cmds.c (mi_cmds): Register -trace-define-variable
and -trace-list-variables.
* mi/mi-cmds.h (mi_cmd_trace_define_variable)
(mi_cmd_trace_list_variables): New.
* mi/mi-main.c (mi_cmd_trace_define_variable)
(mi_cmd_trace_list_variables): New.
Vladimir Prus [Tue, 23 Mar 2010 21:48:14 +0000 (21:48 +0000)]
Implement -break-passcount.
* mi/mi-cmd-break.c (mi_cmd_break_passcount): New.
* mi/mi-cmds.c (mi_cmds): Register -break-passcount.
* mi/mi-cmds.h (mi_cmd_break_passcount): Declare.
Vladimir Prus [Tue, 23 Mar 2010 21:46:33 +0000 (21:46 +0000)]
-trace-start/-trace-end/-trace-status.
* mi/mi-cmds.c (mi_cmds): Register -trace-start, -trace-status
and -trace-stop.
* mi/mi-cmds.h (mi_cmd_trace_start, mi_cmd_trace_status)
(mi_cmd_trace_stop): Declare.
* mi/mi-main.c (mi_cmd_trace_start, mi_cmd_trace_status)
(mi_cmd_trace_stop): New.
* tracepoint.c (start_tracing): New, extracted from...
(trace_start_command): ...this.
(trace_status_mi): New.
* tracepoint.h (struct trace_status): Document
stopping_tracepoint.
(start_tracing, stop_tracing, trace_status_mi): Declare.
Vladimir Prus [Tue, 23 Mar 2010 21:41:55 +0000 (21:41 +0000)]
Implement creating tracepoints with -break-insert.
* mi/mi-cmd-break.c (mi_cmd_break_insert): Handle -a
to mean that tracepoint should be created.
Vladimir Prus [Tue, 23 Mar 2010 21:36:05 +0000 (21:36 +0000)]
* breakpoint.c (check_no_tracepoint_commands): Use
current spelling of 'teval'.
Vladimir Prus [Tue, 23 Mar 2010 21:34:30 +0000 (21:34 +0000)]
Remove conflict marker.
Vladimir Prus [Tue, 23 Mar 2010 21:32:28 +0000 (21:32 +0000)]
Unify actions and commands
* defs.h (read_command_lines, read_command_lines_1): New
parameters validator and closure.
* tracepoint.h (struct action_line): Remove.
* breakpoint.h (struct breakpoint): Remove the 'actions'
field.
* defs.h (enum command_control_type): New value
while_stepping_control.
(struct command_line): Add comments.
* breakpoint.c (breakoint_is_tracepoint): New.
(breakpoint_set_commands): For tracepoints,
verify the commands are permissible.
(check_tracepoint_commands): New.
(commands_command): Require that each new line is validated using
check_tracepoint_command, if we set commands for a tracepoint.
(create_tracepoint_from_upload): Likewise.
(print_one_breakpoint_location): Remove the code to print
actions specifically.
(tracepoint_save_command): Relay to print_command_lines.
* cli/cli-script.c (process_next_line): New parameters validator
and closure. Handle 'while-stepping'. Call validator if not null.
(read_command_lines, read_command_lines1): Likewise.
(recurse_read_control_structure): New parameters validator and
closure. Handle while_stepping_control.
(print_command_lines): Handle while-stepping.
(get_command_line, define_command, document_command): Adjust.
* remote.c (remote_download_tracepoint): Adjust.
* tracepoint.c (make_cleanup_free_actions, read_actions)
(free_actions, do_free_actions_cleanup): Remove.
(trace_actions_command): Use read_command_lines.
(validate_actionline): Use error in one place.
(encode_actions_1): New, extracted from...
(encode_actions): ...this. Also use cleanups for exception
safety.
(trace_dump_command): Adjust.
* mi/mi-cmd-break (mi_cmd_break_commands): Validate commands if
it's tracepoint.
Mike Frysinger [Tue, 23 Mar 2010 21:31:29 +0000 (21:31 +0000)]
gdb: fix building with system readline
Building gdb with --enable-targets=all and --with-system-readline hits a
failure in a few targets all related to the inclusion of some opcodes
headers. The usage of the bundled readline results in an -I to the top
srcdir, but if that isn't used, then there is no such -I path. A few gdb
targets use this implicitly to include opcodes/ source header files. So
make sure there is always an explicit -I path to the opcodes/ directory.
Ian Lance Taylor [Tue, 23 Mar 2010 21:06:10 +0000 (21:06 +0000)]
* script-sections.cc (class Orphan_section_placement): Define
PLACE_TLS and PLACE_TLS_BSS.
(Orphan_section_placement::Orphan_section_placement): Initialize
new places.
(Orphan_section_placement::find_place): Handle SHF_TLS sections.
* testsuite/Makefile.am (check_PROGRAMS): Add tls_script_test.
(tls_script_test_SOURCES): Define.
(tls_script_test_DEPENDENCIES): Define.
(tls_script_test_LDFLAGS): Define.
(tls_script_test_LDADD): Define.
* testsuite/Makefile.in: Rebuild.
Pedro Alves [Tue, 23 Mar 2010 18:00:57 +0000 (18:00 +0000)]
* linux-x86-low.c (x86_linux_prepare_to_resume): Clear DR6 if the
lwp had been stopped by a watchpoint.
Joseph Myers [Tue, 23 Mar 2010 16:05:34 +0000 (16:05 +0000)]
* configure.ac (tic6x-*-*): New case.
* configure: Regenerate.
Joseph Myers [Tue, 23 Mar 2010 16:02:02 +0000 (16:02 +0000)]
* scripttempl/elf.sc (RODATA_NAME, SDATA_NAME, SBSS_NAME,
BSS_NAME): Define if not already defined. Use in place of some
hardcoded section names.
Joseph Myers [Tue, 23 Mar 2010 16:00:54 +0000 (16:00 +0000)]
* gas/macros/dot.s: Remove space in .byte operands.
Joseph Myers [Tue, 23 Mar 2010 15:59:45 +0000 (15:59 +0000)]
* dis-buf.c (buffer_read_memory): Give error for reading just
before the start of memory.
Joseph Myers [Tue, 23 Mar 2010 15:58:51 +0000 (15:58 +0000)]
* symcat.h (CONCAT5, CONCAT6, XCONCAT5, XCONCAT6): Define.
Joseph Myers [Tue, 23 Mar 2010 14:30:59 +0000 (14:30 +0000)]
Merge from gcc:
2010-03-19 Jack Howarth <howarth@bromo.med.uc.edu>
PR ada/42554
* configure.ac: Only pass -c to ranlib for darwin9 and earlier.
* configure: Regenerate.
Joseph Myers [Tue, 23 Mar 2010 14:27:19 +0000 (14:27 +0000)]
* config.sub: Update to version 2010-03-22.
* config.guess: Update to version 2009-12-30.
Sebastian Pop [Tue, 23 Mar 2010 02:56:24 +0000 (02:56 +0000)]
2010-03-22 Sebastian Pop <sebastian.pop@amd.com>
Quentin Neill <quentin.neill@amd.com>
opcodes/
* i386-dis.c (OP_LWP_I): Removed.
(reg_table): Do not use OP_LWP_I, use Iq.
(OP_LWPCB_E): Remove use of names16.
(OP_LWP_E): Same.
* i386-opc.tbl: Removed 16bit LWP insns. 32bit LWP insns
should not set the Vex.length bit.
* i386-tbl.h: Regenerated.
gas/
* testsuite/gas/i386/x86-64-lwp.s: Remove use of 16bit LWP insns.
* testsuite/gas/i386/lwp.s: Same.
* testsuite/gas/i386/x86-64-lwp.d: Updated.
* testsuite/gas/i386/lwp.d: Updated.
gdbadmin [Tue, 23 Mar 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Mike Frysinger [Mon, 22 Mar 2010 23:10:39 +0000 (23:10 +0000)]
sim: always enable support for the --endian option
The gdb code always passes down -E <little|big> to the sim core when using
the sim target. But the sim core only recognizes this option when the sim
supports big endian systems. So for little endian simulators, any attempt
to use the sim target fails with:
(gdb) target sim
gdbsim: invalid option -- 'E'
unable to create simulator instance
Since always respecting the option doesn't cause any problems, do just
that. If someone tries to use an invalid endian, they'll get an error
anyways.
Alan Modra [Mon, 22 Mar 2010 23:01:42 +0000 (23:01 +0000)]
daily update
Doug Kwan [Mon, 22 Mar 2010 22:48:05 +0000 (22:48 +0000)]
2010-03-22 Doug Kwan <dougkwan@google.com>
* arm.cc (Arm_relocate_functions::abs8,
Arm_relocate_functions::abs16): Use correct check for overflow
specified in the ARM ELF specs.
(Arm_relocate_functions): thumb_branch_common. Handle bit 1 of branch
target of a BLX instruction specially.
(Reloc_stub::stub_type_for_reloc): Ditto.
(Relocate::relocate): Use symbolic names instead of numeric relocation
codes to report error.
(Target_arm::do_relox): Reduce default stub-group size for Cortex-A8
workaround.
* testsuite/Makefile.am (check_DATA): add thumb_blx_in_range.stdout,
thumb_blx_out_of_range.stdout, thumb2_blx_in_range.stdout and
thumb2_blx_out_of_range.stdout
(thumb_bl_out_of_range, thumb_bl_out_of_range.o,
thumb2_bl_out_of_range, thumb2_bl_out_of_range.o): Fix dependenices.
(thumb_blx_in_range.stdout, thumb_blx_in_range, thumb_blx_in_range.o,
thumb_blx_out_of_range.stdout, thumb_blx_out_of_range,
thumb_blx_out_of_range.o, thumb2_blx_in_range.stdout,
thumb2_blx_in_range, thumb2_blx_in_range.o,
thumb2_blx_out_of_range.stdout, thumb2_blx_out_of_range,
thumb2_blx_out_of_range.o): New rules.
(MOSTLYCLEANFILES): Add thumb_blx_in_range, thumb_blx_out_of_range,
thumb2_blx_in_range and thumb2_blx_out_of_range.
* testsuite/Makefile.in: Regenerate.
* arm_branch_in_range.sh: Add tests for THUMB BLX.
* testsuite/thumb_blx_in_range.s: New file.
* testsuite/thumb_blx_out_of_range.s: New file.
DJ Delorie [Mon, 22 Mar 2010 21:39:44 +0000 (21:39 +0000)]
merge from gcc
Jan Kratochvil [Mon, 22 Mar 2010 20:38:58 +0000 (20:38 +0000)]
gdb/testsuite/
* dg-extract-results.sh: Sync with GCC HEAD (import r155655, r157175
and r157645).
Stan Shebs [Mon, 22 Mar 2010 18:47:00 +0000 (18:47 +0000)]
2010-03-22 Stan Shebs <stan@codesourcery.com>
* value.c (value_static_field): Be lazy about the field's value.
Tom Tromey [Mon, 22 Mar 2010 17:36:28 +0000 (17:36 +0000)]
2010-03-22 Reid Kleckner <reid@kleckner.net>
PR gdb/11094
* breakpoint.c (disable_breakpoints_in_unloaded_shlib): Add
bp_jit_event.
(disable_breakpoints_in_shlibs): Likewise.
Jan Kratochvil [Mon, 22 Mar 2010 16:53:21 +0000 (16:53 +0000)]
gdb/testsuite/
* gdb.dwarf2/dw2-empty-namespace.exp, gdb.dwarf2/dw2-empty-namespace.S:
New.
Daniel Jacobowitz [Mon, 22 Mar 2010 15:32:26 +0000 (15:32 +0000)]
* gdb.python/Makefile.in (EXECUTABLES): Add py-mi.
* gdb.python/py-mi.exp (binfile): Rename to py-mi.
Rafael Ávila de Espíndola [Mon, 22 Mar 2010 14:18:24 +0000 (14:18 +0000)]
2010-03-22 Rafael Espindola <espindola@google.com>
* archive.cc (Should_include): Move to archive.h.
(should_include_member): Make it a member of Archive.
(Lib_group): New.
(Add_lib_group_symbols): New.
* archive.h: Include options.h.
(Archive_member): Moved from Archive.
(Should_include): Moved from archive.cc.
(Lib_group): New.
(Add_lib_group_symbols): New.
* dynobj.cc (do_should_include_member): New.
* dynobj.h (do_should_include_member): New.
* gold.cc (queue_initial_tasks): Update call to queue.
* main.cc (main): Print lib group stats.
* object.cc (do_should_include_member): New.
* object.h: Include archive.h.
(Object::should_include_member): New.
(Object::do_should_include_member): New.
(Sized_relobj::do_should_include_member): New.
* options.cc (General_options::parse_start_lib): New.
(General_options::parse_end_lib): New.
(Input_arguments::add_file): Handle lib groups.
(Input_arguments::start_group): Check we are not in a lib.
(Input_arguments::start_lib): New.
(Input_arguments::end_lib): New.
* options.h (General_options): Add start_lib and end_lib.
(Input_argument::lib_): New.
(Input_argument::lib): New.
(Input_argument::is_lib): New.
(Input_file_lib): New.
(Input_arguments::in_lib_): New.
(Input_arguments::in_lib): New.
(Input_arguments::start_lib): New.
(Input_arguments::end_lib_): New.
* plugin.cc (Pluginobj::get_symbol_resolution_info): Mark symbols
in unused members as preempted.
(Sized_pluginobj::do_should_include_member): New.
* plugin.h (Sized_pluginobj::do_should_include_member): New.
* readsyms.cc (Read_symbols::locks): If we are just reading a member,
return the blocker.
(Read_symbols::do_whole_lib_group): New.
(Read_symbols::do_lib_group): New.
(Read_symbols::do_read_symbols): Handle lib groups.
(Read_symbols::get_name): Handle lib groups.
* readsyms.h (Read_symbols): Add an archive member pointer.
(Read_symbols::do_whole_lib_group): New.
(Read_symbols::do_lib_group): New.
(Read_symbols::member_): New.
* script.cc (read_input_script): Update call to queue_soon.
H.J. Lu [Mon, 22 Mar 2010 13:49:50 +0000 (13:49 +0000)]
Use STRING_COMMA_LEN to avoid strlen.
2010-03-22 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (lex_got): Use STRING_COMMA_LEN on gotrel.
Ulrich Weigand [Mon, 22 Mar 2010 13:21:39 +0000 (13:21 +0000)]
* dwarf2read.c (partial_die_parent_scope): Work around buggy
GCC 4.1 debug info generation (GCC PR c++/28460).
(determine_prefix): Likewise.
H.J. Lu [Mon, 22 Mar 2010 03:29:47 +0000 (03:29 +0000)]
Replace oprand_size_mismatch with operand_size_mismatch.
2010-03-21 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (i386_error): Replace oprand_size_mismatch
with operand_size_mismatch.
(operand_size_match): Updated.
(match_template): Likewise.
H.J. Lu [Mon, 22 Mar 2010 02:20:58 +0000 (02:20 +0000)]
Set error instead of err_msg on failure.
2010-03-21 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (i386_error): New.
(_i386_insn): Replace err_msg with error.
(operand_size_match): Set error instead of err_msg on failure.
(operand_type_match): Likewise.
(operand_type_register_match): Likewise.
(VEX_check_operands): Likewise.
(match_template): Likewise. Use error instead of err_msg with
as_bad.
gdbadmin [Mon, 22 Mar 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
H.J. Lu [Sun, 21 Mar 2010 23:26:33 +0000 (23:26 +0000)]
Check !executable instead of shared for PIE.
2010-03-21 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11413
* elflink.c (_bfd_elf_add_default_symbol): Check !executable
instead of shared.
Alan Modra [Sun, 21 Mar 2010 23:01:36 +0000 (23:01 +0000)]
daily update
gdbadmin [Sun, 21 Mar 2010 00:00:09 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 20 Mar 2010 23:01:30 +0000 (23:01 +0000)]
daily update
Daniel Jacobowitz [Sat, 20 Mar 2010 05:17:10 +0000 (05:17 +0000)]
* tui/tui-disasm.c (tui_get_begin_asm_address): Default to
get_current_arch.
* tui/tui-layout.c (extract_display_start_addr): Likewise.
gdbadmin [Sat, 20 Mar 2010 00:00:04 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 19 Mar 2010 23:01:24 +0000 (23:01 +0000)]
daily update
Stan Shebs [Fri, 19 Mar 2010 22:00:17 +0000 (22:00 +0000)]
2010-03-19 Stan Shebs <stan@codesourcery.com>
* ax-gdb.c (gen_fetch): Handle bool.
(gen_usual_unary): Ditto.
(gen_cast): Ditto.
(gen_equal): New function.
(gen_less): New function.
(gen_expr_binop_rest): Call them, also return integer type from
logical operations.
(gen_expr): Ditto.
* gdb.trace/ax.exp: New file.
Doug Kwan [Fri, 19 Mar 2010 19:11:21 +0000 (19:11 +0000)]
2010-03-19 Doug Kwan <dougkwan@google.com>
* arm.cc (Stub_table::Stub_table): Initialize new data members
Stub_table::reloc_stubs_size_ and Stub_table::reloc_stubs_addralign_.
(Stub_table::add_reloc_stub): Assign stub offset and update
Stub_table::reloc_stubs_size_ and Stub_table::reloc_stubs_addralign_.
(Stub_table::reloc_stubs_size_, Stub_table::reloc_stubs_addralign_):
New data members.
(Stub_table::update_data_size_and_addralign): Use
Stub_table::reloc_stubs_size_ and Stub_table::reloc_stubs_addralign_
instead of going over all reloc stubs.
(Stub_table::finalize_stubs): Do not assign reloc stub offsets.
* stringpool.cc (Stringpool_template::Stringpool_template): Initialize
Stringpool_template::offset_ to size of Stringpool_char.
(Stringpool_template::new_key_offset): Remove code to initialize
Stringpool_template::offset_.
* stringpool.h (Stringpool_template::set_no_zero_null): Set
Stringpool_template::offset_ to zero.
Tom Tromey [Fri, 19 Mar 2010 19:08:41 +0000 (19:08 +0000)]
* jv-lang.c (jv_dynamics_objfile_data_key)
(jv_type_objfile_data_key): New globals.
(class_symtab): Move earlier.
(jv_per_objfile_free): New function.
(get_dynamics_objfile): Call set_objfile_data. Add 'gdbarch'
parameter.
Remove ancient #if 1.
(add_class_symbol): Remove redundant declaration.
(java_lookup_class): Use alloc_type, not alloc_type_arch.
(java_link_class_type): Mark as static. Update.
(jv_clear_object_type): New function.
(set_java_object_type): Likewise.
(get_java_object_type): Use set_java_object_type.
(is_object_type): Likewise.
(_initialize_java_language): Register new objfile keys.
(get_java_class_symtab): Add 'gdbarch' parameter.
(add_class_symtab_symbol): Update.
(type_from_class): Update.
Stan Shebs [Fri, 19 Mar 2010 18:21:03 +0000 (18:21 +0000)]
2010-03-19 Stan Shebs <stan@codesourcery.com>
* ax-general.c (ax_const_l): Fix a sizing bug.
Doug Evans [Fri, 19 Mar 2010 17:59:37 +0000 (17:59 +0000)]
* lib/gdb.exp (gdb_compile_test): Watch for "compiler not installed"
output from gcc.
Doug Evans [Fri, 19 Mar 2010 17:57:17 +0000 (17:57 +0000)]
* gdb.base/break-interp.exp (prelinkNO): Handle prelink binaries
named /usr/sbin/prelink<foo>.
Jie Zhang [Fri, 19 Mar 2010 17:04:17 +0000 (17:04 +0000)]
* elf32-arm.c (struct section_list): Remove.
(section_list): Remove typedef.
(record_section_with_arm_elf_section_data): Remove.
(find_arm_elf_section_entry): Remove.
(get_arm_elf_section_data): Use is_arm_elf.
(unrecord_section_with_arm_elf_section_data): Remove.
(elf32_arm_new_section_hook): Don't call
record_section_with_arm_elf_section_data.
(elf32_arm_write_section): Set mapcount to -1 when
the map has been used. Don't call
unrecord_section_with_arm_elf_section_data.
(unrecord_section_via_map_over_sections): Remove.
(elf32_arm_close_and_cleanup): Remove.
(elf32_arm_bfd_free_cached_info): Remove.
(bfd_elf32_close_and_cleanup): Don't define.
(bfd_elf32_bfd_free_cached_info): Don't define.
Jie Zhang [Fri, 19 Mar 2010 14:49:46 +0000 (14:49 +0000)]
PR ld/11304
* ld-elf/pr11304.d: New test.
* ld-elf/pr11304a.s: New test.
* ld-elf/pr11304b.s: New test.
* lib/ld-lib.exp (regexp_diff): Add support for #failif.
Jie Zhang [Fri, 19 Mar 2010 14:43:09 +0000 (14:43 +0000)]
* config/tc-arm.c (make_mapping_symbol): Hanle the case
that two mapping symbols have the same value.
testsuite/
* gas/arm/mapmisc.s: Add the test case for two mapping
symbols having the same value.
* gas/arm/mapmisc.d: Likewise.
gdbadmin [Fri, 19 Mar 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 18 Mar 2010 23:01:18 +0000 (23:01 +0000)]
daily update
gdbadmin [Thu, 18 Mar 2010 22:25:24 +0000 (22:25 +0000)]
GDB 7.1 released.
Stan Shebs [Thu, 18 Mar 2010 21:23:35 +0000 (21:23 +0000)]
2010-03-18 Stan Shebs <stan@codesourcery.com>
Pedro Alves <pedro@codesourcery.com>
* target.h (struct target_ops): New method
to_set_circular_trace_buffer.
(target_set_circular_trace_buffer): New macro.
* target.c (update_current_target): Add
to_set_circular_trace_buffer, fix to_set_disconnected_tracing
default behavior.
* remote.c (remote_set_circular_trace_buffer): New function.
(init_remote_ops): Add it to vector.
* tracepoint.h (struct trace_status): New field traceframes_created,
change buffer_size and buffer_free to int.
* tracepoint.c (circular_trace_buffer): New global.
(start_tracing): Send values of disconnected tracing and circular
trace buffer settings.
(set_circular_trace_buffer): New function.
(parse_trace_state): Handle total space and frames created.
(trace_status_command): Display total space and total frames
created.
(trace_save): Write out new status values.
(parse_trace_status): Set traceframe_count, traceframes_created,
buffer_free and buffer_size to -1 by default.
(_initialize_tracepoint): New setshow for circular-trace-buffer.
* NEWS: Mention the circular trace buffer option.
* gdb.texinfo (Starting and Stopping Trace Experiments): Describe
circular-trace-buffer.
(Tracepoint Packets): Describe QTBuffer, and details of the
qTStatus reply.
* gdb.trace/circ.exp: Test circular-trace-buffer.
* gdb.trace/tfile.exp: Update tstatus test.
H.J. Lu [Thu, 18 Mar 2010 18:40:29 +0000 (18:40 +0000)]
Re-indent INIT_ARRAY.
2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
* scripttempl/elf.sc (INIT_ARRAY): Re-indent.
Joel Brobecker [Thu, 18 Mar 2010 18:35:55 +0000 (18:35 +0000)]
[dwarf] Anonymous nested function causes SEGV during psymbol read
According to the DWARF3 standard, a function always has a name attribute
(Section 3.3 - Subroutine and Entry Point Entries). The only exception
is when a DW_AT_abstract_origin attribute is provided, in which case
the name may be inherited from the referenced DIE.
The problem occured because our compiler generated a subprogram DIE
for a nested function where the name attribute was missing (and no
abstract-origin either). Our code in add_partial_symbol is not
prepared to deal with the situation, and happily just tries to compute
the length of the (NULL) function name.
This normally cannot happen, because there is already a guard in
scan_partial_symbols, where we (silently!) ignore anonymous dies,
including anonymous subprograms. Unfortunately, there is a flaw that
affects Ada and other languages that allow nested subprograms. For
nested subprograms, we do not go through scan_partial_symbols and
thus we are missing the name check.
This patch adds the name check in the nested subprogram case. It also
adds a complaint which is emitted during the psymtab->symtab conversion
phase.
gdb/ChangeLog:
* dwarf2read.c (add_partial_subprogram): Make sure the subprogram
DIE has a name before creating the associated partial symbol.
(read_func_scope): Emit a complaint if the subprogram does not
have a name or when we can't extract the subprogram PC bounds.
gdb/testsuite/ChangeLog:
* gdb.dwarf2/dw2-anonymous-func.S: New file.
* gdb.dwarf2/dw2-anonymous-func.exp: New testcase.
Tested on x86_64-linux, no regression. Note that the testcase also
verifies that the psymtab->symtab conversion does not crash (this is
the purpose of the "list file1.txt:1" test.
H.J. Lu [Thu, 18 Mar 2010 18:16:41 +0000 (18:16 +0000)]
Reformat.
Tom Tromey [Thu, 18 Mar 2010 18:02:00 +0000 (18:02 +0000)]
* infcmd.c (finish_command_continuation): Wrap print_return_value
in TRY_CATCH.
H.J. Lu [Thu, 18 Mar 2010 17:46:19 +0000 (17:46 +0000)]
Avoid buffer overflow.
2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
* readelf.c (decode_arm_unwind): Increase buf size to 9 byte.
Stan Shebs [Thu, 18 Mar 2010 16:01:29 +0000 (16:01 +0000)]
Fix last checkin
Daniel Jacobowitz [Thu, 18 Mar 2010 15:34:47 +0000 (15:34 +0000)]
* doc/c-arm.texi (.setfp): Correct example.
H.J. Lu [Thu, 18 Mar 2010 14:44:46 +0000 (14:44 +0000)]
Move ChangeLog entries to proper place.
Ulrich Weigand [Thu, 18 Mar 2010 13:25:20 +0000 (13:25 +0000)]
ChangeLog:
* mi/mi-main.c (mi_cmd_list_thread_groups): Use get_current_arch
instead of selected frame architecture.
testsuite/ChangeLog:
* gdb.mi/gdb680.exp: Revert 2009-06-17 change.
Pedro Alves [Thu, 18 Mar 2010 13:21:40 +0000 (13:21 +0000)]
gdb/
* infcmd.c (until_command): Use ERROR_NO_INFERIOR. Ensure there's
a valid selected thread, and that it is not running.
(advance_command): Ditto.
(finish_command): Ditto.
gdb/testsuite/
* gdb.base/default.exp: Adjust.
Nick Clifton [Thu, 18 Mar 2010 13:15:46 +0000 (13:15 +0000)]
PR ld/11384
* emultempl/sh64elf.em: Add missing EOF.
H.J. Lu [Thu, 18 Mar 2010 12:27:15 +0000 (12:27 +0000)]
Don't add IMAGE_FILE_RELOCS_STRIPPED for PIE.
2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/11396
* libcoff-in.h (pe_tdata): Add dont_strip_reloc.
* libcoff.h: Regenerated.
* peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Clear F_RELFLG
if dont_strip_reloc is set.
(_bfd_XX_bfd_copy_private_bfd_data_common): Set
dont_strip_reloc on output if there is no .reloc and
IMAGE_FILE_RELOCS_STRIPPED isn't set in input.
Nick Clifton [Thu, 18 Mar 2010 11:22:46 +0000 (11:22 +0000)]
bfd/
2010-03-15 Wei Guozhi <carrot@google.com>
PR gas/11323
* bfd-in2.h (enum bfd_reloc_code_real): New BFD_RELOC_GOT_PREL type.
* elf32-arm.c (elf32_arm_reloc_map): BFD_RELOC_GOT_PREL to
R_ARM_GOT_PREL map.
* libbfd.h (bfd_reloc_code_real_names): BFD_RELOC_GOT_PREL name.
* reloc.c (comments): Document the new relocation.
gas/
2010-03-15 Wei Guozhi <carrot@google.com>
PR gas/11323
* config/tc-arm.c (reloc_names): New relocation names.
(md_apply_fix): New case for BFD_RELOC_ARM_GOT_PREL.
(tc_gen_reloc): New case for BFD_RELOC_ARM_GOT_PREL.
* doc/c-arm.texi (ARM-Relocations): Document the new relocation.
gas/testsuite
2010-03-15 Wei Guozhi <carrot@google.com>
PR gas/11323
* gas/arm/got_prel.s: New test case.
* gas/arm/got_prel.d: Likewise.
Nick Clifton [Thu, 18 Mar 2010 10:51:31 +0000 (10:51 +0000)]
* pe-dll.c (make_one): Make text section readonly.
(make_one): Add *ABS* symbol @feat.00 with value 1 to tag
the jump stub on X86 as /SAFESEH compatible for
native toolchains.
Stan Shebs [Thu, 18 Mar 2010 01:47:33 +0000 (01:47 +0000)]
2010-03-17 Stan Shebs <stan@codesourcery.com>
* ax-gdb.c (require_rvalue): Disallow non-scalars.
Stan Shebs [Thu, 18 Mar 2010 01:09:26 +0000 (01:09 +0000)]
2010-03-17 Stan Shebs <stan@codesourcery.com>
* infcall.c: Include tracepoint.h.
(call_function_by_hand): Disallow calls in tfind mode.
* infcmd.c: Include tracepoint.h.
(ensure_not_tfind_mode): New function.
(continue_1): Call it.
(step_1) Ditto.
(jump_command): Ditto.
(signal_command): Ditto.
(advance_command): Ditto.
(until_command): Ditto.
(finish_command): Ditto.
* tracepoint.h (disconnect_or_stop_tracing): Declare.
gdbadmin [Thu, 18 Mar 2010 00:00:34 +0000 (00:00 +0000)]
*** empty log message ***
H.J. Lu [Wed, 17 Mar 2010 23:20:41 +0000 (23:20 +0000)]
Run list-1, list-2 and list-3 only for ELF tagets.
2010-03-17 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/i386.exp: Run list-1, list-2 and list-3 only for
ELF tagets.
Alan Modra [Wed, 17 Mar 2010 23:01:13 +0000 (23:01 +0000)]
daily update
H.J. Lu [Wed, 17 Mar 2010 23:00:05 +0000 (23:00 +0000)]
Revert accidental changes.
2010-03-17 H.J. Lu <hongjiu.lu@intel.com>
* reloc.c (BFD_RELOC_SPU_PIC18): Removed.
(BFD_RELOC_SPU_STUB): Likewise.
Stan Shebs [Wed, 17 Mar 2010 22:04:43 +0000 (22:04 +0000)]
2010-03-17 Stan Shebs <stan@codesourcery.com>
* ax-gdb.h (struct axs_value): New field optimized_out.
(gen_trace_for_var): Add gdbarch argument.
* ax-gdb.c (gen_trace_static_fields): New function.
(gen_traced_pop): Call it, add gdbarch argument.
(gen_trace_for_expr): Update call to it.
(gen_trace_for_var): Ditto, and report optimized-out variables.
(gen_struct_ref_recursive): Check for optimized-out value.
(gen_struct_elt_for_reference): Ditto.
(gen_static_field): Pass gdbarch instead of expression, assume
optimization if field not found.
(gen_var_ref): Set the optimized_out flag.
(gen_expr): Error on optimized-out variable.
* tracepoint.c (collect_symbol): Handle struct-valued vars as
expressions, skip optimized-out variables with computed locations.
* dwarf2loc.c (dwarf2_tracepoint_var_ref): Flag instead of
erroring out if location expression missing.
(loclist_tracepoint_var_ref): Don't error out here.
Tom Tromey [Wed, 17 Mar 2010 19:16:02 +0000 (19:16 +0000)]
* dwarf2read.c (dwarf2_get_section_info): Handle case where no
DWARF data is available.
Daniel Jacobowitz [Wed, 17 Mar 2010 18:08:11 +0000 (18:08 +0000)]
* symfile.c (generic_load): Reset breakpoints after loading.
Tom Tromey [Wed, 17 Mar 2010 16:17:00 +0000 (16:17 +0000)]
* linux-nat.c (linux_nat_detach): Check debug_linux_nat.
H.J. Lu [Wed, 17 Mar 2010 13:46:35 +0000 (13:46 +0000)]
Avoid overflow.
2010-03-17 Jie Zhang <jie@codesourcery.com>
* elf.c (assign_file_positions_for_load_sections): Avoid
overflow.
Jan Kratochvil [Wed, 17 Mar 2010 13:38:56 +0000 (13:38 +0000)]
gdb/
* spu-tdep.c (spu_catch_start): Replace set_breakpoint call with the
create_breakpoint call, adjust the parameters.
Alan Modra [Wed, 17 Mar 2010 08:50:36 +0000 (08:50 +0000)]
* plugin.c (bfd_plugin_object_p): Pass iostream to fileno using
proper type.
Alan Modra [Wed, 17 Mar 2010 08:46:49 +0000 (08:46 +0000)]
rename files
Alan Modra [Wed, 17 Mar 2010 08:37:10 +0000 (08:37 +0000)]
* ldlang.c (lang_size_sections_1): Remove "s" param. Set "s" from
*prev instead. Update all callers.
Alan Modra [Wed, 17 Mar 2010 07:57:06 +0000 (07:57 +0000)]
warning fixes
gdbadmin [Wed, 17 Mar 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 16 Mar 2010 23:01:07 +0000 (23:01 +0000)]
daily update
Mike Frysinger [Tue, 16 Mar 2010 20:58:53 +0000 (20:58 +0000)]
sim: avoid TRACE redefine warnings
The common code sets up an autoconf option --enable-sim-trace which adds
-DTRACE= to CPPFLAGS. This causes warnings in the building of some files
that declare a local TRACE() helper macro. So punt it from hw-ports.c
(since it isn't actually used) and convert hw-properties.c to HW_TRACE().
Jan Kratochvil [Tue, 16 Mar 2010 20:51:23 +0000 (20:51 +0000)]
gdb/
* dwarf2read.c (read_subrange_type): Set TYPE_HIGH_BOUND_UNDEFINED.
* valarith.c (value_subscripted_rvalue): Suppress error if
TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED.
Joel Brobecker [Tue, 16 Mar 2010 18:47:15 +0000 (18:47 +0000)]
Avoid switch to invalid ptid during Ada task switch.
This is to prevent an internal error during an Ada task switch. A task
switch is simply a thread switch under the hood. What we do is collect
the info from the Ada Task Control Block, deduce the associated thread
ptid, and then switch to that thread. If the thread ptid computation
routine has not been implemented for the target, of if there is a bug,
then we end up computing a bogus ptid which GDB does not know about,
which eventually leads to an assertion failure:
(gdb) task 1
[New Thread 5715]
/[...]/gdb/thread.c:595: internal-error: is_thread_state:
Assertion `tp' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)
When this happens, it's just nicer for the user to print an error
message, and cancel the task switch. After this patch is applied,
this is what we get:
(gdb) task 1
[New Thread 10250]
Unable to compute thread ID for task 1.
Cannot switch to this task.
gdb/ChangeLog:
* ada-tasks.c (task_command_1): Check that the task ptid is valid
before doing the associated thread switch.
Segher Boessenkool [Tue, 16 Mar 2010 18:24:24 +0000 (18:24 +0000)]
2010-03-16 Segher Boessenkool <segher@kernel.crashing.org>
* gmon_io.c (gmon_out_read): Close file when done.
Pedro Alves [Tue, 16 Mar 2010 17:47:52 +0000 (17:47 +0000)]
gdb/gdbserver/
* server.h (internal_error): Declare.
(gdb_assert, ASSERT_FUNCTION, gdb_assert_fail): Define.
* utils.c (internal_error): New function.
Hui Zhu [Tue, 16 Mar 2010 17:01:21 +0000 (17:01 +0000)]
2010-03-16 Holger Hans Peter Freyther <zecke@selfish.org>
* linux-record.c (record_linux_msghdr): Remove unintended semicolons.
Daniel Jacobowitz [Tue, 16 Mar 2010 14:18:06 +0000 (14:18 +0000)]
Add missing newline.
Daniel Jacobowitz [Tue, 16 Mar 2010 14:14:40 +0000 (14:14 +0000)]
* ldlang.c (lang_insert_orphan): Place loadable orphans in the same
region and phdrs as their placement section.
testsuite/
* ld-elf/orphan-region.d, ld-elf/orphan-region.ld,
ld-elf/orphan-region.s: New files.
Daniel Jacobowitz [Tue, 16 Mar 2010 14:02:44 +0000 (14:02 +0000)]
* MAINTAINERS: Update my email address. List Tristan Gingold
as the release branch maintainer.
Daniel Jacobowitz [Tue, 16 Mar 2010 13:59:36 +0000 (13:59 +0000)]
* MAINTAINERS: Update my email address.
Vladimir Prus [Tue, 16 Mar 2010 08:42:20 +0000 (08:42 +0000)]
Simplify MI breakpoint setting.
* breakpoint.c (break_command_really): Make nonstatic and
rename to...
(create_breakpoint): ...this. Rename prior function by this name
to...
(create_breakpoint_sal): ...this.
(create_breakpoints): Rename to...
(create_breakpoints_sal): ...this.
(set_breakpoint): Remove.
* breakpoint.h: Adjust to above changes.
* mi/mi-cmd-break.c (mi_cmd_break_insert): Simplify.
Doug Kwan [Tue, 16 Mar 2010 01:26:15 +0000 (01:26 +0000)]
2010-03-15 Doug Kwan <dougkwan@google.com>
* stringpool.cc (Stringpool_template::Stringpool_template): Initialize
offset_.
(Stringpool_template::new_key_offset): New method.
(Stringpool_template::add_string): Assign offsets when adding new
strings.
(Stringpool_template::set_string_offsets): Do not set string offsets
when not optimizing.
* stringpool.h (Chunked_vector::Chunked_vector): Initialize data
member size_.
(Chunked_vector::clear): Clear size_.
(Chunked_vector::reserve): Call reserve method of all Element_vectors.
(Chunked_vector::size): Return size_.
(Chunked_vector::push_back): Use size_ to find insert position.
(Chunked_vector::size_): New data member.
(Stringpool_template::set_no_zero_null): Assert string set is empty.
(Stringpool_template::new_key_offset): New method declaration.
(Stringpool_template::offset_): New data member.
Stan Shebs [Tue, 16 Mar 2010 00:52:54 +0000 (00:52 +0000)]
Fix a commit snafu