Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
|
|
* 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.
|
|
|
|
* dg-extract-results.sh: Sync with GCC HEAD (import r155655, r157175
and r157645).
|
|
* value.c (value_static_field): Be lazy about the field's value.
|
|
PR gdb/11094
* breakpoint.c (disable_breakpoints_in_unloaded_shlib): Add
bp_jit_event.
(disable_breakpoints_in_shlibs): Likewise.
|
|
* gdb.dwarf2/dw2-empty-namespace.exp, gdb.dwarf2/dw2-empty-namespace.S:
New.
|
|
* gdb.python/py-mi.exp (binfile): Rename to py-mi.
|
|
* 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.
|
|
2010-03-22 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (lex_got): Use STRING_COMMA_LEN on gotrel.
|
|
GCC 4.1 debug info generation (GCC PR c++/28460).
(determine_prefix): Likewise.
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
|
|
get_current_arch.
* tui/tui-layout.c (extract_display_start_addr): Likewise.
|
|
|
|
|
|
* 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.
|
|
* 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.
|
|
(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.
|
|
* ax-general.c (ax_const_l): Fix a sizing bug.
|
|
output from gcc.
|
|
named /usr/sbin/prelink<foo>.
|
|
(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.
|
|
* 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.
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
* scripttempl/elf.sc (INIT_ARRAY): Re-indent.
|
|
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.
|
|
|
|
in TRY_CATCH.
|
|
2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
* readelf.c (decode_arm_unwind): Increase buf size to 9 byte.
|
|
|
|
|
|
|
|
* 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.
|
|
* 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.
|
|
* emultempl/sh64elf.em: Add missing EOF.
|
|
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.
|
|
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.
|
|
(make_one): Add *ABS* symbol @feat.00 with value 1 to tag
the jump stub on X86 as /SAFESEH compatible for
native toolchains.
|
|
* ax-gdb.c (require_rvalue): Disallow non-scalars.
|