platform/upstream/binutils.git
14 years ago Unify actions and commands
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.

14 years agogdb: fix building with system readline
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.

14 years ago * script-sections.cc (class Orphan_section_placement): Define
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.

14 years ago * linux-x86-low.c (x86_linux_prepare_to_resume): Clear DR6 if the
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.

14 years ago * configure.ac (tic6x-*-*): New case.
Joseph Myers [Tue, 23 Mar 2010 16:05:34 +0000 (16:05 +0000)]
* configure.ac (tic6x-*-*): New case.
* configure: Regenerate.

14 years ago * scripttempl/elf.sc (RODATA_NAME, SDATA_NAME, SBSS_NAME,
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.

14 years ago * gas/macros/dot.s: Remove space in .byte operands.
Joseph Myers [Tue, 23 Mar 2010 16:00:54 +0000 (16:00 +0000)]
* gas/macros/dot.s: Remove space in .byte operands.

14 years ago * dis-buf.c (buffer_read_memory): Give error for reading just
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.

14 years ago * symcat.h (CONCAT5, CONCAT6, XCONCAT5, XCONCAT6): Define.
Joseph Myers [Tue, 23 Mar 2010 15:58:51 +0000 (15:58 +0000)]
* symcat.h (CONCAT5, CONCAT6, XCONCAT5, XCONCAT6): Define.

14 years ago Merge from gcc:
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.

14 years ago * config.sub: Update to version 2010-03-22.
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.

14 years ago2010-03-22 Sebastian Pop <sebastian.pop@amd.com>
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.

14 years ago*** empty log message ***
gdbadmin [Tue, 23 Mar 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***

14 years agosim: always enable support for the --endian option
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.

14 years agodaily update
Alan Modra [Mon, 22 Mar 2010 23:01:42 +0000 (23:01 +0000)]
daily update

14 years ago2010-03-22 Doug Kwan <dougkwan@google.com>
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.

14 years agomerge from gcc
DJ Delorie [Mon, 22 Mar 2010 21:39:44 +0000 (21:39 +0000)]
merge from gcc

14 years agogdb/testsuite/
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).

14 years ago2010-03-22 Stan Shebs <stan@codesourcery.com>
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.

14 years ago2010-03-22 Reid Kleckner <reid@kleckner.net>
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.

14 years agogdb/testsuite/
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.

14 years ago * gdb.python/Makefile.in (EXECUTABLES): Add py-mi.
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.

14 years ago2010-03-22 Rafael Espindola <espindola@google.com>
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.

14 years agoUse STRING_COMMA_LEN to avoid strlen.
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.

14 years ago * dwarf2read.c (partial_die_parent_scope): Work around buggy
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.

14 years agoReplace oprand_size_mismatch with operand_size_mismatch.
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.

14 years agoSet error instead of err_msg on failure.
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.

14 years ago*** empty log message ***
gdbadmin [Mon, 22 Mar 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***

14 years agoCheck !executable instead of shared for PIE.
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.

14 years agodaily update
Alan Modra [Sun, 21 Mar 2010 23:01:36 +0000 (23:01 +0000)]
daily update

14 years ago*** empty log message ***
gdbadmin [Sun, 21 Mar 2010 00:00:09 +0000 (00:00 +0000)]
*** empty log message ***

14 years agodaily update
Alan Modra [Sat, 20 Mar 2010 23:01:30 +0000 (23:01 +0000)]
daily update

14 years ago * tui/tui-disasm.c (tui_get_begin_asm_address): Default to
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.

14 years ago*** empty log message ***
gdbadmin [Sat, 20 Mar 2010 00:00:04 +0000 (00:00 +0000)]
*** empty log message ***

14 years agodaily update
Alan Modra [Fri, 19 Mar 2010 23:01:24 +0000 (23:01 +0000)]
daily update

14 years ago2010-03-19 Stan Shebs <stan@codesourcery.com>
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.

14 years ago2010-03-19 Doug Kwan <dougkwan@google.com>
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.

14 years ago * jv-lang.c (jv_dynamics_objfile_data_key)
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.

14 years ago2010-03-19 Stan Shebs <stan@codesourcery.com>
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.

14 years ago * lib/gdb.exp (gdb_compile_test): Watch for "compiler not installed"
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.

14 years ago * gdb.base/break-interp.exp (prelinkNO): Handle prelink binaries
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>.

14 years ago * elf32-arm.c (struct section_list): Remove.
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.

14 years ago PR ld/11304
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.

14 years ago * config/tc-arm.c (make_mapping_symbol): Hanle the case
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.

14 years ago*** empty log message ***
gdbadmin [Fri, 19 Mar 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***

14 years agodaily update
Alan Modra [Thu, 18 Mar 2010 23:01:18 +0000 (23:01 +0000)]
daily update

14 years agoGDB 7.1 released.
gdbadmin [Thu, 18 Mar 2010 22:25:24 +0000 (22:25 +0000)]
GDB 7.1 released.

14 years ago2010-03-18 Stan Shebs <stan@codesourcery.com>
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.

14 years agoRe-indent INIT_ARRAY.
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.

14 years ago[dwarf] Anonymous nested function causes SEGV during psymbol read
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.

14 years agoReformat.
H.J. Lu [Thu, 18 Mar 2010 18:16:41 +0000 (18:16 +0000)]
Reformat.

14 years ago * infcmd.c (finish_command_continuation): Wrap print_return_value
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.

14 years agoAvoid buffer overflow.
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.

14 years agoFix last checkin
Stan Shebs [Thu, 18 Mar 2010 16:01:29 +0000 (16:01 +0000)]
Fix last checkin

14 years ago * doc/c-arm.texi (.setfp): Correct example.
Daniel Jacobowitz [Thu, 18 Mar 2010 15:34:47 +0000 (15:34 +0000)]
* doc/c-arm.texi (.setfp): Correct example.

14 years agoMove ChangeLog entries to proper place.
H.J. Lu [Thu, 18 Mar 2010 14:44:46 +0000 (14:44 +0000)]
Move ChangeLog entries to proper place.

14 years agoChangeLog:
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.

14 years ago gdb/
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.

14 years ago PR ld/11384
Nick Clifton [Thu, 18 Mar 2010 13:15:46 +0000 (13:15 +0000)]
    PR ld/11384
        * emultempl/sh64elf.em: Add missing EOF.

14 years agoDon't add IMAGE_FILE_RELOCS_STRIPPED for PIE.
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.

14 years agobfd/
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.

14 years ago * pe-dll.c (make_one): Make text section readonly.
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.

14 years ago2010-03-17 Stan Shebs <stan@codesourcery.com>
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.

14 years ago2010-03-17 Stan Shebs <stan@codesourcery.com>
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.

14 years ago*** empty log message ***
gdbadmin [Thu, 18 Mar 2010 00:00:34 +0000 (00:00 +0000)]
*** empty log message ***

14 years agoRun list-1, list-2 and list-3 only for ELF tagets.
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.

14 years agodaily update
Alan Modra [Wed, 17 Mar 2010 23:01:13 +0000 (23:01 +0000)]
daily update

14 years agoRevert accidental changes.
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.

14 years ago2010-03-17 Stan Shebs <stan@codesourcery.com>
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.

14 years ago * dwarf2read.c (dwarf2_get_section_info): Handle case where no
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.

14 years ago * symfile.c (generic_load): Reset breakpoints after loading.
Daniel Jacobowitz [Wed, 17 Mar 2010 18:08:11 +0000 (18:08 +0000)]
* symfile.c (generic_load): Reset breakpoints after loading.

14 years ago * linux-nat.c (linux_nat_detach): Check debug_linux_nat.
Tom Tromey [Wed, 17 Mar 2010 16:17:00 +0000 (16:17 +0000)]
* linux-nat.c (linux_nat_detach): Check debug_linux_nat.

14 years agoAvoid overflow.
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.

14 years agogdb/
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.

14 years ago * plugin.c (bfd_plugin_object_p): Pass iostream to fileno using
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.

14 years agorename files
Alan Modra [Wed, 17 Mar 2010 08:46:49 +0000 (08:46 +0000)]
rename files

14 years ago * ldlang.c (lang_size_sections_1): Remove "s" param. Set "s" from
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.

14 years agowarning fixes
Alan Modra [Wed, 17 Mar 2010 07:57:06 +0000 (07:57 +0000)]
warning fixes

14 years ago*** empty log message ***
gdbadmin [Wed, 17 Mar 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***

14 years agodaily update
Alan Modra [Tue, 16 Mar 2010 23:01:07 +0000 (23:01 +0000)]
daily update

14 years agosim: avoid TRACE redefine warnings
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().

14 years agogdb/
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.

14 years agoAvoid switch to invalid ptid during Ada task switch.
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.

14 years ago2010-03-16 Segher Boessenkool <segher@kernel.crashing.org>
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.

14 years ago gdb/gdbserver/
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.

14 years ago2010-03-16 Holger Hans Peter Freyther <zecke@selfish.org>
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.

14 years agoAdd missing newline.
Daniel Jacobowitz [Tue, 16 Mar 2010 14:18:06 +0000 (14:18 +0000)]
Add missing newline.

14 years ago * ldlang.c (lang_insert_orphan): Place loadable orphans in the same
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.

14 years ago * MAINTAINERS: Update my email address. List Tristan Gingold
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.

14 years ago * MAINTAINERS: Update my email address.
Daniel Jacobowitz [Tue, 16 Mar 2010 13:59:36 +0000 (13:59 +0000)]
* MAINTAINERS: Update my email address.

14 years ago Simplify MI breakpoint setting.
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.

14 years ago2010-03-15 Doug Kwan <dougkwan@google.com>
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.

14 years agoFix a commit snafu
Stan Shebs [Tue, 16 Mar 2010 00:52:54 +0000 (00:52 +0000)]
Fix a commit snafu

14 years ago * elf64-ppc.c (struct ppc_link_hash_table): Add do_toc_opt.
Alan Modra [Tue, 16 Mar 2010 00:40:36 +0000 (00:40 +0000)]
* elf64-ppc.c (struct ppc_link_hash_table): Add do_toc_opt.
(ppc64_elf_edit_toc): Set it here.
(ha_reloc_match): New function.
(ppc64_elf_relocate_section): Optimize bigtoc insn sequences.

14 years ago*** empty log message ***
gdbadmin [Tue, 16 Mar 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***

14 years ago2010-03-15 Stan Shebs <stan@codesourcery.com>
Stan Shebs [Mon, 15 Mar 2010 23:53:21 +0000 (23:53 +0000)]
2010-03-15 Stan Shebs  <stan@codesourcery.com>

* ax-gdb.c: Include cp-support.h.
(find_field): Remove.
(gen_primitive_field): New function.
(gen_struct_ref_recursive): New function.
(gen_struct_ref): Rewrite to call gen_struct_ref_recursive instead
of find_field.
(gen_static_field): New function.
(gen_struct_elt_for_reference): New.
(gen_namespace_elt): New.
(gen_maybe_namespace_elt): New.
(gen_aggregate_elt_ref): New.
(gen_expr): Add OP_SCOPE, display opcode name in error message.

14 years agodaily update
Alan Modra [Mon, 15 Mar 2010 23:01:00 +0000 (23:01 +0000)]
daily update

14 years ago * dwarf2read.c (die_needs_namespace): Also return 0 for
Tom Tromey [Mon, 15 Mar 2010 20:49:53 +0000 (20:49 +0000)]
* dwarf2read.c (die_needs_namespace): Also return 0 for
DW_TAG_subprogram.

14 years agomerge from gcc
DJ Delorie [Mon, 15 Mar 2010 17:33:40 +0000 (17:33 +0000)]
merge from gcc

14 years agoRequalify Ralf Corsepius' change as a "tiny change".
Joel Brobecker [Mon, 15 Mar 2010 17:32:55 +0000 (17:32 +0000)]
Requalify Ralf Corsepius' change as a "tiny change".

Ralf's copyright assignment does not cover GDB for the moment.
He only contributed one other change, in 2005, so this should be fine.