Commit Graph

70198 Commits

Author SHA1 Message Date
Ian Lance Taylor
191f1a2dcc 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.
2011-07-09 00:47:12 +00:00
Alan Modra
2fbb75826a daily update 2011-07-09 00:00:06 +00:00
gdbadmin
00b50a6ad4 *** empty log message *** 2011-07-09 00:00:02 +00:00
Ian Lance Taylor
6285534768 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.
2011-07-08 23:49:11 +00:00
Ian Lance Taylor
67181c72fb 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.
2011-07-08 22:48:08 +00:00
Tom Tromey
5e44ecb338 * 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.
2011-07-08 19:54:55 +00:00
Tom Tromey
e0e9434c89 * dwarf2expr.c (execute_stack_op): Add QUIT. 2011-07-08 16:02:59 +00:00
Hans-Peter Nilsson
ae9cd41118 * ld-insn.c (print_insn_words): For fields, print conditionals. 2011-07-08 08:37:27 +00:00
Hans-Peter Nilsson
f72344f7a1 Tweak heading of last entry 2011-07-08 06:26:14 +00:00
Hans-Peter Nilsson
af34255838 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.
2011-07-08 06:24:11 +00:00
Hans-Peter Nilsson
3faa01e34f * Makefile.in ($(SIM_MULTI_OBJ)): Depend on sim-main.h
$(SIM_EXTRA_DEPS).
2011-07-08 03:41:13 +00:00
Hans-Peter Nilsson
31b28250dc * Makefile.in (tmp-mach-multi): Exit early when igen fails. 2011-07-08 03:18:56 +00:00
Hans-Peter Nilsson
7e60d30187 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.
2011-07-08 02:27:18 +00:00
Hans-Peter Nilsson
26e0f8dbd8 * MAINTAINERS: Remove Thiemo Seufer. 2011-07-08 01:43:09 +00:00
Alan Modra
b42a2922cf daily update 2011-07-08 00:00:05 +00:00
gdbadmin
a0b50e655a *** empty log message *** 2011-07-08 00:00:03 +00:00
Cary Coutant
33c15b4521 * 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.
2011-07-07 18:41:53 +00:00
Jan Kratochvil
97d146f805 gdb/testsuite/
* gdb.java/jprint.exp (print a java.lang.String): xfail without system
	debug info.
2011-07-07 14:08:21 +00:00
Hui Zhu
26afc0d703 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.
2011-07-07 13:32:55 +00:00
Rainer Orth
cff32a7c64 PR target/39150
* configure.ac (i[3456789]86-*-solaris2*): Also accept
	x86_64-*-solaris2.1[0-9]*.
	* configure: Regenerate.
2011-07-07 09:28:08 +00:00
Andrew Burgess
a40a111fc7 http://sourceware.org/ml/gdb-patches/2011-07/msg00085.html
* cli/cli-setshow.c (do_setshow_command): Display var_zinteger
	variables as signed, not unsigned.
2011-07-07 08:38:37 +00:00
Joel Brobecker
e2bd3b15a8 Minor forward declaration reformatting (jit.c)
gdb/ChangeLog:

 	* jit.c (jit_inferior_init): Reformat forward declaration.
2011-07-07 02:07:04 +00:00
Alan Modra
6c857ee27e daily update 2011-07-07 00:00:06 +00:00
gdbadmin
5df0ebe99e *** empty log message *** 2011-07-07 00:00:03 +00:00
Cary Coutant
f48b5fb76b * gold/incremental.cc
(Output_section_incremental_inputs::write_info_blocks): Check for
	hidden and internal symbols.
2011-07-06 22:26:37 +00:00
matt rice
e3d961fe96 MAINTAINERS (Write after approval): Add myself to the list. 2011-07-06 22:20:16 +00:00
Cary Coutant
221597a548 * 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.
2011-07-06 22:15:12 +00:00
matt rice
facde0e593 gdb.python/python.exp: Update filename paths.
gdb.python/py-symtab.exp: Ditto.
2011-07-06 22:15:02 +00:00
Cary Coutant
e24719f6e7 * 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.
2011-07-06 22:07:59 +00:00
Joel Brobecker
3b2a0cf216 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.
2011-07-06 21:40:17 +00:00
Cary Coutant
8f7c81e876 * incremental.cc (Sized_incremental_binary::do_check_inputs): Add
debug output when command lines differ.
2011-07-06 21:22:55 +00:00
Cary Coutant
9fbd3822ad * 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.
2011-07-06 21:19:32 +00:00
Marek Polacek
438640d112 gdb.python/py-evthreads.exp: add missing $ 2011-07-06 19:52:21 +00:00
Mike Frysinger
33a365dfad 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>
2011-07-06 18:40:30 +00:00
Richard Sandiford
01f372ca0b gas/
2011-07-04  Aurelien Jarno  <aurelien@aurel32.net>

	* config/tc-mips.c (append_insn): delete prev_pinfo2 and pinfo2.
2011-07-06 18:01:51 +00:00
Doug Kwan
f6cccc2cd8 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.
2011-07-06 17:58:42 +00:00
Marek Polacek
8f7ae68682 Fix race in gdb.python/py-evthreads.exp 2011-07-06 15:00:15 +00:00
Tristan Gingold
74f2665384 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.
2011-07-06 07:22:20 +00:00
Ian Lance Taylor
28a13fec14 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.
2011-07-06 05:12:03 +00:00
Ian Lance Taylor
24d47b3460 PR gold/12952
* resolve.cc (Symbol::override_base_with_special): Simply override
	version with special symbol version, ignoring previous version.
2011-07-06 04:43:39 +00:00
Hui Zhu
21083d0f0c Correct a email error. 2011-07-06 02:46:47 +00:00
Hui Zhu
0f3428f083 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.
2011-07-06 02:43:12 +00:00
Alan Modra
e983944d2d daily update 2011-07-06 00:00:05 +00:00
gdbadmin
dfea59b08c *** empty log message *** 2011-07-06 00:00:03 +00:00
Ian Lance Taylor
41f9cbbecf * object.cc (Sized_relobj_file::include_section_group): Add
information to comment about signature location.
2011-07-05 20:38:53 +00:00
Tom Tromey
fc9f3a6978 * symtab.c (operator_chars): Now static.
* linespec.c (operator_chars): Don't declare.
2011-07-05 20:30:19 +00:00
Mike Frysinger
2419798b80 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>
2011-07-05 19:06:38 +00:00
H.J. Lu
52cb9dfed0 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.
2011-07-05 19:04:41 +00:00
Thiago Jung Bauermann
26e519b913 * ui-out.h (ui_out_field_core_addr): Fix typo in comment. 2011-07-05 18:36:52 +00:00
DJ Delorie
f2917a30d0 merge from gcc 2011-07-05 15:40:17 +00:00