Commit graph

64377 commits

Author SHA1 Message Date
Stan Shebs
383e5f8553 * tracepoint.c (trace_find_command): Error out if trace running.
(trace_find_pc_command): Ditto.
	(trace_find_tracepoint_command): Ditto.
	(trace_find_line_command): Ditto.
	(trace_find_range_command): Ditto.
	(trace_find_outside_command): Ditto.
2009-12-31 17:39:53 +00:00
Nick Clifton
a6da20b52c * objcopy.c (add_redefine_syms_file): Avoid symbol buffer
overrun.
2009-12-31 14:40:36 +00:00
Nick Clifton
0ee19663b7 * 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.
2009-12-31 14:10:29 +00:00
Joel Brobecker
f064a520b1 Fix a typo. 2009-12-31 11:04:39 +00:00
Joel Brobecker
c45ceae090 Internal error while loading core on alpha-tru64.
* corelow.c (core_open): Delete unused local variables.
        Use inferior_appeared instead of add_inferior_silent.
2009-12-31 10:57:30 +00:00
Ian Lance Taylor
719328e148 PR 10980
* options.h (class General_options): Permit two dashes with
	--retain-symbols-file.
2009-12-31 06:05:49 +00:00
Ian Lance Taylor
403a15dd3b PR 10979
* layout.cc (Layout::relaxation_loop_body): If -Ttext was used,
	don't put the file header and segment headers in the text
	segment.
2009-12-31 05:43:29 +00:00
Ian Lance Taylor
eda294df6d 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.
2009-12-31 05:07:22 +00:00
Ian Lance Taylor
d7bb574500 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.
2009-12-31 03:48:46 +00:00
Ian Lance Taylor
fc59c57250 PR 10931
* options.h (class General_options): Add --sort-common option.
	* symtab.h (class Symbol_table): Define Sort_commons_order enum.
	* common.cc (Sort_common): Add sort_order parameter to
	constructor.  Add sort_order_ field.
	(Sort_commons::operator): Check sort_order_.
	(Symbol_table::allocate_commons): Determine the sort order.
	(Symbol_table::do_allocate_commons): Add sort_order parameter.
	Change all callers.
	(Symbol_table::do_allocate_commons_list): Likewise.
2009-12-31 01:57:55 +00:00
Ian Lance Taylor
1c74fab0d1 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.
2009-12-31 01:14:34 +00:00
gdbadmin
48c5c55f2f *** empty log message *** 2009-12-31 00:00:03 +00:00
Alan Modra
33242c8f4c daily update 2009-12-30 23:00:28 +00:00
Ian Lance Taylor
6affe781e4 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.
2009-12-30 22:35:49 +00:00
Stan Shebs
d351301224 * tracepoint.c (trace_status_command): Add some status output. 2009-12-30 22:32:03 +00:00
Ian Lance Taylor
818bf354a7 PR 10843
* target-reloc.h (relocate_for_relocatable): When copying a reloc,
	if the input symbol index is 0, make the output symbol index 0.
2009-12-30 20:35:52 +00:00
Ian Lance Taylor
ebcc83046f 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.
2009-12-30 20:23:29 +00:00
Thiago Jung Bauermann
7b838ca220 20090-12-30 Jan Kratochvil <jan.kratochvil@redhat.com>
Thiago Jung Bauermann  <bauerman@br.ibm.com>

	* breakpoint.c (update_watchpoint): Change b->type to
	bp_watchpoint before calling hw_watchpoint_used_count.
2009-12-30 20:11:49 +00:00
Ian Lance Taylor
bb321bb1c4 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.
2009-12-30 19:29:20 +00:00
Joel Brobecker
553e4c1193 * breakpoint.c (watchpoint_check): Expand the function description. 2009-12-30 19:16:30 +00:00
Thiago Jung Bauermann
218d2fc650 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.
2009-12-30 17:33:35 +00:00
Stan Shebs
236f1d4def 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.

	* gdb.texinfo (Tracepoint Actions): Describe default-collect.

	* gdb.trace/actions.exp: Test default-collect.
2009-12-30 16:11:08 +00:00
Ian Lance Taylor
176fe33f0d 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.
2009-12-30 08:29:37 +00:00
Ian Lance Taylor
1b81fb710f PR 10450
* layout.cc (Layout::create_dynamic_symtab): Only set entsize of
	.gnu.hash table for a 32-bit target.
2009-12-30 07:45:32 +00:00
Ian Lance Taylor
8d6d383d7c 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.
2009-12-30 07:40:01 +00:00
Ian Lance Taylor
e785ec03fb PR 10450
* i386.cc (class Target_i386): Initialize global_offset_table_ in
	constructor.  Add global_offset_table_ field.
	(Target_i386::got_section): Set global_offset_table_.
	(Target_i386::do_finalize_sections): Set global_offset_table_
	size.
	* x86_64.cc (class Target_x86_64): Initialize global_offset_table_
	in constructor.  Add global_offset_table_ field.
	(Target_x86_64::got_section): Set global_offset_table_.
	(Target_x86_64::do_finalize_sections): Set global_offset_table_
	size.
2009-12-30 07:22:06 +00:00
Ian Lance Taylor
1a2dff539b * layout.cc (Layout::Layout): Initialize increase_relro_.
(Layout::get_output_section): Add is_relro, is_last_relro, and
	is_first_non_relro parameters.  Change all callers.
	(Layout::choose_output_section): Likewise.
	(Layout::add_output_section_data): Likewise.
	(Layout::make_output_section): Likewise.
	(Layout::set_segment_offsets): Clear increase_relro when using a
	linker script.
	* layout.h (class Layout): Add increase_relro method.  Add
	increase_relro_ field.  Update declarations.
	* output.cc (Output_section::Output_section): Initialize
	is_last_relro_ and is_first_non_relro_.
	(Output_segment::add_output_section): Group relro sections is
	do_sort is true.  Handle is_last_relro and is_first_non_relro.
	(Output_segment::maximum_alignment): Remove relro handling.
	(Output_segment::set_section_addresses): Add increase_relro
	parameter.  Change all callers.  Add initial alignment to align
	relro sections on separate page.  Remove old relro handling.
	(Output_segment::set_section_list_addresses): Remove in_relro
	parameter.  Change all callers.
	(Output_segment::set_offset): Add increase parameter.  Change all
	callers.  Remove old relro handling.
	* output.h (class Output_section): Add new methods: is_last_relro,
	set_is_last_relro, is_first_non_relro, set_is_first_non_relro.
	Add is_last_relro_ and is_first_non_relro_ fields.
	* i386.cc (Target_i386::got_section): Don't call set_is_relro.
	Create separate .got.plt section.  Call increase_relro.
	* x86_64.cc (Target_x86_64::got_section): Likewise.
	* testsuite/relro_script_test.t: Add .got.plt.
2009-12-30 06:57:17 +00:00
Ian Lance Taylor
f0ba79e29c PR 10450
* layout.cc (Layout::Layout): Initialize dynamic_symbol_ field.
	(Layout::create_initial_dynamic_sections): Set dynamic_symbol_.
	(Layout::finalize): Call set_dynamic_symbol_size.
	(Layout::set_dynamic_symbol_size): New function.
	* layout.h (class Layout): Add dynamic_symbol_ field.  Declare
	set_dynamic_symbol_size.
2009-12-30 04:16:50 +00:00
Ian Lance Taylor
e8cd95c71e 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.
2009-12-30 04:00:21 +00:00
gdbadmin
9037e078d4 *** empty log message *** 2009-12-30 00:00:33 +00:00
Stan Shebs
b97aedf317 * 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.
2009-12-29 23:57:59 +00:00
Rafael Ávila de Espíndola
3e1b9a8a68 2009-12-29 Rafael Espindola <espindola@google.com>
* main.cc (main): Fix the sys time reporting.
	* workqueue.cc (Workqueue::find_and_run_task): Fix the sys time reporting.
2009-12-29 23:45:10 +00:00
Stan Shebs
09d559e4e0 * ax-gdb.c (gen_expr): Handle logical and, logical or, and
conditional expressions.
2009-12-29 23:21:38 +00:00
Sriraman Tallam
3dcad3765d * options.cc (General_options::parse_version): Allow -v to exit
without an error if there is nothing to link.
2009-12-29 23:12:15 +00:00
Alan Modra
b1c2b04fde daily update 2009-12-29 23:00:25 +00:00
Ian Lance Taylor
084e2665e2 * configure.ac: Set the MCMODEL_MEDIUM conditional to false if
using a version of gcc before 4.1.
	* configure: Rebuild.
2009-12-29 22:49:13 +00:00
Chris Demetriou
250acde31a 2009-12-28 Chris Demetriou <cgd@google.com>
* attributes.cc (Output_attributes_section_data::do_write): Use
        std::vector::front rather than std::vector::data.
2009-12-29 06:09:03 +00:00
Joel Brobecker
2e13ec5ccc * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNAT_descriptive_type. 2009-12-29 04:12:11 +00:00
Ian Lance Taylor
99fff23b2e * symtab.h (class Symbol_table): Add enum Defined.
* resolve.cc (Symbol_table::should_override): Add defined
	parameter.  Change all callers.  Test whether object is NULL
	before calling a method on it.
	(Symbol_table::report_resolve_problem): Add defined parameter.
	Change all callers.
	(Symbol_table::should_override_with_special): Likewise.
	* symtab.cc (Symbol_table::define_in_output_data): Add defined
	parameter.  Change all callers.
	(Symbol_table::do_define_in_output_data): Likewise.
	(Symbol_table::define_in_output_segment): Likewise.
	(Symbol_table::do_define_in_output_segment): Likewise.
	(Symbol_table::define_as_constant): Likewise.
	(Symbol_table::do_define_as_constant): Likewise.
	* script.h (class Symbol_assignment): Add is_defsym parameter to
	constructor; change all callers.
	* script.cc (Script_options::add_symbol_assignment): Add is_defsym
	parameter.  Change all callers.  Add is_defsym_ field.
	(class Parser_closure): Add parsing_defsym parameter to
	constructor; change all callers.  Add parsing_defsym accessor
	function.  Add parsing_defsym_ field.
2009-12-29 00:31:48 +00:00
Ian Lance Taylor
fa618ee47d * object.cc (Relobj::is_section_name_included): Fix formatting. 2009-12-29 00:24:31 +00:00
Ian Lance Taylor
556bd68386 * gold.cc (queue_middle_tasks): Fix formatting. 2009-12-29 00:22:43 +00:00
gdbadmin
5df363e738 *** empty log message *** 2009-12-29 00:00:02 +00:00
Stan Shebs
f61e138d9a 2009-12-28 Stan Shebs <stan@codesourcery.com>
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.

==> doc/ChangeLog <==
2009-12-28  Stan Shebs  <stan@codesourcery.com>

	* gdb.texinfo (Trace State Variables): New section.
	(Tracepoint Packets): Describe trace state variable packets.
	* agentexpr.texi (Bytecode Descriptions): Describe trace state
	variable bytecodes.

==> testsuite/ChangeLog <==
2009-12-28  Stan Shebs  <stan@codesourcery.com>

	* gdb.trace/tsv.exp: New file.
	* gdb.base/completion.exp: Update ambiguous info output.
2009-12-28 23:39:10 +00:00
Alan Modra
ae77ee9a7f daily update 2009-12-28 23:00:21 +00:00
Daniel Jacobowitz
0219b378ea * gdb.base/find.c (main): Reference search buffers.
* gdb.base/included.c (main): Reference integer.
	* gdb.base/ptype.c (charfoo): Declare.
	(intfoo): Call charfoo.
	* gdb.base/scope0.c (useitp): New function.
	(usestatics): Use useitp.
	(useit): Add a type for val.
	* gdb.base/scope1.c (useit1): Take a pointer argument.
	(usestatics1): Update calls to useit1.
	* gdb.cp/call-c.cc: Declare foo.
	(main): Call foo.
	* gdb.cp/m-static.cc (main): Reference test4.elsewhere.
	* gdb.cp/namespace.cc (ensureOtherRefs): Declare.
	(main): Call C::ensureRefs and ensureOtherRefs.
	* gdb.cp/namespace1.cc (C::ensureOtherRefs): Also reference int
	variables.
	(ensureOtherRefs): New function.
	* gdb.cp/overload.cc (main): Call all overloadNamespace variants.
	* gdb.cp/templates.cc (main): Call t5i.value.
2009-12-28 21:45:24 +00:00
Daniel Jacobowitz
0fe7935b33 * NEWS: Document "info variables" change.
* dwarf2read.c (new_symbol): Add file-scope external unresolved
	symbols to global_symbols.
	* symtab.c (search_symbols): Skip LOC_UNRESOLVED symbols.

	doc/
	* gdb.texinfo (Symbols): "info variables" prints definitions, not
	declarations.
2009-12-28 21:29:53 +00:00
Daniel Jacobowitz
22e722e199 * 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.
2009-12-28 21:12:24 +00:00
Doug Evans
957f3f49de * linux-low.c: Delete inclusion of ansidecl.h, elf/common.h,
elf/external.h.  Include <elf.h> instead but only if necessary.
2009-12-28 19:45:56 +00:00
Daniel Gutson
4e67d4ca2a bfd/
* elf32-arm.c (elf32_arm_final_link_relocate): limits
        fixed.

        ld/testsuite/
        * ld-arm/arm-elf.exp (armelftests): New test case added.
        * ld-arm/reloc-boundaries.s: New file.
        * ld-arm/reloc-boundaries.d: New file.
2009-12-28 18:55:16 +00:00
Daniel Gutson
2598a05c7b 2009-12-28 Daniel Gutson <dgutson@codesourcery.com>
* ld-arm/arm-elf.exp: Run missing test
        from a previous commit (callweak-2).
2009-12-28 18:44:55 +00:00