Ian Lance Taylor [Sat, 9 Jul 2011 05:09:52 +0000 (05:09 +0000)]
* testsuite/odr_violation2.cc (Ordering::operator()): Make
expression more complex.
Ian Lance Taylor [Sat, 9 Jul 2011 00:47:12 +0000 (00:47 +0000)]
PR gold/11317
* target-reloc.h (issue_undefined_symbol_error): New inline
function, broken out of relocate_section.
(relocate_section): Call issue_undefined_symbol_error.
* i386.cc (Target_i386::Relocate::relocate_tls): Don't crash if
there is no TLS segment if we are about to issue an undefined
symbol error.
* x86_64.cc (Target_x86_64::relocate_tls): Likewise.
Alan Modra [Sat, 9 Jul 2011 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Sat, 9 Jul 2011 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Ian Lance Taylor [Fri, 8 Jul 2011 23:49:11 +0000 (23:49 +0000)]
PR gold/12279
* resolve.cc (Symbol_table::should_override): Add fromtype
parameter. Change all callers. Give error when linking together
TLS and non-TLS symbol.
(Symbol_table::should_override_with_special): Add fromtype
parameter. Change all callers.
* i386.cc (Target_i386::Relocate::relocate_tls): Don't crash if
there is no TLS segment if we have reported some errors.
* x86_64.cc (Target_x86_64::relocate_tls): Likewise.
Ian Lance Taylor [Fri, 8 Jul 2011 22:48:08 +0000 (22:48 +0000)]
PR gold/12372
* target.h (Target::plt_address_for_global): New function.
(Target::plt_address_for_local): New function.
(Target::plt_section_for_global): Remove.
(Target::plt_section_for_local): Remove.
(Target::do_plt_address_for_global): New virtual function.
(Target::do_plt_address_for_local): New virtual function.
(Target::do_plt_section_for_global): Remove.
(Target::do_plt_section_for_local): Remove.
(Target::register_global_plt_entry): Add Symbol_table and Layout
parameters.
* output.cc (Output_data_got::Got_entry::write): Use
plt_address_for_global and plt_address_for_local.
* layout.cc (Layout::add_target_dynamic_tags): Use size and
address of output section.
* i386.cc (class Output_data_plt_i386): Add irelative_rel_,
got_irelative_, and irelative_count_ fields. Update
declarations.
(Output_data_plt_i386::has_irelative_section): New function.
(Output_data_plt_i386::entry_count): Add irelative_count_.
(Output_data_plt_i386::set_final_data_size): Likewise.
(class Target_i386): Add got_irelative_ and rel_irelative_
fields. Update declarations.
(Target_i386::Target_i386): Initialize new fields.
(Target_i386::do_plt_address_for_global): New function replacing
do_plt_section_for_global.
(Target_i386::do_plt_address_for_local): New function replacing
do_plt_section_for_local.
(Target_i386::got_section): Create got_irelative_.
(Target_i386::rel_irelative_section): New function.
(Output_data_plt_i386::Output_data_plt_i386): Initialize new
fields. Don't define __rel_iplt_{start,end}.
(Output_data_plt_i386::add_entry): Add symtab and layout
parameters. Change all callers. Use different PLT and GOT for
IFUNC symbols.
(Output_data_plt_i386::add_local_ifunc_entry): Add symtab and
layout parameters. Change all callers. Use different PLT and
GOT.
(Output_data_plt_i386::rel_tls_desc): Fix formatting.
(Output_data_plt_i386::rel_irelative): New function.
(Output_data_plt_i386::address_for_global): New function.
(Output_data_plt_i386::address_for_local): New function.
(Output_data_plt_i386::do_write): Write out IRELATIVE area. Use
IRELATIVE GOT when changing IFUNC GOT entries.
(Target_i386::Scan::global): Use IRELATIVE GOT for IRELATIVE
reloc.
(Target_i386::do_finalize_sections): Create the __rel_iplt symbols
if we didn't create an IRELATIVE GOT.
(Target_i386::Relocate::relocate): Use plt_address_for_global and
plt_address_for_local.
(Target_i386::do_dynsym_value): Use plt_address_for_global.
* x86_64.cc (class Output_data_plt_x86_64): Add irelative_rel_,
got_irelative_, and irelative_count_ fields. Update
declarations.
(Output_data_plt_x86_64::Output_data_plt_x86_64) [both versions]:
Initialize new fields. Remove symtab parameter. Change all
callers.
(Output_data_plt_x86_64::get_tlsdesc_plt_offset): Add
irelative_count_.
(Output_data_plt_x86_64::has_irelative_section): New function.
(Output_data_plt_x86_64::entry_count): Add irelative_count_.
(class Target_x86_64): Add got_irelative_ and rel_irelative_
fields. Update declarations.
(Target_x86_64::Target_x86_64): Initialize new fields.
(Target_x86_64::do_plt_address_for_global): New function replacing
do_plt_section_for_global.
(Target_x86_64::do_plt_address_for_local): New function replacing
do_plt_section_for_local.
(Target_x86_64::got_section): Create got_irelative_.
(Target_x86_64::rela_irelative_section): New function.
(Output_data_plt_x86_64::init): Remove symtab parameter. Change
all callers. Don't create __rel_iplt_{start,end}.
(Output_data_plt_x86_64::add_entry): Add symtab and layout
parameters. Change all callers. Use different PLT and GOT for
IFUNC symbols.
(Output_data_plt_x86_64::add_local_ifunc_entry): Add symtab and
layout parameters. Change all callers. Use different PLT and
GOT.
(Output_data_plt_x86_64::add_relocation): Add symtab and layout
parameters. Change all callers. Use different PLT and GOT for
IFUNC symbols.
(Output_data_plt_x86_64::rela_tlsdesc): Fix formatting.
(Output_data_plt_x86_64::rela_irelative): New function.
(Output_data_plt_x86_64::address_for_global): New function.
(Output_data_plt_x86_64::address_for_local): New function.
(Output_data_plt_x86_64::set_final_data_size): Likewise.
(Output_data_plt_x86_64::do_write): Write out IRELATIVE area.
(Target_x86_64::init_got_plt_for_update): Create got_irelative_.
(Target_x86_64::register_global_plt_entry): Add symtab and layout
parameters.
(Target_x86_64::Scan::global): Use IRELATIVE GOT for IRELATIVE
reloc.
(Target_x86_64::do_finalize_sections): Create the __rela_iplt
symbols if we didn't create an IRELATIVE GOT.
(Target_x86_64::Relocate::relocate): Use plt_address_for_global and
plt_address_for_local.
(Target_x86_64::do_dynsym_value): Use plt_address_for_global.
* testsuite/ifuncvar1.c: New test file.
* testsuite/ifuncvar2.c: New test file.
* testsuite/ifuncvar3.c: New test file.
* testsuite/Makefile.am (check_PROGRAMS): Add ifuncvar.
(ifuncvar1_pic.o, ifuncvar2_pic.o, ifuncvar.so): New targets.
(ifuncvar_SOURCES, ifuncvar_DEPENDENCIES): New variables.
(ifuncvar_LDFLAGS, ifuncvar_LDADD): New variables.
* testsuite/Makefile.in: Rebuild.
Tom Tromey [Fri, 8 Jul 2011 19:54:55 +0000 (19:54 +0000)]
* dwarf2loc.c (locexpr_regname): New function.
(locexpr_describe_location_piece): Use it.
(disassemble_dwarf_expression): Add per_cu argument. Use
locexpr_regname.
<DW_OP_GNU_deref_type, DW_OP_GNU_const_type,
DW_OP_GNU_regval_type, DW_OP_GNU_convert, DW_OP_GNU_reinterpret>:
New cases.
(locexpr_describe_location_1): Add per_cu argument.
(locexpr_describe_location): Update.
(loclist_describe_location): Update.
Tom Tromey [Fri, 8 Jul 2011 16:02:59 +0000 (16:02 +0000)]
* dwarf2expr.c (execute_stack_op): Add QUIT.
Hans-Peter Nilsson [Fri, 8 Jul 2011 08:37:27 +0000 (08:37 +0000)]
* ld-insn.c (print_insn_words): For fields, print conditionals.
Hans-Peter Nilsson [Fri, 8 Jul 2011 06:26:14 +0000 (06:26 +0000)]
Tweak heading of last entry
Hans-Peter Nilsson [Fri, 8 Jul 2011 06:24:11 +0000 (06:24 +0000)]
Correct handling of constant fields.
* gen.c (insn_field_cmp): Tweak comment about neither field
being an insn_field_string with a cond_eq-to-value condition.
(insns_bit_useless) <case insn_field_string, case
decode_find_mixed>: Handle cond_eq-to-value fields as
insn_field_int.
* gen-idecode.c (print_idecode_validate): Handle
insn_field_string cond-equal-to-value fields as insn_field_int.
* gen-icache.c (print_icache_body): Add comment why constant
string fields are handled.
Hans-Peter Nilsson [Fri, 8 Jul 2011 03:41:13 +0000 (03:41 +0000)]
* Makefile.in ($(SIM_MULTI_OBJ)): Depend on sim-main.h
$(SIM_EXTRA_DEPS).
Hans-Peter Nilsson [Fri, 8 Jul 2011 03:18:56 +0000 (03:18 +0000)]
* Makefile.in (tmp-mach-multi): Exit early when igen fails.
Hans-Peter Nilsson [Fri, 8 Jul 2011 02:27:18 +0000 (02:27 +0000)]
Remove all #if 0'd code.
* filter.c: Remove #if 0'd function it_is.
(main): Remove #if 0'd code.
* gen-engine.c: Remove #if 0'd functions print_jump,
print_jump_insn, print_jump_definition,
print_jump_internal_function, print_jump_body.
(gen_engine_c): Remove #if 0'd code.
* gen-idecode.c: Remove #if 0'd functions print_jump print_jump,
print_jump_insn, print_jump_definition,
print_jump_internal_function, print_jump_until_stop_body.
* gen-model.c: Remove #if 0'd functions model_c_or_h_data,
model_c_or_h_function, gen_model_h, model_c_insn,
model_c_function, gen_model_c and types model_c_passed_data
and struct _model_c_passed_data.
* gen.c: Remove #if 0'd type constant_field_types and function
insn_field_is_constant.
(gen_entry_find_opcode_field): Remove #if 0'd code.
* ld-insn.c (parse_insn_model_record): Remove #if 0'd code.
* misc.h (STRDUP, STRNDUP): Remove #if 0'd macros.
Hans-Peter Nilsson [Fri, 8 Jul 2011 01:43:09 +0000 (01:43 +0000)]
* MAINTAINERS: Remove Thiemo Seufer.
Alan Modra [Fri, 8 Jul 2011 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Fri, 8 Jul 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Cary Coutant [Thu, 7 Jul 2011 18:41:53 +0000 (18:41 +0000)]
* testsuite/Makefile.am (two_file_test_1_v1_ndebug.o): New target.
(two_file_test_1_ndebug.o): Likewise.
(two_file_test_1b_ndebug.o): Likewise.
(two_file_test_2_ndebug.o): Likewise.
(two_file_test_main_ndebug.o): Likewise.
(incremental_test_2): Link with no-debug versions.
Jan Kratochvil [Thu, 7 Jul 2011 14:08:21 +0000 (14:08 +0000)]
gdb/testsuite/
* gdb.java/jprint.exp (print a java.lang.String): xfail without system
debug info.
Hui Zhu [Thu, 7 Jul 2011 13:32:55 +0000 (13:32 +0000)]
2011-07-07 Hui Zhu <teawater@gmail.com>
Revert:
2011-07-06 Hui Zhu <teawater@gmail.com>
* remote.c (remote_start_remote): Add TRY_CATCH for
remote_get_trace_status.
* tracepoint.c (disconnect_tracing): Ditto.
Rainer Orth [Thu, 7 Jul 2011 09:28:08 +0000 (09:28 +0000)]
PR target/39150
* configure.ac (i[3456789]86-*-solaris2*): Also accept
x86_64-*-solaris2.1[0-9]*.
* configure: Regenerate.
Andrew Burgess [Thu, 7 Jul 2011 08:38:37 +0000 (08:38 +0000)]
sourceware.org/ml/gdb-patches/2011-07/msg00085.html
* cli/cli-setshow.c (do_setshow_command): Display var_zinteger
variables as signed, not unsigned.
Joel Brobecker [Thu, 7 Jul 2011 02:07:04 +0000 (02:07 +0000)]
Minor forward declaration reformatting (jit.c)
gdb/ChangeLog:
* jit.c (jit_inferior_init): Reformat forward declaration.
Alan Modra [Thu, 7 Jul 2011 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Thu, 7 Jul 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Cary Coutant [Wed, 6 Jul 2011 22:26:37 +0000 (22:26 +0000)]
* gold/incremental.cc
(Output_section_incremental_inputs::write_info_blocks): Check for
hidden and internal symbols.
matt rice [Wed, 6 Jul 2011 22:20:16 +0000 (22:20 +0000)]
MAINTAINERS (Write after approval): Add myself to the list.
Cary Coutant [Wed, 6 Jul 2011 22:15:12 +0000 (22:15 +0000)]
* incremental.cc (Sized_incremental_binary::do_file_has_changed):
Check disposition for startup file.
(Incremental_inputs::report_command_line): Ignore
--incremental-startup-unchanged option.
* options.cc (General_options::parse_incremental_startup_unchanged):
New function.
(General_options::General_options): Initialize new data member.
* options.h (Incremental_disposition): Add INCREMENTAL_STARTUP.
(General_options): Add --incremental-startup-unchanged option.
(General_options::incremental_startup_disposition): New function.
(General_options::incremental_startup_disposition_): New data member.
matt rice [Wed, 6 Jul 2011 22:15:02 +0000 (22:15 +0000)]
gdb.python/python.exp: Update filename paths.
gdb.python/py-symtab.exp: Ditto.
Cary Coutant [Wed, 6 Jul 2011 22:07:59 +0000 (22:07 +0000)]
* incremental.cc (Sized_incremental_binary::setup_readers): Pass
input file index to Script_info ctor.
(Sized_incremental_binary::do_file_has_changed): Find the
command-line argument for files named in scripts.
* incremental.h (Script_info::Script_info): New ctor
with input file index.
(Script_info::input_file_index): New function.
(Script_info::input_file_index_): New data member.
(Incremental_binary::get_library): Add const.
(Incremental_binary::get_script_info): Add const.
* readsyms.cc (Read_member::is_runnable): Check for this_blocker_.
* testsuite/Makefile.am (incremental_test_5): New test case.
(incremental_test_6): New test case.
* testsuite/Makefile.in: Regenerate.
Joel Brobecker [Wed, 6 Jul 2011 21:40:17 +0000 (21:40 +0000)]
Fix JIT clang-lli regression (unable to read JIT descriptor from memory)
2011-07-06 Paul Pluzhnikov <ppluzhnikov@google.com>
* jit.c (jit_inferior_init): Forward declare.
(jit_breakpoint_re_set_internal): Call jit_inferior_init.
testsuite/ChangeLog:
2011-07-06 Paul Pluzhnikov <ppluzhnikov@google.com>
* gdb.base/jit-so.exp: New test.
* gdb.base/jit-dlmain.c: New file.
* gdb.base/jit-main.c: Allow "main" to be elsewhere.
Cary Coutant [Wed, 6 Jul 2011 21:22:55 +0000 (21:22 +0000)]
* incremental.cc (Sized_incremental_binary::do_check_inputs): Add
debug output when command lines differ.
Cary Coutant [Wed, 6 Jul 2011 21:19:32 +0000 (21:19 +0000)]
* incremental.cc (Incremental_inputs::report_command_line): Ignore
--incremental-patch option.
* layout.cc (Free_list::allocate): Extend allocation beyond original
end if enabled.
(Layout::make_output_section): Mark sections that should get
patch space.
* options.cc (parse_percent): New function.
* options.h (parse_percent): New function.
(DEFINE_percent): New macro.
(General_options): Add --incremental-patch option.
* output.cc (Output_section::Output_section): Initialize new data
members.
(Output_section::add_input_section): Print section name when out
of patch space.
(Output_section::add_output_section_data): Likewise.
(Output_section::set_final_data_size): Add patch space when
doing --incremental-full.
(Output_section::do_reset_address_and_file_offset): Remove patch
space.
(Output_segment::set_section_list_addresses): Print debug output
only if --incremental-update.
* output.h (Output_section::set_is_patch_space_allowed): New function.
(Output_section::is_patch_space_allowed_): New data member.
(Output_section::patch_space_): New data member.
* parameters.cc (Parameters::incremental_full): New function.
* parameters.h (Parameters::incremental_full): New function
* testsuite/Makefile.am (incremental_test_2): Add test for
--incremental-patch option.
* testsuite/Makefile.in: Regenerate.
* testsuite/two_file_test_1_v1.cc (t1, t2, t3): Add comments.
(t18): Remove function body.
Marek Polacek [Wed, 6 Jul 2011 19:52:21 +0000 (19:52 +0000)]
gdb.python/py-evthreads.exp: add missing $
Mike Frysinger [Wed, 6 Jul 2011 18:40:30 +0000 (18:40 +0000)]
gdb: testsuite: add Blackfin support
This fills out a few of the test places where needed for Blackfin targets.
Signed-off-by: Jie Zhang <jie.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Richard Sandiford [Wed, 6 Jul 2011 18:01:51 +0000 (18:01 +0000)]
gas/
2011-07-04 Aurelien Jarno <aurelien@aurel32.net>
* config/tc-mips.c (append_insn): delete prev_pinfo2 and pinfo2.
Doug Kwan [Wed, 6 Jul 2011 17:58:42 +0000 (17:58 +0000)]
2011-07-05 Doug Kwan <dougkwan@google.com>
PR gold/12771
* arm.cc (Arm_relocate_functions::abs8): Use int32_t for addend and
Arm_Address type for relocation result.
(Arm_relocate_functions::abs16): Use unaligned access. Also fix
overflow check.
(Arm_relocate_functions::abs32): Use unaligned access.
(Arm_relocate_functions::rel32): Ditto.
(Arm_relocate_functions::prel31): Ditto.
(Arm_exidix_cantunwind::do_fixed_endian_write): Ditto.
* testsuite/Makefile.am: Add new test arm_unaligned_reloc for unaligned
static data relocations.
* testsuite/Makefile.in: Regnerate.
* testsuite/arm_unaligned_reloc.{s,sh}: New files.
Marek Polacek [Wed, 6 Jul 2011 15:00:15 +0000 (15:00 +0000)]
Fix race in gdb.python/py-evthreads.exp
Tristan Gingold [Wed, 6 Jul 2011 07:22:20 +0000 (07:22 +0000)]
bfd/
2011-07-06 Tristan Gingold <gingold@adacore.com>
* mach-o.h: Move loader related definitions to
include/mach-o/loader.h. Include it.
include/mach-o/
2011-07-06 Tristan Gingold <gingold@adacore.com>
* loader.h: New file.
Ian Lance Taylor [Wed, 6 Jul 2011 05:12:03 +0000 (05:12 +0000)]
PR gold/12392
* i386.cc (Target_i386::do_finalize_sections): Define __rel_iplt
symbols if necessary.
* x86_64.cc (Target_x86_64::do_finalize_sections): Likewise.
Ian Lance Taylor [Wed, 6 Jul 2011 04:43:39 +0000 (04:43 +0000)]
PR gold/12952
* resolve.cc (Symbol::override_base_with_special): Simply override
version with special symbol version, ignoring previous version.
Hui Zhu [Wed, 6 Jul 2011 02:46:47 +0000 (02:46 +0000)]
Correct a email error.
Hui Zhu [Wed, 6 Jul 2011 02:43:12 +0000 (02:43 +0000)]
2011-07-06 Hui Zhu <teawater@gmail.com>
* remote.c (remote_start_remote): Add TRY_CATCH for
remote_get_trace_status.
* tracepoint.c (disconnect_tracing): Ditto.
Alan Modra [Wed, 6 Jul 2011 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Wed, 6 Jul 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Ian Lance Taylor [Tue, 5 Jul 2011 20:38:53 +0000 (20:38 +0000)]
* object.cc (Sized_relobj_file::include_section_group): Add
information to comment about signature location.
Tom Tromey [Tue, 5 Jul 2011 20:30:19 +0000 (20:30 +0000)]
* symtab.c (operator_chars): Now static.
* linespec.c (operator_chars): Don't declare.
Mike Frysinger [Tue, 5 Jul 2011 19:06:38 +0000 (19:06 +0000)]
sim: start a unified sim_do_command
Since sim_do_command for many people simply calls sim_args_command, start
a unified version of it. For people who handle their own options, they
could switch to this by using sim_add_option_table instead.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
H.J. Lu [Tue, 5 Jul 2011 19:04:41 +0000 (19:04 +0000)]
Always elf_backend_post_process_headers to _bfd_elf_set_osabi.
2011-07-05 H.J. Lu <hongjiu.lu@intel.com>
* elf64-x86-64.c (elf_backend_post_process_headers): Always
define to _bfd_elf_set_osabi.
Thiago Jung Bauermann [Tue, 5 Jul 2011 18:36:52 +0000 (18:36 +0000)]
* ui-out.h (ui_out_field_core_addr): Fix typo in comment.
DJ Delorie [Tue, 5 Jul 2011 15:40:17 +0000 (15:40 +0000)]
merge from gcc
Tom Tromey [Tue, 5 Jul 2011 13:36:42 +0000 (13:36 +0000)]
gdb
* gnu-v3-abi.c (gnuv3_rtti_type): Check TYPE_CPLUS_REALLY_JAVA.
* gdbtypes.h (struct cplus_struct_type) <is_java>: New field.
(TYPE_CPLUS_REALLY_JAVA): New macro.
* dwarf2read.c (process_structure_scope): Set
TYPE_CPLUS_REALLY_JAVA.
gdb/testsuite
* gdb.java/jprint.java (jprint.hi): New field.
* gdb.java/jprint.exp: Print string.
Thiago Jung Bauermann [Tue, 5 Jul 2011 04:35:00 +0000 (04:35 +0000)]
gdb/
* ada-lang.c: Fix typos.
* amd64-tdep.c: Likewise.
* breakpoint.c: Likewise.
* cli/cli-decode.c: Likewise.
* findcmd.c: Likewise.
* inline-frame.c: Likewise.
* mi/mi-main.c: Likewise.
* minsyms.c: Likewise.
* monitor.c: Likewise.
* monitor.h: Likewise.
* prologue-value.c: Likewise.
* reverse.c: Likewise.
* s390-tdep.c: Likewise.
gdb/testsuite/
* gdb.base/call-sc.c: Likewise.
* gdb.base/ifelse.exp: Likewise.
* gdb.base/structs.c: Likewise.
gdb/doc/
* gdb.texinfo: Likewise.
Alan Modra [Tue, 5 Jul 2011 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Tue, 5 Jul 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Maciej W. Rozycki [Mon, 4 Jul 2011 22:48:42 +0000 (22:48 +0000)]
* gas/mips/loc-swap.s: Add file missing from a previous commit.
Richard Sandiford [Mon, 4 Jul 2011 20:22:52 +0000 (20:22 +0000)]
gas/
* config/tc-mips.c (gpr_read_mask, gpr_write_mask): Fix handling
of register 0.
Joel Brobecker [Mon, 4 Jul 2011 19:50:44 +0000 (19:50 +0000)]
Minor comment reformatting in generic_elf_osabi_sniffer
Comment says it all. I just felt that putting some new text in
a separate paragraph allowed us to clearly identify the section
about ELFOSABI_NONE, and the part that talks about the new
ELFOSABI_GNU.
gdb/ChangeLog:
* osabi.c (generic_elf_osabi_sniffer): Minor comment reformatting.
Joel Brobecker [Mon, 4 Jul 2011 19:32:07 +0000 (19:32 +0000)]
ada-tasks.c: handle known tasks maintained by a simply-linked list.
The mapping between Ada tasks, and the underlying threads is
normally maintained by the GNAT runtime under the known_tasks
array. For performance reasons, this array is just a static
array with 10_000 entries in it. However, this is not very
practical in certain environments where memory is limited.
For those environments, the runtime has been enhanced to use
an alternate scheme with a linked list.
This change enhances the Ada tasking support to recognize this
situation and use the correct way of reading the tasks info
based on the the situation.
gdb/ChangeLog (Tristan Gingold)
* ada-tasks.c (KNOWN_TASKS_LIST): New macro.
(tcb_fieldno): Add activation_link field.
(get_known_tasks_addr): Moved and rewritten.
(get_tcb_types_info): Set activation_link field.
(read_known_tasks_array): Add parameter. Rewritten.
(read_known_tasks_list): New function.
(read_known_tasks): New function.
(ada_build_task_list): Call read_known_tasks instead of
read_known_tasks_array.
* ravenscar-thread.c: Add first_task_name constant.
(has_ravenscar_runtime): Check for task list too.
Joel Brobecker [Mon, 4 Jul 2011 19:31:49 +0000 (19:31 +0000)]
Minor changes in ada-tasks.c
Just some minor cleanup changes in preparation for an upcoming
change...
gdb/ChangeLog (Tristan Gingold)
* ada-tasks.c: Renames fieldno to actb_fieldno.
(ada_get_task_number): Indentation.
(get_tcb_types_info): Remove all parameters. Write directly
the globals.
(ptid_from_atcb_common): Adjust.
(read_atcb): Adjust.
Maciej W. Rozycki [Mon, 4 Jul 2011 19:27:28 +0000 (19:27 +0000)]
gas/
* config/tc-mips.c (append_insn): Make sure DWARF-2 location
information is properly adjusted for branches that get swapped.
gas/testsuite/
* gas/mips/loc-swap.d: New test case for DWARF-2 location with
branch swapping.
* gas/mips/loc-swap-dis.d: Likewise.
* gas/mips/mips16@loc-swap.d: Likewise, MIPS16 version.
* gas/mips/mips16@loc-swap-dis.d: Likewise.
* gas/mips/loc-swap.s: Source for the new tests.
* gas/mips/mips.exp: Run the new tests.
Thiago Jung Bauermann [Mon, 4 Jul 2011 18:51:12 +0000 (18:51 +0000)]
* symtab.c (in_prologue): Remove mention of ppc's refine_prologue_limit.
Thiago Jung Bauermann [Mon, 4 Jul 2011 18:50:17 +0000 (18:50 +0000)]
* ui-out.c (ui_out_field_core_addr): Mention that the function
description is in the header file.
* ui-out.h (ui_out_field_core_addr): Document function.
Thiago Jung Bauermann [Mon, 4 Jul 2011 18:48:25 +0000 (18:48 +0000)]
* ui-out.c (ui_out_get_field_separator): Remove unused function.
* ui-out.h (ui_out_get_field_separator): Remove prototype.
Thiago Jung Bauermann [Mon, 4 Jul 2011 18:47:09 +0000 (18:47 +0000)]
* symtab.c (expand_line_sal): Remove empty line.
Thomas Schwinge [Mon, 4 Jul 2011 18:33:37 +0000 (18:33 +0000)]
ELFOSABI_GNU.
gdb/
* osabi.c (generic_elf_osabi_sniffer) <ELFOSABI_GNU>: Handle in the
same way as ELFOSABI_NONE.
<ELFOSABI_LINUX, ELFOSABI_HURD>: Remove cases.
Thiago Jung Bauermann [Mon, 4 Jul 2011 18:31:25 +0000 (18:31 +0000)]
* breakpoint.c: Fix typos in comments.
* linespec.c: Likewise.
* symtab.c: Likewise.
Joel Brobecker [Mon, 4 Jul 2011 16:30:09 +0000 (16:30 +0000)]
Do not load .eh_frame section from separete object files
We don't need to read the .eh_frame section from the separate
object files, because this data is already present in the
main executable (it needs to, or the program wouldn't work).
We discovered this investigating a problem with the 'next' command,
which was due to unwind failures, which came from the fact that
the .eh_frame was incorrectly relocated.
gdb/ChangeLog (Tristan Gingold):
* dwarf2-frame.c (dwarf2_build_frame_info): Do not load .eh_frame
section in separate object files.
Jan Kratochvil [Mon, 4 Jul 2011 14:16:14 +0000 (14:16 +0000)]
gdb/
Fix false GCC warning.
* linespec.c (decode_line_1): Initialize values.
Alan Modra [Mon, 4 Jul 2011 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Mon, 4 Jul 2011 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Thomas Schwinge [Sun, 3 Jul 2011 13:45:32 +0000 (13:45 +0000)]
ELFOSABI_GNU
bfd/
* elf.c (_bfd_elf_set_osabi): Use ELFOSABI_GNU name instead of
ELFOSABI_LINUX alias.
* elf32-hppa.c: Likewise.
* elf32-i370.c: Likewise.
* elf64-hppa.c: Likewise.
binutils/
* elfedit.c (osabis): Use ELFOSABI_GNU name instead of ELFOSABI_LINUX
alias and ELFOSABI_HURD. Add GNU alias.
* readelf.c (get_osabi_name, get_symbol_binding, get_symbol_type):
Likewise.
* doc/binutils.texi <elfedit>: Update accordingly.
elfcpp/
* elfcpp.h (ELFOSABI): Add ELFOSABI_GNU with value of ELFOSABI_LINUX,
keep ELFOSABI_LINUX as an alias. Remove ELFOSABI_HURD.
gas/
* config/obj-elf.c (obj_elf_type): Use ELFOSABI_GNU name instead of
ELFOSABI_LINUX alias.
* config/tc-ia64.c: Likewise.
include/elf/
* common.h (ELFOSABI_GNU): Define, replaces...
(ELFOSABI_LINUX): ... this, kept as an alias.
(ELFOSABI_HURD): Remove.
ld/testsuite/
* ld-ifunc/ifunc.exp: Update for changed output.
* ld-unique/unique.exp: Likewise.
Thomas Schwinge [Sun, 3 Jul 2011 13:37:09 +0000 (13:37 +0000)]
ELFOSABI_GNU
bfd/
* elf.c (_bfd_elf_set_osabi): Use ELFOSABI_GNU name instead of
ELFOSABI_LINUX alias.
* elf32-hppa.c: Likewise.
* elf32-i370.c: Likewise.
* elf64-hppa.c: Likewise.
binutils/
* elfedit.c (osabis): Use ELFOSABI_GNU name instead of ELFOSABI_LINUX
alias and ELFOSABI_HURD. Add GNU alias.
* readelf.c (get_osabi_name, get_symbol_binding, get_symbol_type):
Likewise.
* doc/binutils.texi <elfedit>: Update accordingly.
elfcpp/
* elfcpp.h (ELFOSABI): Add ELFOSABI_GNU with value of ELFOSABI_LINUX,
keep ELFOSABI_LINUX as an alias. Remove ELFOSABI_HURD.
gas/
* config/obj-elf.c (obj_elf_type): Use ELFOSABI_GNU name instead of
ELFOSABI_LINUX alias.
* config/tc-ia64.c: Likewise.
include/elf/
* common.h (ELFOSABI_GNU): Define, replaces...
(ELFOSABI_LINUX): ... this, kept as an alias.
(ELFOSABI_HURD): Remove.
ld/testsuite/
* ld-ifunc/ifunc.exp: Update for changed output.
* ld-unique/unique.exp: Likewise.
Ian Lance Taylor [Sun, 3 Jul 2011 04:46:56 +0000 (04:46 +0000)]
PR gold/12957
* options.h (class General_options): Add -f and -F.
* options.cc (General_options::finalize): Fatal error if -f/-F
are used without -shared.
* layout.cc (Layout::finish_dynamic_section): Implement -f/-F.
Ian Lance Taylor [Sun, 3 Jul 2011 04:16:13 +0000 (04:16 +0000)]
* dirsearch.cc (Dir_cache::read_files): Ignore ENOTDIR errors.
Alan Modra [Sun, 3 Jul 2011 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Sun, 3 Jul 2011 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Jan Kratochvil [Sat, 2 Jul 2011 15:13:13 +0000 (15:13 +0000)]
gdb/testsuite/
* gdb.cp/m-static.exp: Call get_compiler_info.
(static const int initialized nowhere): Call setup_xfail for gcc <= 4.4.
* gdb.cp/pr9167.exp (p b): Likewise.
* gdb.cp/temargs.exp: Do not set have_pr_45024_fixed for gcc 4.6.
(test value of P in inner_m, test type of Z in inner_m): Call
setup_xfail for gcc <= 4.5.
Jan Kratochvil [Sat, 2 Jul 2011 12:08:44 +0000 (12:08 +0000)]
gdb/testsuite/
* gdb.cp/m-static.exp: Call get_compiler_info.
(static const int initialized nowhere): Call setup_xfail for gcc<=4.4.
Ian Lance Taylor [Sat, 2 Jul 2011 05:30:00 +0000 (05:30 +0000)]
PR gold/12525
PR gold/12952
* resolve.cc (Symbol::override_base_with_special): Don't override
the version if the overriding symbol has a different name.
* dynobj.cc (Versions::add_def): Add dynpool parameter. Change
all callers. If we give an error about an undefined version,
define the base version if necessary.
* dynobj.h (class Versions): Update declaration.
* testsuite/weak_alias_test_5.cc: New file.
* testsuite/weak_alias_test.script: New file.
* testsuite/weak_alias_test_main.cc: Check that versioned_symbol
and versioned_alias have the right value, and call t2.
* testsuite/Makefile.am (weak_alias_test_DEPENDENCIES): Add
weak_alias_test_5.so.
(weak_alias_test_LDADD): Likewise.
(weak_alias_test_5_pic.o, weak_alias_test_5.so): New targets.
* testsuite/Makefile.in: Rebuild.
Ian Lance Taylor [Sat, 2 Jul 2011 04:50:13 +0000 (04:50 +0000)]
* dwarf.h (enum DW_CFA): Define.
Ian Lance Taylor [Sat, 2 Jul 2011 00:39:13 +0000 (00:39 +0000)]
PR gold/12525
* options.h (class General_options): Support -z notext.
* testsuite/Makefile.am (two_file_shared_1_nonpic.so): Use
-Wl,-z,notext.
(two_file_shared_nonpic.so): Likewise.
(two_file_shared_mixed.so): Likewise.
(two_file_shared_mixed_1.so): Likewise.
(weak_undef_lib_nonpic.so): Likewise.
(alt/weak_undef_lib_nonpic.so): Likewise.
(tls_test_shared_nonpic.so): Likewise.
* testsuite/Makefile.in: Rebuild.
Ian Lance Taylor [Sat, 2 Jul 2011 00:31:35 +0000 (00:31 +0000)]
Correct last commit.
Ian Lance Taylor [Sat, 2 Jul 2011 00:19:04 +0000 (00:19 +0000)]
PR gold/12525
* configure.ac: Test whether static linking works, setting
the automake conditional HAVE_STATIC.
* testsuite/Makefile.am: Disable tests using -static if
HAVE_STATIC is not true.
* configure, testsuite/Makefile.in: Rebuild.
Ian Lance Taylor [Sat, 2 Jul 2011 00:03:25 +0000 (00:03 +0000)]
PR gold/12525
* ehframe.cc (Eh_frame_hdr::get_fde_pc): Handle DW_EH_PE_datarel.
Assert if we see DW_EH_PE_indirect.
* target.h (Target::ehframe_datarel_base): New function.
(Target::do_ehframe_datarel_base): New target function.
* i386.cc (Target_i386::do_ehframe_datarel_base): New function.
* x86_64.cc (Target_x86_64::do_ehframe_datarel_base): New
function.
Alan Modra [Sat, 2 Jul 2011 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Sat, 2 Jul 2011 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Ian Lance Taylor [Fri, 1 Jul 2011 22:54:04 +0000 (22:54 +0000)]
Correct comment in last commit.
Ian Lance Taylor [Fri, 1 Jul 2011 22:14:56 +0000 (22:14 +0000)]
* elf32-i386.c (elf_i386_eh_frame_plt): Correct expression: change
DW_OP_lit3 to DW_OP_lit2.
Ian Lance Taylor [Fri, 1 Jul 2011 22:05:01 +0000 (22:05 +0000)]
PR gold/12571
* options.h (class General_options): Add
--ld-generated-unwind-info.
* ehframe.cc (Fde::write): Add address parameter. Change all
callers. If associated with PLT, fill in address and size.
(Cie::set_output_offset): Only add merge mapping if there is an
object.
(Cie::write): Add address parameter. Change all callers.
(Eh_frame::add_ehframe_for_plt): New function.
* ehframe.h (class Fde): Update declarations. Move shndx_ and
input_offset_ fields into union u_, with new plt field.
(Fde::Fde): Adjust for new union field.
(Fde::Fde) [Output_data version]: New constructor.
(Fde::add_mapping): Only add merge mapping if there is an object.
(class Cie): Update declarations.
(class Eh_frame): Declare add_ehframe_for_plt.
* layout.cc (Layout::layout_eh_frame): Break out code into
make_eh_frame_section, and call it.
(Layout::make_eh_frame_section): New function.
(Layout::add_eh_frame_for_plt): New function.
* layout.h (class Layout): Update declarations.
* merge.cc (Merge_map::add_mapping): Add assertion.
* i386.cc: Include "dwarf.h".
(class Output_data_plt_i386): Make first_plt_entry,
dyn_first_plt_entry, exec_plt_entry, and dyn_plt_entry const. Add
plt_eh_frame_cie_size, plt_eh_frame_fde_size, plt_eh_frame_cie,
and plt_eh_frame_fde.
(Output_data_plt_i386::Output_data_plt_i386): Align to 16-byte
boundary. Call add_eh_frame_for_plt if appropriate.
* x86_64.cc: Include "dwarf.h".
(class Output_data_plt_x86_64): Align to 16-byte boundary. Make
first_plt_entry, plt_entry and tlsdesc_plt_entry const. Add
plt_eh_frame_cie_size, plt_eh_frame_fde_size, plt_eh_frame_cie,
and plt_eh_frame_fde.
(Output_data_plt_x86_64::init): Call add_eh_frame_for_plt if
appropriate.
Mike Frysinger [Fri, 1 Jul 2011 21:53:03 +0000 (21:53 +0000)]
sim: bfin: implement stat_map for virtual environments (libgloss)
The stat syscalls cannot work without a stat map, so declare one that
matches libgloss for virtual environments.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Jan Kratochvil [Fri, 1 Jul 2011 20:27:59 +0000 (20:27 +0000)]
gdb/
* linespec.c (find_method): Accept the function type automatically only
if it was specified with parameter types.
gdb/testsuite/
* gdb.cp/paren-type.cc: New files.
* gdb.cp/paren-type.exp: New files.
Jan Kratochvil [Fri, 1 Jul 2011 20:19:04 +0000 (20:19 +0000)]
gdb/
Stop on first linespec terminator instead of eating what we can.
* linespec.c (is_linespec_boundary): New function.
(name_end): Remove function.
(keep_name_info): New parameter on_boundary, replace the body.
(decode_line_1): Provide the parameter to keep_name_info.
(decode_compound): Likewise. Drop the trailing java return type
handling. Twice.
gdb/testsuite/
Stop on first linespec terminator instead of eating what we can.
* gdb.cp/minsym-fallback-main.cc (main): Call also C::operator ().
* gdb.cp/minsym-fallback.cc (C::operator ()): Define.
* gdb.cp/minsym-fallback.exp (break 'C::f()'): Change to ...
(break C::f()): ... this one.
(break C::operator()()): New test.
* gdb.cp/minsym-fallback.h (C::operator ()): Declare.
* gdb.java/jmisc.exp (break jmisc.main(java.lang.String[])int): New
test.
Jan Kratochvil [Fri, 1 Jul 2011 20:16:39 +0000 (20:16 +0000)]
gdb/
Fall back linespec to minimal symbols.
* linespec.c (decode_line_1): New variable ex, saved_argptr. Protect
decode_compound by TRY_CATCH, fall back on minsyms if it failed.
(find_method, symbol_found): Change error to cplusplus_error.
gdb/testsuite/
Fall back linespec to minimal symbols.
* gdb.base/psymtab.exp (Don't search past end of psymtab.): Update the
error message.
* gdb.cp/cplusfuncs.exp (list foo::operator int*): Likewise.
* gdb.cp/minsym-fallback-main.cc: New file.
* gdb.cp/minsym-fallback.cc: New file.
* gdb.cp/minsym-fallback.exp: New file.
* gdb.cp/minsym-fallback.h: New file.
Jan Kratochvil [Fri, 1 Jul 2011 19:19:13 +0000 (19:19 +0000)]
gdb/Changelog fix:
* symtab.c (symbol_find_demangled_name): Remove DMGL_VERBOSE.
Jan Kratochvil [Fri, 1 Jul 2011 19:18:36 +0000 (19:18 +0000)]
gdb/
* symtab.c (symbol_find_demangled_name): Likewise.
gdb/testsuite/
* gdb.cp/no-dmgl-verbose.cc: New file.
* gdb.cp/no-dmgl-verbose.exp: New file.
Jan Kratochvil [Fri, 1 Jul 2011 19:12:12 +0000 (19:12 +0000)]
gdb/
* dwarf2read.c (check_physname): New variable.
(dwarf2_physname): Prefer DW_AT_linkage_name over dwarf2_compute_name.
(show_check_physname): New function.
(_initialize_dwarf2_read): Add `check-physname' for check_physname.
gdb/doc/
* gdb.texinfo (Debugging Output): Document set debug
check-physname.
gdb/testsuite/
* gdb.base/break-interp.exp (reach_1, test_ld): Allow also the prefix
__GI_.
* gdb.cp/psymtab-parameter.cc (func): Make it a template function.
(f): New function.
* gdb.cp/psymtab-parameter.exp (complete break 'func(): Rename to ...
(complete p 'func<short>(): ... here.
* gdb.dwarf2/dw2-linkage-name-trust-main.cc: New file.
* gdb.dwarf2/dw2-linkage-name-trust.S: New file.
* gdb.dwarf2/dw2-linkage-name-trust.exp: New file.
* gdb.cp/temargs.exp (test type of F in k3_m, test value of F in k3_m):
Make them KFAIL gcc/49546.
Joel Brobecker [Fri, 1 Jul 2011 18:36:45 +0000 (18:36 +0000)]
remove comment in machoread.c (macho_symfile_read)
Does not seem to be applicable to the current code anymore.
gdb/ChangeLog:
* machoread.c (macho_symfile_read): Delete OBE comment.
Joel Brobecker [Fri, 1 Jul 2011 18:36:36 +0000 (18:36 +0000)]
[mach-o] get rid of current_oso global
This current_oso global was used to store the OSO's symbol table
in order to relocate common symbols. But it is also making the
assumption that all sections are going to be immediately relocated
as macho_add_oso_symfile does:
- Initialize the current_oso
- Use it through symbol_file_add_from_bfd
- Reset the current_oso (to all fields NULL)
What actually happens is that the .debug_frame section gets read
lazily, and thus relocated at a later time. This relocation causes
current_oso.symbol_table to be initialized (see macho_symfile_relocate)
again. And this eventually causes to trip the...
gdb_assert (current_oso.symbol_table == NULL);
...assertion to fail because the symbol_table was never free'ed.
To be complete, this happens because macho_symfile_relocate was
called outside of macho_add_oso_symfile's control, where the
set-global/use/unset-global dance happens.
But it looks like keeping this global around is not necessary, as
this symbol table is only used to relocate the common symbols.
We can do that prior to relocating the rest of the symbols.
gdb/ChangeLog:
* machoread.c (struct macho_oso_data): Delete.
(current_oso): Delete.
(macho_relocate_common_syms): New function, mostly extracted
out of
(macho_add_oso_symfile): Call macho_relocate_common_syms.
Remove code that sets and unset current_oso.
(macho_symfile_relocate): Delete handling of common symbols,
now moved to macho_relocate_common_syms.
Joel Brobecker [Fri, 1 Jul 2011 18:36:28 +0000 (18:36 +0000)]
[Darwin] Do not crash (failed assertion) after PT_KILL ptrace error
It might not be a debugger bug that caused the PT_KILL ptrace operation
to fail. So emit a warning instead, and try to continue.
This patch also tries to handle the case where ptrace return -1,
but left errno set to zero. According to the ptrace man page,
it is possible for some ptrace operations to return -1 in non-error
situations, and to detect those situations, it explains that errno
should be set prior to calling ptrace, and then checked again after.
gdb/ChangeLog:
* darwin-nat.c (darwin_ptrace): Add documentation.
Set errno to zero before calling ptrace. If ptrace returns
-1 and errno is zero, then change then return zero.
(darwin_kill_inferior): Issue a warning instead of triggering
a failed assertion when the PT_KILL ptrace operations returned
nonzero.