81117 Commits

Author SHA1 Message Date
0d72a7c318 Fix indentation level in ada-lang.c::ada_evaluate_subexp.
I just happen to notice that a lexical block was missing one
indentation level.

gdb/ChangeLog:

        * ada-lang.c (ada_evaluate_subexp) <OP_VAR_VALUE>: Fix identation
        of lexical block.
2014-08-18 17:08:55 +02:00
cb8e01c6bb LTO plugin with older gcc
* ld-plugin/lto.exp: Use gcc -print-file-name to find lto plugin.
2014-08-18 21:01:26 +09:30
1009ef284f PowerPC fix for ifunc broken by d1eca1e4
This probably could be fixed by making changes in relocate_section for
ifunc, but it's simpler to disable the optimisation for ifunc.

	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't attempt to
	use dynrelocs for ifunc.
	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Similarly.
2014-08-18 21:00:46 +09:30
1240be6b7d PR 17287, DT_NEEDED of unneeded libraries affects --as-needed
PR 17287
bfd/
	* elflink.c (on_needed_list): Only consider libraries that have
	been loaded.
ld/
	* ld.texinfo (--as-needed): Clarify that references from libraries
	must be from needed libraries.
ld/testsuite/
	* ld-plugin/needed3.c: New file.
	* ld-elf/shared.exp: Add needed3 test.
2014-08-18 18:45:01 +09:30
759388538d Return error status from bfd_elf_discard_info.
bfd/
	* elflink.c (bfd_elf_discard_info): Return int error status.
	* stabs.c (_bfd_discard_section_stabs): Comment typo fix.
	* bfd-in.h (bfd_elf_discard_info): Updata prototype.
	* bfd-in2.h: Regenerate.
ld/
	* emultempl/aarch64elf.em (gld${EMULATION_NAME}_after_allocation):
	Handle error status from bfd_elf_discard_info.
	* emultempl/armelf.em: Likewise.
	* emultempl/elf32.em: Likewise.
	* emultempl/hppaelf.em: Likewise.
	* emultempl/metagelf.em: Likewise.
	* emultempl/nios2elf.em: Likewise.
	* emultempl/ppc64elf.em: Likewise.
	* emultempl/tic6xdsbt.em: Likewise.
	* emultempl/vms.em: Likewise.
2014-08-18 09:33:35 +09:30
1e53931944 Cast result of TC_PARSE_CONS_EXPRESSION
* read.c (parse_mri_cons): Warning fix.
2014-08-18 09:32:44 +09:30
87ea0aeaa3 daily update 2014-08-18 09:30:46 +09:30
d2db64e914 daily update 2014-08-17 09:30:44 +09:30
e66d444669 Add new argument NOSIDE to find_overload_match.
This is a fix for PR c++/17132.
If this new argument is set to EVAL_AVOID_SIDE_EFFECTS, then the object's
memory will not be read while picking the best overload match.

gdb/

	* eval.c: Update all calls to find_overload_match.
	* valarith.c: Likewise.
	(value_user_defined_cpp_op, value_user_defined_op): New
	argument NOSIDE.  Update all callers.
	* valops.c (find_overload_match): New argument NOSIDE.
	* value.h (find_overload_match): Update signature.

gdb/testsuite

	* gdb.cp/pr17132.cc: New file.
	* gdb.cp/pr17132.exp: New file.
2014-08-15 18:28:59 -07:00
940df40812 Fix xmethod Python so that it works with Python3.
gdb/

	* python/lib/gdb/command/xmethods.py (set_xm_status1): Use the
	'items'	methods instead of 'iteritems' method on dictionaries.

gdb/testsuite/

	* gdb.python/py-xmethods.py (A_getarrayind)
	(E_method_char_worker.__call__, E_method_int_worker.__call__):
	Use 'print' with function call syntax.
	(E_method_matcher.match): Fix tab vs space indentation mixup.
2014-08-15 18:04:47 -07:00
a0d09f12db daily update 2014-08-16 09:31:03 +09:30
699ca60ad9 (dwarf_decode_lines_1): Move definition of adj_opcode closer to use.
* dwarf2read.c (dwarf_decode_lines_1): Move definition of adj_opcode
	closer to use.
2014-08-15 16:22:51 -07:00
37780ee59e dwarf2read.c (dwarf_decode_lines_1): Add comment.
* dwarf2read.c (dwarf_decode_lines_1): Add comment.
2014-08-15 16:05:47 -07:00
faa743bb1b Regenerate sim configury. 2014-08-15 15:51:50 -07:00
0ad93d4feb (dwarf_decode_lines_1): Delete local "column", unused.
* dwarf2read.c (dwarf_decode_lines_1): Delete local "column", unused.
2014-08-15 15:38:56 -07:00
20d8c3722e (dwarf_decode_lines_1): Delete local basic_block, unused.
* dwarf2read.c (dwarf_decode_lines_1): Delete local basic_block,
	unused.
2014-08-15 15:24:35 -07:00
cb039ba453 Avoid compiler warnings about incomplete parameter types.
gdb/ChangeLog:

	* dcache.h: Include target.h, to avoid compile time warnings.
2014-08-15 17:04:27 +03:00
eb7a547ad4 Add "frame.h" #include in gdbarch.h.
This include is needed because gdbarch_dummy_id needs the full
definition of struct frame_id.

gdb/ChangeLog:

        * gdbarch.sh: #include "frame.h" in gdbarch.h.  Delete "struct
        frame_info" partial declaration.
        * gdbarch.h: Regenerate.

Tested on x86_64-linux by rebuilding GDB.
2014-08-15 05:29:33 -07:00
ebcc6c3a7b Skip tfile.exp if unable to generate trace file
I added proc generate_tracefile in this patch
https://sourceware.org/ml/gdb-patches/2014-03/msg00591.html but
tfile.exp isn't skipped as changelog entry said:

	* gdb.trace/tfile.exp: Skip the test if generate_tracefile
	return 0.

it is a mistake I made at the last minute.  Patch below fixed it.

gdb/testsuite:

2014-08-15  Yao Qi  <yao@codesourcery.com>

	* gdb.trace/tfile.exp: Return -1 if generate_tracefile returns
	false.
2014-08-15 08:43:44 +08:00
7dba4c934c daily update 2014-08-15 09:31:09 +09:30
775e0f0481 Set print symbol off in some tests
GDB in default prints the symbol associated on an address, and tests
assume that there is no symbol on address zero.  However, on bare
metal target, address may be mapped to zero and there may be a
symbol.  Then, some tests fail as below:

print const_cast<void *> (0)^M
$8 = (void *) 0x0 <_ftext>^M
(gdb) FAIL: gdb.cp/casts.exp: const_cast of 0

p acp->c1^M
$9 = (A *) 0x0 <_ftext>^M
(gdb) FAIL: gdb.cp/class2.exp: p acp->c1

This patch is to set print symbol off in these tests, like what
I did previously https://sourceware.org/ml/gdb-patches/2014-07/msg00257.html

gdb/testsuite:

2014-08-15  Yao Qi  <yao@codesourcery.com>

	* gdb.cp/casts.exp: Set print symbol off.
	* gdb.cp/class2.exp: Likewise.
	* gdb.cp/overload.exp: Likewise.
	* gdb.cp/templates.exp: Likewise.
2014-08-15 07:55:16 +08:00
783cecc8b3 Remove pst from dwarf_decode_lines_1
Hi,
Parameter 'pst' of function dwarf_decode_lines_1 isn't used except
to compute decode_for_pst_p, which has been got in the caller
dwarf_decode_lines.  I wonder it would be good if we just pass
'decode_for_pst_p'.

gdb:

2014-08-15  Yao Qi  <yao@codesourcery.com>

	* dwarf2read.c (dwarf_decode_lines_1): Remove parameter 'pst'.
	Add parameter 'decode_for_pst_p'.  Callers update.
2014-08-15 07:38:19 +08:00
60ac5798c8 opcodes: blackfin: convert ad-hoc ints to bfd_boolean
These various int fields are being used as booleans, so change to the
existing bfd_boolean style.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2014-08-14 09:14:39 -04:00
b3f3b4b030 opcodes: blackfin: simplify decode_CC2stat_0 logic
These multiple if statements can be condensed down into a single if
statement and an array of strings.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2014-08-14 09:10:12 -04:00
a4e600b22e opcodes: blackfin: avoid duplicate memory reads
Rather than reading the same memory twice, pass the value back up.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2014-08-14 09:07:37 -04:00
513ea82edf Fix for objdump segfault on broken PE executable
* peXXigen.c (pe_print_reloc): Protect against access past end
	of .reloc section.
2014-08-14 16:57:08 +09:30
18cd5bce47 Linker part of PR16563 fix
Presents .eh_frame input sections to the optimisation machinery in
elf-eh-frame.c in the order they are given by the linker script.

	PR 16563
bfd/
	* elflink.c (bfd_elf_discard_info): Process .eh_frame and .stab
	in the order they are mapped to output sections.
ld/
	* ldlang.c (map_head_is_link_order): Rename from
	stripped_excluded_sections.
	(lang_clear_os_map): New function, extracted from..
	(strip_excluded_output_sections): ..here.
	* ldlang.h (lang_clear_os_map): Declare.
	* ldwrite.c (ldwrite): Call lang_clear_os_map.
	* emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_after_allocation):
	Likewise.
2014-08-14 13:49:31 +09:30
b879806f2f configury changes to make ld plugin support controlled by --enable-plugins
This also makes --enable-plugins default to on for hosts that can
support plugins, so we have consistent lto toolchain support.  The
ACX_LARGEFILE moves aren't strictly necessary, but are harmless and
will be necessary if plugin support is extended to more hosts via
libtool's dlopen support.  I started down that path then decided it
was more work than I was interested in doing.  (ACX_LARGEFILE invokes
AC_PLUGINS.)

config/
	* plugins.m4: Test for dlfcn.h or windows.h here to set default
	for --enable-plugins.  Report error if someone tries to enable
	plugins on a host we don't support.
bfd/
	* configure.ac: Delete redundant plugin related checks.
	* configure: Regenerate.
binutils/
	* configure.ac: Move ACX_LARGEFILE after LT_INIT.
	* config.in: Regenerate.
	* configure: Regenerate.
gas/
	* configure.ac: Move ACX_LARGEFILE after LT_INIT.
	* config.in: Regenerate.
	* configure: Regenerate.
gprof/
	* configure.ac: Move ACX_LARGEFILE after LT_INIT.
	* configure: Regenerate.
	* gconfig.in: Regenerate.
ld/
	* configure.ac: Move AC_PROG_CC and other macros earlier.  Delete
	plugin checks now done in config/plugins.m4.
	* config.in: Regenerate.
	* configure: Regenerate.
2014-08-14 13:46:09 +09:30
23ebe1a0bd Simplify is_ir_dummy_bfd test
is_ir_dummy_bfd started life before BFD_PLUGIN was invented.

	* plugin.c (is_ir_dummy_bfd): Test BFD_PLUGIN flag rather than
	flags.claimed.
2014-08-14 13:39:40 +09:30
8123365312 Add option -no-pie. 2014-08-13 18:40:19 -07:00
78090f7c83 daily update 2014-08-14 09:31:08 +09:30
ffccb7afb5 bfd: or1k: avoid emitting R_OR1K_INSN_REL_26 in shared libs
This fixes a bug where R_OR1K_INSN_REL_26 relocations would be emitted
into shared libraries even when the referenced symbol was hidden
or the symbol was contained in the same .so which had been
linked with -Bsymbolic.

bfd/
	* elf32-or1k.c (or1k_elf_relocate_section, or1k_elf_check_relocs,
	allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL
	and SYMBOLIC_BIND.
2014-08-13 23:32:51 +03:00
703ec4e8d0 opcodes: blackfin: push down global state
The variables used to track insn state should be pushed down into the
private_data structure to avoid pollution across calls.

This also happens to fix the output when hitting comments/invalid insns
which needs to tweak a gas test.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2014-08-13 07:06:15 -04:00
ed2c487956 opcodes: blackfin: do not force align the PC
If the user gives us an unaligned PC, then dump an error as such.
Otherwise if you try to disassemble at an odd address, the output
will look weird (it'll read one byte earlier).

This can be seen in one of the gas tests where data is in the middle
of .text, so move the data to .data like it should be in the first place.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2014-08-13 06:58:34 -04:00
ba32981791 opcodes: blackfin: handle memory read errors
The current code ignores memory read errors which isn't a great idea.
So add a helper function which takes care of error checking and update
the code to use that.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2014-08-13 06:49:47 -04:00
63e1777c6c This is necessary for adding __cxa_atexit support for Cygwin in GCC without
exporting __dso_handle from every DLL.

	* pe-dll.c (autofilter_entry_type autofilter_symbollist_i386): Add
	__dso_handle.
2014-08-13 11:43:28 +01:00
65c749e7c0 Fix build/17104
This patch is to fix the build error when GDB is configured as:

  CFLAGS=-Wall ./configure --with-babeltrace; make

This patch adds one line of code in configure test to use local
variable 'pos'.

Note that we append -Werror to CFLAGS to catch the warning related to
assignment to scope.  See more in this thread
https://sourceware.org/ml/gdb-patches/2014-08/msg00045.html

2014-08-13  Yao Qi  <yao@codesourcery.com>

	PR build/17104
	* configure.ac: Use local variable 'pos'.
	* configure: Regenerated.
2014-08-13 17:42:57 +08:00
e20e2464f8 daily update 2014-08-13 09:31:13 +09:30
6374269c11 Remove type directive
* gas/i386/omit-lock.s: Remove type directive.
2014-08-12 15:53:48 -07:00
0fef4b9893 Fix non-ELF build breakage
* ldlang.c (open_input_bfds): Don't use bfd_elf_get_dyn_lib_class.
2014-08-13 07:36:30 +09:30
2d03dd2f8d Tighten test for ld plugin support
To not match spu --plugin option.

	* lib/ld-lib.exp (check_plugin_api_available): Match "-plugin PLUGIN".
2014-08-12 20:51:11 +09:30
e77620a58f Fix build breakage when ld plugins disabled
* ldlang.h (struct lang_input_statement_flags): Don't make "reload"
	field conditional on ENABLE_PLUGINS.
	* ldlang.c (open_input_bfds): Expand plugin_should_reload.
	* plugin.h (plugin_should_reload): Delete.
	* plugin.c (plugin_should_reload): Delete.
2014-08-12 20:49:58 +09:30
4613510308 Change ld "notice" interface for better handling of indirect symbols
The main aim of this change was to have non_ir_ref set correctly on
new indirect symbols.  I could have added a "copy" param to the "notice"
function, so that indirect symbols could be created in plugin_notice,
but it seemed cleaner to create indirect syms earlier and pass them
rather than "string" to "notice".

include/
	* bfdlink.h (struct bfd_link_callbacks <notice>): Remove "string"
	param, add "inh".
bfd/
	* coff-aux.c (coff_m68k_aux_link_add_one_symbol): Only call "notice"
	here when not calling the generic add_symbol function.  Formatting.
	Correct handling of indirect symbols.  Update notice call.
	* elflink.c (_bfd_elf_notice_as_needed): Update notice call.
	* linker.c (_bfd_generic_link_add_one_symbol): Create indirect
	symbols early.  Update notice call.  Add comments regarding weak
	symbols vs. indirect.
ld/
	* ldmain.c (notice): Update args.
	* plugin.c (plugin_notice): Likewise.  Follow warning sym link.
	Handle new indirect symbol.
2014-08-12 20:47:36 +09:30
88d3f0870b missing changelog 2014-08-12 11:08:26 +09:30
61f41c3c24 Fix non-plugin warning symbol handling
PR ld/16746
include/
	* bfdlink.h (struct bfd_link_info): Add lto_plugin_active.
bfd/
	* linker.c (_bfd_generic_link_add_one_symbol <WARN>): Handle
	!lto_plugin_active.
ld/
	* plugin.c (plugin_load_plugins): Set link_info.lto_plugin_active.
2014-08-12 10:31:41 +09:30
d769e349bc Delete "Loaded symbols for ..." message, it is redundant.
* solib.c (solib_read_symbols): Delete "Loaded symbols for ..."
	message, it is redundant with "Reading symbols from ..." message.

	testsuite/
	* gdb.base/print-symbol-loading.exp (test_load_core): Update.
	(test_load_shlib): Update.
2014-08-11 17:21:07 -07:00
40a6ca48cc daily update 2014-08-12 09:30:56 +09:30
24f1235ebc linux-nat.c (linux_nat_thread_address_space): Delete dead code. 2014-08-10 21:09:29 -07:00
2fa67e7dac daily update 2014-08-11 09:30:44 +09:30
0e54beadd5 daily update 2014-08-10 09:31:02 +09:30