Joel Brobecker [Fri, 1 Jan 2010 07:54:37 +0000 (07:54 +0000)]
Update copyright years in all relevant texinfo documents.
* agentexpr.texi: Add 2010 to the list of copyright years.
* annotate.texinfo: Likewise.
* gdb.texinfo: Likewise.
* gdbint.texinfo: Likewise.
* observer.texi: Likewise.
* stabs.texinfo: Likewise.
Nick Clifton [Thu, 31 Dec 2009 14:10:29 +0000 (14:10 +0000)]
* dwarf2.c (struct line_sequence): New struct.
(struct line_info_table): Add num_sequences, remove last_line,
add sequences.
(add_line_info): Add new sequences as necessary.
(compare_sequences): New function.
(sort_line_sequences): New function.
(decode_line_info): Initialize new fields in line table.
Call sort_line_sequences.
(lookup_address_in_line_info_table): Binary search for proper
sequence.
Ian Lance Taylor [Thu, 31 Dec 2009 05:07:22 +0000 (05:07 +0000)]
PR 10979
* common.cc (Sort_commons::operator()): Stabilize sort when both
entries are NULL.
(Symbol_table::do_allocate_commons_list): When allocating common
symbols, skip a symbol which is no longer common.
* symtab.h (Symbol::is_common): Test whether the symbol comes from
an object before checking its type.
* testsuite/common_test_2.c: New file.
* testsuite/common_test_3.c: New file.
* testsuite/Makefile.am (check_PROGRAMS): Add common_test_2.
(common_test_2_SOURCES, common_test_2_DEPENDENCIES): Define.
(common_test_2_LDFLAGS, common_test_2_LDADD): Define.
(common_test_2_pic.o, common_test_2.so): New targets.
(common_test_3_pic.o, common_test_3.so): New targets.
* testsuite/Makefile.in: Rebuild.
Ian Lance Taylor [Thu, 31 Dec 2009 03:48:46 +0000 (03:48 +0000)]
PR 10979
* script.cc (read_input_script): If we see a new SECTIONS clause,
and we have added an input section, give an error.
* layout.h (class Layout): Add have_added_input_section function.
Add have_added_input_section_ field.
* layout.cc (Layout::Layout): Initialize
have_added_input_section_.
(Layout::layout): Set have_added_input_section_.
(Layout::layout_eh_frame): Likewise.
Ian Lance Taylor [Thu, 31 Dec 2009 01:14:34 +0000 (01:14 +0000)]
PR 10916
* symtab.cc (Symbol_table::add_from_relobj): When not exporting
symbols from this object, don't change the visibility of an
undefined symbol.
* testsuite/exclude_libs_test_1.c (lib1_ref): New function.
Ian Lance Taylor [Wed, 30 Dec 2009 22:35:49 +0000 (22:35 +0000)]
PR 10861
* script.h (class Version_script_info): Define Language enum.
Update declarations. Define Glob, Exact, and Lookup types. Add
new fields globals_, locals_, and is_finalized_.
* script.cc: Various formatting fixes.
(class Parser_closure): Change language_stack_ from a vector of
std::string to one of Version_script_info::Language. Adjust all
uses accordingly.
(class Lazy_demangler): Remove.
(struct Version_expression): Change language from std::string to
Version_script_info::Language.
(Version_script_info::Version_script_info): New function.
(Version_script_info::~Version_script_info): Don't call clear.
(Version_script_info::finalize): New function.
(Version_script_info::build_lookup_tables): New function.
(Version_script_info::build_expression_list_lookup): New
function.
(Version_script_info::get_symbol_version_helper): Rewrite to use
lookup tables.
(Version_script_info::print_expression_list): Adjust to use
Version_script_info::Language.
(script_push_lex_into_version_mode): Check that the version script
has not been finalized.
(version_script_push_lang): Change language string to
Version_script_info::Language.
* options.cc (Command_line::version_script): New function.
* options.h (class General_options): Add finalize_dynamic_list
function. Change version_script from declaration to definition.
* testsuite/ver_test_4.script: Remove duplicate def of t2_2.
* testsuite/version_script.map: Remove duplicate def of foo.
* testsuite/Makefile.am (ver_matching_def.so): Depend upon
version_script.map.
* testsuite/Makefile.in: Rebuild.
Ian Lance Taylor [Wed, 30 Dec 2009 20:23:29 +0000 (20:23 +0000)]
PR 10670
* options.h (class General_options): Add -x/--discard-all.
* object.cc (Sized_relobj::do_count_local_symbols): Handle
--discard-all. If the local symbol needs a dynamic entry, check
that before handling --discard-locals.
Ian Lance Taylor [Wed, 30 Dec 2009 19:29:20 +0000 (19:29 +0000)]
PR 10450
* output.cc (Output_segment::Output_segment): If PT_TLS, set the
flags to PF_R.
(Output_segment::add_output_section): Don't change the flags if
the type is PT_TLS.
gdb/
* valarith.c (value_equal_contents): New function.
* value.h (value_equal_contents): Declare.
* breakpoint.c (watchpoint_check): Use value_equal_contents
instead of value_equal.
gdb/testsuite/
* gdb.base/watchpoint.exp (test_watchpoint_in_big_blob): New function.
(top level): Call test_watchpoint_in_big_blob.
* gdb.base/watchpoint.c (buf): Change size to value too big for hardware
watchpoints.
(func3): Write to buf.
Stan Shebs [Wed, 30 Dec 2009 16:11:08 +0000 (16:11 +0000)]
Add default-collect variable.
* tracepoint.c (default_collect): New global.
(encode_actions): Use it.
(download_tracepoint): Test it, for otherwise
action-less tracepoints.
(_initialize_tracepoint): Add set/show.
* NEWS: Mention default-collect.
Ian Lance Taylor [Wed, 30 Dec 2009 08:29:37 +0000 (08:29 +0000)]
PR 10450
* dynobj.cc (Dynobj::create_gnu_hash_table): Add symbols to the
GNU hash table if they need a dynamic value. Otherwise, don't add
them if they are defined in a dynamic object or are forced local.
Ian Lance Taylor [Wed, 30 Dec 2009 07:40:01 +0000 (07:40 +0000)]
PR 10450
* symtab.h (Symbol::needs_dynsym_entry): A symbol in both a
regular and a dynamic object only needs a dynamic symbol table
entry if it is externally visible.
Ian Lance Taylor [Wed, 30 Dec 2009 04:00:21 +0000 (04:00 +0000)]
PR 10450
* output.h (class Output_section): Add is_entsize_zero_ field.
* output.cc (Output_section::Output_section): Initialize
is_entsize_zero_.
(Output_section::set_entsize): If two different entsizes are
requested, force it to zero.
(Output_section::add_input_section): Set flags for .debug_str
before updating section flags. Set entsize.
(Output_section::update_flags_for_input_section): Set SHF_MERGE
and SHF_STRING if all input sections have those flags.
Stan Shebs [Tue, 29 Dec 2009 23:57:59 +0000 (23:57 +0000)]
* language.c (pointer_type): Un-comment out.
* ax-gdb.c: Include language.h, use pointer_type throughout
instead of testing TYPE_CODE_PTR.
(gen_fetch): Include TYPE_CODE_REF.
(gen_cast): Ditto.
Add trace state variables.
* ax.h (enum agent_op): Add getv, setv, and tracev.
(ax_tsv): Declare.
* ax-gdb.c: Include tracepoint.h.
(gen_expr): Handle BINOP_ASSIGN, BINOP_ASSIGN_MODIFY, and
OP_INTERNALVAR.
(gen_expr_binop_rest): New function, split from gen_expr.
* ax-general.c (ax_tsv): New function.
(aop_map): Add new bytecodes.
* tracepoint.h (struct trace_state_variable): New struct.
(tsv_s): New typedef.
(find_trace_state_variable): Declare.
* tracepoint.c (tvariables): New global.
(next_tsv_number): New global.
(create_trace_state_variable): New function.
(find_trace_state_variable): New function.
(delete_trace_state_variable): New function.
(trace_variable_command): New function.
(delete_trace_variable_command): New function.
(tvariables_info): New function.
(trace_start_command): Download tsvs with initial values.
(_initialize_tracepoint): Add new commands.
* NEWS: Mention the addition of trace state variables.
* defs.h (print_address_symbolic, build_address_symbolic): Update
prototypes.
* printcmd.c (print_address_symbolic): Take a gdbarch argument.
Pass it to build_address_symbolic. All callers updated.
(build_address_symbolic): Take a gdbarch argument. Use
gdbarch_addr_bits_remove for functions. All callers updated.
Pedro Alves [Mon, 28 Dec 2009 16:09:27 +0000 (16:09 +0000)]
* linux-low.c (linux_remove_process): Remove `detaching'
parameter. Don't release/detach from thread_db here.
(linux_kill): Release/detach from thread_db here, ...
(linux_detach): ... and here, before actually detaching.
(linux_wait_1): ... and here, when a process exits.
* thread-db.c (any_thread_of): New.
(thread_db_free): Switch the current inferior to a thread of the
passed in process.
Jan Kratochvil [Wed, 23 Dec 2009 23:18:08 +0000 (23:18 +0000)]
gdb/
* breakpoint.c (bpstat_stop_status): Iterate using ALL_BREAKPOINTS and
the B->LOC list. Remove gdb_assert on B. Change bp_hardware_watchpoint
continue to break. Remove variable update_locations. Remove HIT_COUNT
increment protection by an ENABLE_STATE check. Inline the delayed
update_global_location_list call.
gdb/testsuite/
* gdb.base/condbreak.exp: Put breakpoint on marker3 and marker4.
(bp_location13, bp_location14, bp_location17, bp_location18)
(marker3_proto, marker4_proto): New variables.
(breakpoint info): Update output.
(run until breakpoint at marker3, run until breakpoint at marker4): New
tests.
Jan Kratochvil [Wed, 23 Dec 2009 22:24:51 +0000 (22:24 +0000)]
gdb/
* breakpoint.c (bpstat_stop_status): Check BL->SHLIB_DISABLED.
(print_breakpoint_location): New comment. Check LOC->SHLIB_DISABLED.
Check LOC validity before printing it. Use LOC instead of B->LOC.
Swap the if conditionals order.
gdb/testsuite/
* gdb.base/unload.c (main): Change the UNLOADSHR parameter to 1.
Replace the printf call of Y by provided "y-set-1" label. New block
for the second shared library.
* gdb.base/unload.exp: Compile also the second library, call
gdb_load_shlibs also for it. Use now gdb_breakpoint.
(single pending breakpoint info): Rename to ...
(pending breakpoint info before run): ... this extended test.
(libfile2, libname2, libsrcfile2, libsrc2)
(lib_sl2): New variables.
(exec_opts): Set also SHLIB_NAME2.
(pending breakpoint info on first run at shrfunc1)
(pending breakpoint info on second run at shrfunc1)
(pending breakpoint info on second run at shrfunc2)
(print y from libfile, print y from libfile2): New tests.
* gdb.base/unloadshr.c (shrfunc1): Change the returned value.
* gdb.base/unloadshr2.c: New.