Commit Graph

78290 Commits

Author SHA1 Message Date
Roland McGrath 39d9ead7fb gold/
* gold-threads.h (Once): Conditionalize member was_run_lock_ on
	[ENABLE_THREADS && __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4], matching
	its only use.
	* gold-threads.cc (Once::Once): Likewise conditionalize initializer.
2013-10-11 21:02:43 +00:00
Ulrich Weigand 9772d07483 testsuite/ChangeLog:
2013-10-11  Andreas Arnez  <arnez@linux.vnet.ibm.com>

	* gdb.arch/s390-multiarch.exp: New file.
	* gdb.arch/s390-multiarch.c: New file.
2013-10-11 18:50:56 +00:00
Roland McGrath 679e4abfc5 gold/
* archive.h: Use struct rather than class for forward declaration
	of Read_symbols_data.
2013-10-11 17:38:32 +00:00
Doug Evans 9b557b58d3 * Makefile.in (GDBFLAGS): New variable.
(run): New rule.
2013-10-11 17:32:30 +00:00
Roland McGrath a2b903b78e binutils/
* winduni.c (languages): Use \345 (octal syntax) rather than
	literal non-ASCII/non-UTF8 character in string literal.
2013-10-11 17:24:26 +00:00
Roland McGrath 0b4362b076 binutils/
* readelf.c (print_dynamic_symbol): Use array subscript syntax
	rather than addition syntax with string literal.
2013-10-11 17:10:58 +00:00
Joel Brobecker ce13fade5d ChangeLog entries for the previous commit.
git-related mistake (added the files to the index, but forgot to
commit --amend them before pushing the commit)
2013-10-11 14:06:40 +00:00
Joel Brobecker 405559254a Document the -catch-assert and -catch-exception new GDB/MI commands.
This patch adds documentation for the new GDB/MI commands "-catch-assert"
and "-catch-exception", meant to provide the same functionality as
the "catch assert", "catch exception" and "catch exception unhandled"
CLI commands.

In the GDB Manual, there was already a section for catchpoint comments,
so that seemed like a natural place to document the new commands. But
commands related to a given concept seem to have traditionally been
organized alphabetically, and I didn't want future commands to break
down logical pairing of various commands. For instance, "-catch-load"
and "-catch-unload" are quite "distant" from each other, and it is easy
to imagine a new comment which would alphabetically fall in between,
causing them to be separated. So I introduced subsections to prevent
that from happening.

gdb/ChangeLog:

        * NEWS: Add entry documenting the new "-catch-assert" and
        "-catch-exception" GDB/MI commands.

gdb/doc/ChangeLog:

        * gdb.texinfo (Shared Library GDB/MI Catchpoint Commands):
        New subsection inside which the "-catch-load" and "-catch-unload"
        commands documentation is now placed.
        (Ada Exception GDB/MI Catchpoint Commands): New subsection
        documenting the "-catch-assert" and "-catch-exception" new
        GDB/MI commands.
2013-10-11 13:51:27 +00:00
Joel Brobecker 2a3be96627 Adjust gdb.ada/mi_catch_ex.exp to use GDB/MI catch commands...
... in place of the CLI "catch ..." commands.  The latter were used
because the GDB/MI equivalents were not available at the time.

gdb/testsuite/ChangeLog:

        * gdb.ada/mi_catch_ex.exp: Adjusts all "catch ..." tests to
        use the appropriate GDB/MI command instead, and verify
        the test output.
2013-10-11 13:49:36 +00:00
Joel Brobecker 349774efe2 New GDB/MI commands to catch Ada exceptions
This patch introduces two new GDB/MI commands implementing the equivalent
of the "catch exception" and  "catch assert" GDB/CLI commands.

gdb/ChangeLog:

        * breakpoint.h (init_ada_exception_breakpoint): Add parameter
        "enabled".
        * breakpoint.c (init_ada_exception_breakpoint): Add parameter
        "enabled".  Set B->ENABLE_STATE accordingly.
        * ada-lang.h (ada_exception_catchpoint_kind): Move here from
        ada-lang.c.
        (create_ada_exception_catchpoint): Add declaration.
        * ada-lang.c (ada_exception_catchpoint_kind): Move to ada-lang.h.
        (create_ada_exception_catchpoint): Make non-static. Add new
        parameter "disabled". Use it in call to
        init_ada_exception_breakpoint.
        (catch_ada_exception_command): Add parameter "enabled" in call
        to create_ada_exception_catchpoint.
        (catch_assert_command): Likewise.

        * mi/mi-cmds.h (mi_cmd_catch_assert, mi_cmd_catch_exception):
        Add declarations.
        * mi/mi-cmds.c (mi_cmds): Add the "catch-assert" and
        "catch-exception" commands.
        * mi/mi-cmd-catch.c: Add #include "ada-lang.h".
        (mi_cmd_catch_assert, mi_cmd_catch_exception): New functions.
2013-10-11 13:48:19 +00:00
Joel Brobecker 761269c849 Add "ada_" prefix to enum ada_exception_catchpoint_kind
This is in preparation for making that type public, in order to be
able to use make create_ada_exception_catchpoint public as well,
making it usable from the GDB/MI implementation.

gdb/ChangeLog:

        * ada-lang.c (enum ada_exception_catchpoint_kind): Renames
        "enum exception_catchpoint_kind".  Replace the "ex_" prefix
        of all its enumerates with "ada_".  Update the rest of this
        file throughout.
2013-10-11 13:45:27 +00:00
Joel Brobecker b4a5b78b78 Rework a bit Ada exception catchpoint support (in prep for GDB/MI)
This patch reworks a bit how the different steps required to insert
an Ada exception catchpoints are organized. They used to be:

  1. Call a "decode" function which does:
        1.a.  Parse the command and its arguments
        1.b.  Create a SAL & OPS from some of those arguments

  2. Call create_ada_exception_catchpoint using SAL as well
     as some of the arguments extracted above.

The bulk of the change consists in integrating step (1.b) into
step (2) in order to turn create_ada_exception_catchpoint into
a function whose arguments are all user-level concepts. This
paves the way from a straightforward implementation of the equivalent
commands in the GDB/MI interpreter.

gdb/ChangeLog:

        * ada-lang.c (ada_decode_exception_location): Delete.
        (create_ada_exception_catchpoint): Remove arguments "sal",
        "addr_string" and "ops".  Add argument "ex_kind" instead.
        Adjust implementation accordingly, calling ada_exception_sal
        to get the entities it no longer gets passed as arguments.
        Document the function's arguments.
        (catch_ada_exception_command): Use catch_ada_exception_command_split
        instead of ada_decode_exception_location, and update call to
        create_ada_exception_catchpoint.
        (catch_ada_assert_command_split): Renames
        ada_decode_assert_location.  Remove parameters "addr_string" and
        "ops", and now returns void.  Adjust implementation accordingly.
        Update the function documentation.
        (catch_assert_command): Use catch_ada_assert_command_split
        instead of ada_decode_assert_location.  Update call to
        create_ada_exception_catchpoint.
2013-10-11 13:44:11 +00:00
Joel Brobecker 7ad1d32c17 Fix dates (wrong month) in the last 2 ChangeLog entries. 2013-10-11 13:42:06 +00:00
Joel Brobecker 7c647d6155 warn if "source" fails to open the file when from_tty == 0
Consider the following example:

    % gdb -q -batch -ex 'source nonexistant-file'
    [nothing]

One would have at least expected the debugger to warn about
not finding the file, similar to the error shown when using
a more interactive mode. Eg:

    (gdb) source nonexistant-file
    nonexistant-file: No such file or directory.

Not raising an error appears to be intentional, presumably in order
to prevent this situation from stoping the execution of a GDB script.
But the lack of at least a warning makes it harder for a user to
diagnose any issue, if the file was expected to be there and readable.

This patch adds a warning in that case:

    % gdb -q -batch -ex 'source nonexistant-file'
    warning: nonexistant-file: No such file or directory.

gdb/ChangeLog:

        * utils.h (perror_warning_with_name): Add declaration.
        * utils.c (perror_warning_with_name): New function.
        * cli/cli-cmds.c (source_script_with_search): Add call to
        perror_warning_with_name if from_tty is nul.

gdb/testsuite/ChangeLog:

        * gdb.base/source-nofile.gdb: New file.
        * gdb.base/source.exp: Add two tests verifying the behavior when
        the "source" command is given a non-existant filename.
2013-10-11 08:23:11 +00:00
Joel Brobecker 0cf4063e29 new function perror_string extracted out of throw_perror_with_name.
The main purpose of this patch is to extract the part of
throw_perror_with_name that computes a string providing the system
error message combined with a prefix string.  This will become useful
later on to provide a routine which prints a warning using that
perror_string, rather than throwing an error.

gdb/ChangeLog:

        * utils.c (perror_string): New function, extracted out of
        throw_perror_with_name.
        (throw_perror_with_name): Rework to use perror_string.
2013-10-11 08:20:10 +00:00
Yao Qi bb66bd5176 gdb/testsuite/
* gdb.mi/mi-catch-load.c: Remove the include of "dlfcn.h".
	 [__WIN32__]: Include "windows.h" and define macro 'dlopen'
	 and 'dlclose'.
	[!__WIN32__]: Include "dlfcn.h".
	* gdb.mi/mi-catch-load.exp: Set up kfail.
2013-10-11 07:27:46 +00:00
Sean Keys 0e1c243401 * Removed short_hand field from opcode table and
refactored assembler/disassember accordingly.
     Testsuite checkout OK.
2013-10-11 04:55:42 +00:00
Joel Brobecker bd80dc1a7c Adjust gdb/doc/ChangeLog re "set/show remotebaud" renaming...
... adding the node names, to be more explicit about which nodes
were affected by this change.
2013-10-11 04:50:26 +00:00
Yao Qi 340e3c99cb gdb/
Typo fix in my previous commit.
2013-10-11 03:01:09 +00:00
Yao Qi bcc75809a4 gdb/
* remote.c (discard_pending_stop_replies_in_queue): Update
	declaration.
	(struct stop_reply) <rs>: New field.
	(remove_stop_reply_of_remote_state): New function.
	(discard_pending_stop_replies_in_queue): Add parameter 'rs'.
	Callers update.  Pass remove_stop_reply_of_remote_state to
	QUEUE_iterate.
	(remote_parse_stop_reply): Initialize field 'rs'.
2013-10-11 02:54:44 +00:00
Sean Keys 848e5d082d * gas/xgate/all_insns.d: Add com macro insn test.
* gas/xgate/all_insns.s: Add com macro insn test.
2013-10-11 01:41:49 +00:00
Roland McGrath 9ce09ba2d7 opcodes/
* i386-dis.c (oappend_maybe_intel): New function.
	(OP_ST, OP_STi, append_seg, OP_I, OP_I64, OP_sI, OP_ESreg): Use it.
	(OP_C, OP_T, CMP_Fixup, OP_EX_VexImmW): Likewise.
	(VCMP_Fixup, VPCMP_Fixup, PCLMUL_Fixup): Likewise.
2013-10-11 00:58:29 +00:00
Alan Modra cd1e8820f0 daily update 2013-10-10 23:00:05 +00:00
Roland McGrath 18ff9b9b57 ld/
* ldmisc.c (vfinfo): Use Boolean ? "" : ":" in place of ":" + Boolean.
	It silences some compilers' warnings and is much less bizarre to read.
2013-10-10 22:50:40 +00:00
Roland McGrath 2b4e983c39 opcodes/
* cr16-opc.c (REG): Cast NAME to 'reg' enum type to suppress
	possible compiler warnings when the union's initializer is
	actually meant for the 'preg' enum typed member.
	* crx-opc.c (REG): Likewise.
2013-10-10 17:43:37 +00:00
Roland McGrath 7903e53098 opcodes/
* v850-dis.c (v850_cacheop_codes, v850_prefop_codes):
	Remove duplicate const qualifier.
2013-10-10 17:19:49 +00:00
Jan Beulich 47cd3fa7ee gas/
2013-10-10  Jan Beulich <jbeulich@suse.com>

	* tc-i386-intel.c (i386_intel_simplify_register): Suppress base/index
	swapping for bndmk, bndldx, and bndstx.
2013-10-10 12:22:41 +00:00
Will Newton 05feb1933f gdb/aarch64-linux-tdep.c: Call linux_init_abi.
If we are running on a Linux platform we should call linux_init_abi
in order to get all the useful hooks it enables.

gdb/ChangeLog:

2013-10-10  Will Newton  <will.newton@linaro.org>

	* aarch64-linux-tdep.c (aarch64_linux_init_abi): Call
	linux_init_abi.
2013-10-10 10:40:42 +00:00
Andreas Krebbel 4f424bb1e7 2013-10-10 Andreas Arnez <arnez@linux.vnet.ibm.com>
* lib/gdb.exp (gdb_core_cmd): Replace fixed string "re-load
	generated corefile" by argument "$test".
2013-10-10 09:54:13 +00:00
Joel Brobecker 2446f5ea80 Remove unnecessary @w{} in gdb.texinfo
gdb/doc/ChangeLog:

        * gdb.texinfo (Connecting): Remove unnecessary @w{}.
2013-10-10 06:00:41 +00:00
Joel Brobecker 0d12017b31 Rename "set/show remotebaud" command into "set/show serial baud"
This patch renames the "set/show remotebaud" commands into
"set/show serial baud", and moves its implementation into serial.c.
It also moves the "baud_rate" global from top.c to serial.c, where
the new code is being added (the alternative was to add an include
of target.h).

And to facilitate the transition to the new setting name, this
patch also preserves the old commands, and marks them as deprecated
to alert the users of the change.

gdb/ChangeLog:

        * cli/cli-cmds.c (show_baud_rate): Moved to serial.c as
        serial_baud_show_cmd.
        (_initialize_cli_cmds): Delete the code creating the
        "set/show remotebaud" commands.
        * serial.c (baud_rate): Move here from top.c.
        (serial_baud_show_cmd): Move here from cli/cli-cmds.c.
        (_initialize_serial): Create "set/show serial baud" commands.
        Add "set/show remotebaud" command aliases.
        * top.c (baud_rate): Moved to serial.c.
        * NEWS: Document the new "set/show serial baud" commands,
        replacing "set/show remotebaud".

gdb/doc/ChangeLog:

        * gdb.texinfo: Replace "set remotebaud" and "show remotebaud"
        by "set serial baud" and "show serial baud" (resp) throughout.
2013-10-10 05:50:20 +00:00
Alan Modra 3fd4907535 daily update 2013-10-09 23:00:04 +00:00
Sergio Durigan Junior 40776d1927 sim/erc32/ChangeLog:
2013-10-09  Sergio Durigan Junior  <sergiodj@redhat.com>

	PR sim/16018:
	* float.c (set_fsr): Add missing "break" statements.  Reindent
	code.
2013-10-09 21:42:11 +00:00
Roland McGrath 9a757e4d20 bfd/
* elf64-alpha.c (elf64_alpha_relax_tls_get_addr): Cast switch
	expression to int to silence over-eager compiler warnings.
2013-10-09 19:40:04 +00:00
Roland McGrath 677e5a92b1 ld/
* emultempl/elf32.em (id_note_section_size): Use ATTRIBUTE_UNUSED
	rather than a dummy assignment for unused parameter.
	* plugin.c (get_input_file, release_input_file): Likewise.
2013-10-09 18:16:18 +00:00
Roland McGrath 1c1479bf99 bfd/
* xcofflink.c (_bfd_xcoff_bfd_final_link): Don't touch EREL in
	loop that doesn't use (or initialize) it.
2013-10-09 18:02:48 +00:00
Roland McGrath 0e4894b9f9 bfd/
* elfxx-tilegx.c (tilegx32_plt_tail_entry, tilegx32_plt_tail_entry):
	Move second const qualifier so it applies to the pointer.
2013-10-09 17:54:32 +00:00
Pedro Alves 578d3588ee Stop using errno values around target_xfer interfaces and memory errors.
target_read_memory & friends build on top of target_read (thus on top
of the target_xfer machinery), but turn all errors to EIO, an errno
value.  I think we'd better convert all these to return a
target_xfer_error too, like target_xfer_partial in a previous patch.
The patch starts by doing that.

(The patch does not add a enum target_xfer_error value for '0'/no
error, and likewise does not change the return type of several of
these functions to enum target_xfer_error, because different functions
return '0' with different semantics.)

I audited the tree for memory_error calls, EIO checks, places where
GDB hardcodes 'errno = EIO', and also for strerror calls.  What I
found is that nowadays there's really no need to handle random errno
values, other than the EIOs gdb itself hardcodes.  No doubt errno
values would appear in common code back in the day when
target_xfer_memory was the main interface to access memory, but
nowadays, any errno value that deprecated interface could return is
just absorved by default_xfer_partial:

      else if (xfered == 0 && errno == 0)
	/* "deprecated_xfer_memory" uses 0, cross checked against
           ERRNO as one indication of an error.  */
	return 0;
      else
	return -1;

There are two places in the code that check for EIO and print "out of
bounds", and defer to strerror for other errors.  That's
c-lang.c:c_get_string, and valprint.c.:val_print_string.  AFAICT, the
strerror branch can never be reached nowadays, as the only error
possible to get at those points is EIO, given that it's GDB itself
that set that errno value (in target_read_memory, etc.).

breakpoint.c:insert_bp_location always prints the error val as if an
errno, returned by target_insert_breakpoint, with strerr.  Now the
error here is either always EIO for mem-break.c targets (again
hardcoded by the target_read_memory/target_write_memory functions), so
this always prints "Input/output error" or similar (depending on
host), or, for remote targets (and probably others), this gem:

  Error accessing memory address 0x80200400: Unknown error -1.

This patch makes these 3 places print the exact same error
memory_error prints.  This changes output, but I think this is better,
for making memory error output consistent with other commands, and, it
means we have a central place to tweak for memory errors.

E.g., this changes:

 Cannot insert breakpoint 1.
 Error accessing memory address 0x5fc660: Input/output error.

to:

 Cannot insert breakpoint 1.
 Cannot access memory at address 0x5fc660

Which I find pretty much acceptable.

Surprisingly, only py-prettyprint.exp had a regression, for needing an
adjustment.  I also grepped the testsuite for the old errors, and
found no other hits.

Now that errno values aren't used anywhere in any of these memory
access related routines, I made memory_error itself take a
target_xfer_error instead of an errno.  The new
target_xfer_memory_error function added recently is no longer
necessary, and is thus removed.

Tested on x86_64 Fedora 17, native and gdbserver.

gdb/
2013-10-09  Pedro Alves  <palves@redhat.com>

	* breakpoint.c (insert_bp_location): Use memory_error_message to
	build the memory error string.
	* c-lang.c: Include "gdbcore.h".
	(c_get_string): Use memory_error to throw error.
	(target_xfer_memory_error): Delete.
	(memory_error_message): New, factored out from
	target_xfer_memory_error.
	(memory_error): Change parameter type to target_xfer_error.
	Rewrite.
	(read_memory): Use memory_error instead of
	target_xfer_memory_error.
	* gdbcore.h: Include "target.h".
	(memory_error): Change parameter type to target_xfer_error.
	(memory_error_message): Declare function.
	* target.c (target_read_memory, target_read_stack)
	(target_write_memory, target_write_raw_memory): Return
	TARGET_XFER_E_IO on error.  Adjust comments.
	(get_target_memory): Pass TARGET_XFER_E_IO to memory_error,
	instead of EIO.
	* target.h (target_read, target_insert_breakpoint)
	(target_remove_breakpoint): Adjust comments.
	* valprint.c (partial_memory_read): Rename parameter, and adjust
	comment.
	(val_print_string): Use memory_error_message to build the memory
	error string.

gdb/testsuite/
2013-10-09  Pedro Alves  <palves@redhat.com>

	* gdb.python/py-prettyprint.exp (run_lang_tests): Adjust expected
	output.
2013-10-09 17:00:00 +00:00
Nick Clifton 2bc8690cd1 Fix typo in previous delta. 2013-10-09 16:37:44 +00:00
Nick Clifton 5af84f938a PR gprof/16027
* source.c (annotate_source): Close ifp.
	* corefile.c (read_function_mappings): Close file.
2013-10-09 16:34:30 +00:00
Nick Clifton d9313f4f43 PR ld/16028
* ldmain.c (add_keepsyms_file): Close file at end of function.
2013-10-09 16:30:02 +00:00
Nick Clifton b707aa49bf PR binutils/16022
* elf32-rx.c (rx_dump_symtab): Add missing break statements.
2013-10-09 16:24:43 +00:00
Nick Clifton 35431c4c23 PR binutils/16023
* debug.c (debug_type_samep): Add missing break statement.
2013-10-09 16:21:26 +00:00
Nick Clifton aebcf7b7ec PR binutils/16024
* objdump.c (usage): Mark as a no-return function.
	(main): Add comment explaining why a break statement is not
	needed.
2013-10-09 16:17:23 +00:00
Nick Clifton b7b2bb1d1c PR gas/16025
* config/tc-epiphany.c (md_convert_frag): Add missing break
	statement.
2013-10-09 16:10:11 +00:00
Jan Kratochvil c74e1ccf71 Minor O_CLOEXEC optimization, "regression" fix
gdb/
2013-10-09  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* common/filestuff.c (gdb_fopen_cloexec): Remove initialization of
	result variable.  Rename variable fopen_e_ever_failed to
	fopen_e_ever_failed_einval.  Retry fopen only for errno EINVAL.
2013-10-09 16:00:54 +00:00
Pedro Alves 915215be09 monitor.c: Don't install a deprecated_xfer_memory method.
This removes another yet instance of a deprecated_xfer_memory user.

Tested by building a --enable-targets=all gdb, on x86-64 Fedora 17.

gdb/
2013-10-09  Pedro Alves  <palves@redhat.com>

	* monitor.c (monitor_write_memory, monitor_write_memory_bytes)
	(monitor_write_memory_longlongs, monitor_write_memory_block):
	Constify 'myaddr' parameter.
	(monitor_xfer_memory): Adjust interface as monitor_xfer_partial
	helper.
	(monitor_xfer_partial): New function.
	(init_base_monitor_ops): Don't install a deprecated_xfer_memory
	hook.  Install a to_xfer_partial hook.
2013-10-09 15:55:17 +00:00
Nick Clifton 6085f85378 PR gas/16026
* config/tc-mn10200.c (md_convert_frag): Add missing break
	statement.
2013-10-09 15:52:32 +00:00
Tom Tromey 6e114b15ca * opncls.c (get_alt_debug_link_info_shim): Update type of 'len'. 2013-10-09 15:50:39 +00:00
Nick Clifton 6d490cdb86 PR ld/16021
* elf32-rl78.c (rl78_dump_symtab): Delete.
	(rl78_get_reloc): Delete.
2013-10-09 15:44:27 +00:00