Commit Graph

84480 Commits

Author SHA1 Message Date
Simon Marchi 9550ae5e54 Factor out decfloat printing code from generic_val_print
gdb/ChangeLog:

	* valprint.c (generic_val_print): Factor out decfloat
	printing code to ...
	(generic_val_print_decfloat): ... this new function.
2015-07-27 14:11:25 -04:00
Simon Marchi 7784724bb1 Factor out float printing code from generic_val_print
gdb/ChangeLog:

	* valprint.c (generic_val_print): Factor out float
	printing code to ...
	(generic_val_print_float): ... this new function.
2015-07-27 14:11:24 -04:00
Simon Marchi 385f5affc0 Factor out char printing code from generic_val_print
gdb/ChangeLog:

	* valprint.c (generic_val_print): Factor out char
	printing code to ...
	(generic_val_print_char): ... this new function.
2015-07-27 14:11:24 -04:00
Simon Marchi b21b63420b Factor out int printing code from generic_val_print
gdb/ChangeLog:

	* valprint.c (generic_val_print): Factor out integer
	printing code to ...
	(generic_val_print_int): ... this new function.
2015-07-27 14:11:23 -04:00
Simon Marchi e5bead4b23 Factor out bool printing code from generic_val_print
gdb/ChangeLog:

	* valprint.c (generic_val_print): Factor out bool
	printing code to ...
	(generic_val_print_bool): ... this new function.
2015-07-27 14:11:23 -04:00
Simon Marchi 4a8c372f1f Factor out function/method printing code from generic_val_print
gdb/ChangeLog:

	* valprint.c (generic_val_print): Factor out function/method
	printing code to ...
	(generic_val_print_func): ... this new function.
2015-07-27 14:11:22 -04:00
Simon Marchi d93880bd1c Factor out flags printing code from generic_val_print
gdb/ChangeLog:

	* valprint.c (generic_val_print): Factor out flags
	printing code to ...
	(generic_val_print_flags): ... this new function.
2015-07-27 14:11:22 -04:00
Simon Marchi ef0bc0dd96 Factor out enum printing code from generic_val_print
gdb/ChangeLog:

	* valprint.c (generic_val_print): Factor out enum
	printing code to ...
	(generic_val_print_enum): ... this new function.
2015-07-27 14:11:21 -04:00
Simon Marchi fe43fede47 Factor out reference printing code from generic_val_print
gdb/ChangeLog:

	* valprint.c (generic_val_print): Factor out reference
	printing code to ...
	(generic_val_print_ref): ... this new function.
2015-07-27 14:11:21 -04:00
Simon Marchi 45000ea2f3 Factor out memberptr printing code from generic_val_print
gdb/ChangeLog:

	* valprint.c (generic_val_print): Factor out memberptr
	printing code to ...
	(generic_val_print_memberptr): ... this new function.
2015-07-27 14:11:20 -04:00
Simon Marchi 81eb921ae1 Factor out pointer printing code from generic_val_print
gdb/ChangeLog:

	* valprint.c (generic_val_print): Factor out pointer
	printing code to ...
	(generic_val_print_ptr): ... this new function.
2015-07-27 14:11:19 -04:00
Simon Marchi 557dbe8a5e Factor out array printing code from generic_val_print
gdb/ChangeLog:

	* valprint.c (generic_val_print): Factor out array
	printing code to ...
	(generic_val_print_array): ... this new function.
2015-07-27 14:11:19 -04:00
Simon Marchi 9f436164d5 Factor out print_unpacked_pointer from generic_val_print
gdb/ChangeLog:

	* valprint.c (generic_val_print): Factor out
	print_unpacked_pointer code to ...
	(print_unpacked_pointer): ... this new function.
2015-07-27 14:11:18 -04:00
H.J. Lu c45bd4fd43 Check address of versined symbol
Since GCC 5 folds symbol address comparison, assuming each symbol has a
different address, &foo == &bar is always false for GCC 5.  This patch
adds check_ptr_eq if 2 addresses are the same and uses it to check the
address of versined symbol.

	PR ld/18718
	* ld-elf/check-ptr-eq.c: New file.
	* ld-elf/pr18718.c (main): Call check_ptr_eq.
	* ld-elf/shared.exp: Add check-ptr-eq.c to PR ld/18718 tests.
2015-07-27 10:11:33 -07:00
Patrick Palka 077836f7cf Have SIGTERM promptly quit GDB even when the dummy target is active
GDB currently does not promptly quit after receiving a SIGTERM while no
proper target is active.  This is because in handle_sigterm we currently
look at target_can_async_p to determine whether to asynchronously quit
GDB using an async signal handler or to asynchronously quit using the
quit flag.  However, target_can_async_p is always false under the dummy
target, so under this target we always use the quit flag and not the
async signal handler to signal that GDB should quit.  So GDB won't quit
until a code path that checks the quit flag is executed.

To fix this issue, this patch makes the SIGTERM handler no longer
inspect target_can_async_p, and instead makes the handler
unconditionally set the quit flag _and_ mark the corresponding async
signal handler, so that if the target is async (or if it's the dummy
target) then we will likely quit through the async signal handler, and
if it's not async then we will likely quit through the quit flag.  This
redundant approach is similar to how we handle SIGINT.

gdb/ChangeLog:

	* event-top.c (handle_sigterm): Don't inspect
	target_can_async_p.  Always set the quit flag and always mark
	the async signal handler.

gdb/testsuite/ChangeLog:

	* gdb.base/gdb-sigterm-2.exp: New test.
2015-07-27 12:44:12 -04:00
Yao Qi 50904b25ec [gdbserver] Don't set srv_linux_usrregs for aarch64*-*-linux*
We don't use PTRACE_PEEKUSR/PTRACE_POKEUSR on aarch64-linux, so don't
need to set srv_linux_usrregs.  This patch removes that line.

gdb/gdbserver:

2015-07-27  Yao Qi  <yao.qi@linaro.org>

	* configure.srv (case aarch64*-*-linux*): Don't set
	srv_linux_usrregs.
2015-07-27 16:15:48 +01:00
Yao Qi 3a60804fbc Fix ChangeLog entry 2015-07-27 16:12:48 +01:00
Yao Qi 206350da0f Remove REMOTE_EXAMPLES from gdb/Makefile.in
I happen to see REMOTE_EXAMPLES isn't used anywhere, so this patch
removes it.

REMOTE_EXAMPLES was added in the following commit in 1991,

commit 86bbb439c8
Author: John Gilmore <gnu@cygnus>
Date:   Fri May 3 19:57:13 1991 +0000

    There should be a Makefile in the cvs main directory, configured
    for "./config.gdb none", so that things like "make tags" and "make tar"
    will work.

and it was used like:

TARFILES = ${TAGFILES_MAINDIR} ${OTHERS} ${REMOTE_EXAMPLES}

However TARFILES was removed by the change latter in 1994,

Tue Aug 16 15:24:03 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)

	* symtab.c (decode_line_1): If funfirstline and we get a
	non-LOC_BLOCK symbol (e.g. variable or type), then error().

	* Makefile.in (TARFILES, NONSRC, SFILES_STAND, SFILES_KGDB):
	Remove; unused.

Since then, REMOTE_EXAMPLES is not used any more.

gdb:

2015-07-27  Yao Qi  <yao.qi@linaro.org>

	* Makefile.in (REMOTE_EXAMPLES): Remove it.
2015-07-27 16:06:31 +01:00
H.J. Lu 37a42ee9ad Regenerate configure files
bfd/

	* configure: Regenerated.

binutils/

	* configure: Regenerated.

gas/

	* configure: Regenerated.

gold/

	* configure: Regenerated.

gprof/

	* configure: Regenerated.

ld/

	* configure: Regenerated.

opcodes/

	* configure: Regenerated.
2015-07-27 07:56:32 -07:00
H.J. Lu 136bb21fda Sync toplevel files with GCC
Sync with GCC
	2015-07-24  Michael Darling  <darlingm@gmail.com>

	PR other/66259
	* config-ml.in: Reflects renaming of configure.in to configure.ac
	* configure: Likewise
	* configure.ac: Likewise
2015-07-27 07:49:05 -07:00
H.J. Lu edb71a9c38 Sync config with GCC
Sync with GCC
	2015-07-24  Micahel Darling  <darlingm@gmail.com>

	PR other/66259
	* gettext.m4: Reflects renaming of configure.in to configure.ac
	* po.m4: Likewise
	* stdint.m4: Likewise
	* tcl.m4: Likewise
2015-07-27 07:43:26 -07:00
Nick Clifton 79559014b2 Fix the address size computation for the MSP430 port.
* elf32-msp430.c (uses_large_model): New function.
	(msp430_elf_eh_frame_address_size): New function.
	(elf_backend_eh_frame_address_size): Define.
2015-07-27 15:15:28 +01:00
H.J. Lu 219a6876d4 Append $PLT_CFLAGS to CC/CXX for S-records tests
S-records tests don't work with -fno-plt.  This path appends $PLT_CFLAGS
to CC and CXX for S-records tests.

	* ld-srec/srec.exp (CC): Save and restore.  Append $PLT_CFLAGS.
	(CXX): Likewise.
2015-07-27 05:18:20 -07:00
H.J. Lu cda77e9efc Pass $PLT_CFLAGS to ld_compile
Some linker shard library tests without PIC expect PLT.  This patch
passes $PLT_CFLAGS to ld_compile.

	* ld-shared/shared.exp: Pass $PLT_CFLAGS to ld_compile.
2015-07-27 05:17:26 -07:00
H.J. Lu 379d3f1ffc Append $PLT_CFLAGS to CC for NOCROSSREFS tests
NOCROSSREFS tests don't work with -fno-plt.  This path appends
$PLT_CFLAGS to CC for NOCROSSREFS tests.

	* ld-scripts/crossref.exp (CC): Save and restore.  Append
	$PLT_CFLAGS.
2015-07-27 05:16:38 -07:00
H.J. Lu ea9fb8b3e9 Add $PLT_CFLAGS to -fPIC for run_cc_link_tests
Some x86 linker tests expect PLT.  This patch adds $PLT_CFLAGS to -fPIC
for run_cc_link_tests.

	* ld-i386/i386.exp (run_cc_link_tests): Add $PLT_CFLAGS to
	-fPIC if needed.
	* ld-x86-64/mpx.exp (run_cc_link_tests): Likewise.
	* ld-x86-64/x86-64.exp (run_cc_link_tests): Likewise.
2015-07-27 05:15:48 -07:00
H.J. Lu faebca0390 Pass $PLT_CFLAGS to ld_compile
Some linker visibility tests without PIC expect PLT.  This patch passes
$PLT_CFLAGS to ld_compile.

	* ld-elfvsb/elfvsb.exp (visibility_run): Pass $PLT_CFLAGS to
	ld_compile.
2015-07-27 05:15:01 -07:00
H.J. Lu c4972ed602 Pass $PLT_CFLAGS to build_binary
Some linker symbol version tests without PIC expect PLT.  This patch
adds $PLT_CFLAGS to CFLAGS.

	* ld-elfvers/vers.exp (build_vers_lib_no_pic): Pass $PLT_CFLAGS
	to build_binary.
2015-07-27 05:13:55 -07:00
H.J. Lu e10461aebd Set PLT_CFLAGS to "-fplt" if supported
GCC 6 supports -fno-plt.  But some linker tests expect PLT.  This patch
defines PLT_CFLAGS to "-fplt" if target compiler supports it.

	* config/default.exp (PLT_CFLAGS): New.
2015-07-27 05:12:02 -07:00
Szabolcs Nagy 32f573bcb3 [AArch64] Fix extern protected data handling
Emit *GLOB_DAT instead of *RELATIVE relocs for protected data
in shared objects.

This is needed for the fix of glibc bug 17711:
https://sourceware.org/bugzilla/show_bug.cgi?id=17711

bfd:
	PR ld/18705
	* elfnn-aarch64.c (elf_backend_extern_protected_data): Define.

ld/testsuite:
	PR ld/18705
	* ld-aarch64/protected-data.d: New.
	* ld-aarch64/protected-data.s: New.
	* ld-aarch64/aarch64-elf.exp: Add new test.
2015-07-27 11:48:48 +01:00
Szabolcs Nagy b68a20d667 [ARM] Fix extern protected data handling
Emit *GLOB_DAT instead of *RELATIVE relocs for protected data
in shared objects.

This is needed for the fix of glibc bug 17711:
https://sourceware.org/bugzilla/show_bug.cgi?id=17711

bfd:
	PR ld/18705
	* elf32-arm.c (elf_backend_extern_protected_data): Define.

ld/testsuite:
	PR ld/18705
	* ld-arm/protected-data.d: New.
	* ld-arm/protected-data.s: New.
	* ld-arm/arm-elf.exp: Add new test.
2015-07-27 11:45:27 +01:00
GDB Administrator 0c096ed760 Automatic date update in version.in 2015-07-27 00:00:08 +00:00
H.J. Lu edcab5e8bd Compile PR ld/18718 tests with -O2
PR ld/18718
	* ld-elf/shared.exp: Compile PR ld/18718 tests with -O2.
2015-07-26 14:55:39 -07:00
H.J. Lu d76b620743 Set errcnt and warncnt to 0 in run_host_cmd_yesno
run_host_cmd_yesno should set errcnt and warncnt to 0.  Otherwise, they
may leak to the next run.

	* lib/ld-lib.exp (run_host_cmd_yesno): Set errcnt and warncnt
	to 0.
2015-07-26 11:55:57 -07:00
Doug Kwan ab3b14b04b Make arm_unaligned_reloc test less sensitive to disassembler output format. 2015-07-26 00:54:26 -07:00
Kevin Buettner c9f35b348e remote.c: Make read_ptid return a null value when no thread id is found.
When using GDB to debug an RX target using the GDB remote protocol,
using a Renesas supplied debug agent, I encountered the following
assertion error:

thread.c:85: internal-error: inferior_thread: Assertion `tp' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n) n
Command aborted.

This assertion error occurs due to the fact that the value associated
with inferior_ptid is not on the thread list.

The remote debug output (obtained with "set debug remote 1") is fairly
short, so I will include it up to the point where things go wrong -
which is somewhat before the assertion failure:

    (gdb) target remote coyote.lan:61234
    Remote debugging using coyote.lan:61234
    Sending packet: $qSupported:multiprocess+;swbreak+;hwbreak+;qRelocInsn+#c9...Ack
    Packet received: PacketSize=c00;qXfer:memory-map:read-;qXfer:features:read-;QStartNoAckMode+;multiprocess+;QNonStop+
    Packet qSupported (supported-packets) is supported
    Sending packet: $QStartNoAckMode#b0...Ack
    Packet received: OK
    Sending packet: $Hgp0.0#ad...Packet received: OK
    Sending packet: $QNonStop:0#8c...Packet received: OK
    Sending packet: $qTStatus#49...Packet received:
    Packet qTStatus (trace-status) is NOT supported
    Sending packet: $?#3f...Packet received: S02
    Sending packet: $qfThreadInfo#bb...Packet received: m1
    Sending packet: $qsThreadInfo#c8...Packet received: l
    Sending packet: $qAttached:a410#bf...Packet received: 0
    Packet qAttached (query-attached) is supported
    Sending packet: $Hc-1#09...Packet received: OK
    Sending packet: $qC#b4...Packet received: QC not supported

Above is the trace starting from the invocation of "target remote"
through the call of get_current_thread() in remote_start_remote().
Below, I've pasted this line of code along with additional lines of
context.  The test following the call is especially important to
understanding both the problem and my patch.

          /* We have thread information; select the thread the target
             says should be current.  If we're reconnecting to a
             multi-threaded program, this will ideally be the thread
             that last reported an event before GDB disconnected.  */
          inferior_ptid = get_current_thread (wait_status);
          if (ptid_equal (inferior_ptid, null_ptid))
            {
              /* Odd... The target was able to list threads, but not
                 tell us which thread was current (no "thread"
                 register in T stop reply?).  Just pick the first
                 thread in the thread list then.  */
              inferior_ptid = thread_list->ptid;
            }
        }

Prior to getting to the code pasted above, remote_start_remote()
made a call to target_update_thread_list().  This corresponds to the
following lines from the above trace:

    Sending packet: $qfThreadInfo#bb...Packet received: m1
    Sending packet: $qsThreadInfo#c8...Packet received: l
    Sending packet: $qAttached:a410#bf...Packet received: 0
    Packet qAttached (query-attached) is supported

Once target_update_thread_list has completed, the thread list
contains a single entry: {pid = 42000, lwp = 1, tid = 0}.

remote_start_remote() then makes a call to set_continue_thread(),
accounting for this line of the trace:

    Sending packet: $Hc-1#09...Packet received: OK

Finally, the call to get_current_thread() is responsible for the last
line of the trace that I provided above:

    Sending packet: $qC#b4...Packet received: QC not supported

get_current_thread() calls stop_reply_extract_thread() with the wait
status. This returns null_ptid.

get_current_thread() then calls remote_current_thread with a null
inferior_ptid.  After the calls to putpkt() and getpkt(), rs->buf[0]
is 'Q', so read_ptid() is called and its result is returned.

The buffer passed to read_ptid() is " not supported".  read_ptid ultimately
returns a ptid of {pid = 4200, lwp = 0, tid = 0}.

However, this thread is not on the thread list.  As noted earlier, the
call to target_update_thread_list() had placed {pid = 42000, lwp = 1,
tid = 0} on the list.  This is the only thread in the list.

When these calls ultimately return to remote_start_remote(),
inferior_ptid gets set to {pid = 4200, lwp = 0, tid = 0}, which
(again) is not on the thread list.

It appears to me that the string " not supported" is coming from the
debug agent.  If so, it should be fixed, but I don't see a reason to
not consult the thread list in order to place a valid thread id in
inferior_ptid.

This (consultation of the thread list) is what is done when
inferior_ptid is null_ptid:

	  if (ptid_equal (inferior_ptid, null_ptid))
	    {
	      /* Odd... The target was able to list threads, but not
		 tell us which thread was current (no "thread"
		 register in T stop reply?).  Just pick the first
		 thread in the thread list then.  */
	      inferior_ptid = thread_list->ptid;
	    }

My patch causes a null inferior_ptid to be returned by read_ptid when
no thread id is found in the response from the debug agent.  This
return value ends up being returned by remote_current_thread() and
then by get_current_thread.  The assignment then places this null
value into inferior_ptid.  That, in turn, allows the ptid_equal test
(noted above) to fetch a valid thread from the thread list.  I no
longer see the assertion failure due a good value (which is on the
thread list) being placed in inferior_ptid.

This patch also adds two log warnings that may be output when "set
debug remote 1" is used.  When running against the Renesas debug agent
mentioned earlier, this is the relevant portion of the log output:

Sending packet: $qC#b4...Packet received: QC not supported
warning: garbage in qC reply
warning: couldn't determine remote current thread; picking first in list.

gdb/ChangeLog:

	* remote.c (read_ptid): Return null_ptid when no thread id
	is found.
	(remote_current_thread): Add log warning for malformed
	qC reply.
	(remote_start_remote): Add log warning when current thread
	not found.
2015-07-25 22:02:27 -07:00
GDB Administrator 805cee45cd Automatic date update in version.in 2015-07-26 00:00:11 +00:00
Patrick Palka 5836a818ec Revert "Sync readline/ to version 7.0 alpha"
This reverts commit b558ff043d.
This reverts commit 4a11f20659.

The initial import commit failed to retain local changes made to
readline's configure.in (and the commit message erroneously stated that
there were no local changes that needed to be reapplied).  Also the
import caused a couple of build errors and a scattering of testsuite
regressions throughout many arches.  It's probably better to start over
with this import, hopefully more carefully next time.
2015-07-25 15:57:00 -04:00
Doug Evans b8cc7b2e9a Revert: * Makefile.in (check/%.exp): Pass directory for GDB_PARALLEL.
Regressions, e.g.,
http://gdb-build.sergiodj.net/builders/Fedora-x86_64-m32/builds/1501

gdb/testsuite/ChangeLog:

	Revert:
	* Makefile.in (check/%.exp): Pass directory for GDB_PARALLEL.
	(workers/%.worker, build-perf): New rule.
	(GDB_PERFTEST_MODE): New variable.
	(check-perf): Use it.
	(clean): Clean up gdb.perf parallel build subdirs.
	* lib/build-piece.exp: New file.
	* lib/cache.exp (gdb_do_cache): Include $GDB_PARALLEL in path name.
	* lib/gdb.exp (standard_output_file): Include $GDB_PARALLEL in path
	name.
	(standard_temp_file): Ditto.
	(GDB_PARALLEL handling): Make outputs,temp,cache directories as subdirs
	of $GDB_PARALLEL.
2015-07-25 12:07:28 -07:00
Patrick Palka b558ff043d Don't build readline's shared libs by default
Since the sync to version 7.0-alpho, readline now by default builds
(unused) shared libraries alongside static libraries, whereas before it
only built static libraries.  A couple of GDB buildbots were not happy
with this change:

  http://gdb-build.sergiodj.net/builders/AIX-POWER7-plain/builds/240
  http://gdb-build.sergiodj.net/builders/Fedora-i686/builds/1518

To get these buildbots building again, this patch alters readline's
configure.ac file to not build shared libraries by default, as was the
case with readline 6.2.  A more permanent fix may be to alter the
top-level Makefile.def to pass --disable-shared to readline, or to
investigate why these building these shared libraries are giving the
buildbots trouble.  (I think the proximate reason why the i686 buildbot
fails is because it passes CFLAGS=-m32 instead of CC="gcc -m32" to the
top-level configure script, and readline's linker commands don't inherit
CFLAGS.  Not sure about the AIX failure.)

readline/ChangeLog.gdb:

	* configure.ac: Default opt_shared_libs to no.
	* configure: Regenerate.
2015-07-25 11:35:02 -04:00
H.J. Lu 18d9555c6e Add missing ChangeLog files 2015-07-25 08:10:51 -07:00
H.J. Lu 1659f720b0 Skip missing symbol version section check for executable
Missing symbol version section is a run-time problem only if it will
be referenced dynamically at run-time.  We should skip the check for
locally defined symbol, which isn't referenced by shared library, when
linking executable.

bfd/

	PR ld/18718
	* elflink.c (elf_link_output_extsym): Check symbol version
	section check only if not linking executable, the symbol is
	referenced by shared library or not locally defined.

ld/testsuite/

	PR ld/18718
	* ld-elf/pr18718.c: New file.
	* ld-elf/shared.exp: Run tests for PR ld/18718.
2015-07-25 08:07:33 -07:00
Patrick Palka 4a11f20659 Sync readline/ to version 7.0 alpha
This patch syncs our upstream copy of readline from version 6.2 to the
latest version, 7.0 alpha (released July 10 2015).

I essentially copied what was done the last time readline was synced,
when Jan updated to readline 6.2 in 2011:
http://sourceware.org/ml/gdb-patches/2011-05/msg00003.html

Procedure:

1. I extracted the readline-7.0-alpha tarball on top of readline/.
2. I deleted all the new files under doc/ that were deliberately omitted
   before.
3. I regenerated readline/configure and readline/examples/rlfe/configure
   using autoconf 2.64.  No other configure files need regenerating.
4. I updated the function gdb_printable_part in completer.c with a
   trivial change made to the readline function it is based off of,
   printable_part in readline/complete.c.  There is more work to be done in
   completer.c to sync it with readline/complete.c, but it is non-trivial
   and should probably be done separately anyway.

Local patches that had to be reapplied:

    None.  readline 7.0 alpha contains all of our local readline
    patches.

New files in readline/:

    colors.{c,h}
    examples/{hist_erasedups,hist_purgecmd,rl-callbacktest,rlbasic}.c
    parse-colors.{c,h}
    readline.pc.in
    configure.ac

Deleted files in readline/:

    configure.in

Regressions:

After the sync there is one testsuite regression, the test
"signal SIGINT" in gdb.gdb/selftest.exp which now FAILs.  Previously,
the readline 6.2 SIGINT handler would temporarily reinstall the
underlying application's SIGINT handler and immediately re-raise SIGINT
so that the orginal handler gets invoked.  But now (since readline 6.3)
its SIGINT handler does not re-raise SIGINT or directly invoke the
original handler; it now sets a flag marking that SIGINT was raised, and
waits until readline explicitly has control to call the application's
SIGINT handler.  Anyway, because SIGINT is no longer re-raised from
within readline's SIGINT handler, doing "signal SIGINT" with a stopped
inferior gdb process will no longer resume and then immediately stop the
process (since there is no 2nd SIGINT to immediately catch).  Instead,
the inferior gdb process will now just print "Quit" and continue to run.
So with this commit, this particular test case is adjusted to reflect
this change in behavior (we now have to send a 2nd SIGINT manually to
stop it).

Aside from this one testsuite regression, I personally noticed no
regression in user-visible behavior.  Though I only tested on x86_64
and on i686 Debian Stretch.

Getting this kind of change in at the start of the GDB 7.11 development
cycle will allow us to get a lot of passive testing from developers and
from bleeding-edge users.

readline/ChangeLog.gdb:

	Import readline 7.0 alpha
	* configure: Regenerate.
	* examples/rlfe/configure: Regenerate.

gdb/ChangeLog:

	* completer.c (gdb_printable_part): Sync with readline function
	it is based off of.

gdb/testsuite/ChangeLog:

	* gdb.gdb/selftest.exp (test_with_self): Update test to now
	expect the GDB inferior to no longer immediately stop after
	being resumed with "signal SIGINT".
2015-07-25 09:53:01 -04:00
Alan Modra a496fbc880 Fix broken -Bsymbolic-functions
For selected targets.  The testcase reveals a number of targets that
still need fixing.

bfd/
	* elf32-arm.c (elf32_arm_final_link_relocate): Use SYMBOLIC_BIND to
	check if a symbol should be bound symbolically.
	* elf32-hppa.c (elf32_hppa_check_relocs,
	elf32_hppa_adjust_dynamic_symbol, elf32_hppa_relocate_section,
	elf32_hppa_finish_dynamic_symbol): Likewise.
	* elf32-m68k.c (elf_m68k_check_relocs,
	elf_m68k_relocate_section): Likewise.
	* elf32-nios2.c (nios2_elf32_relocate_section,
	nios2_elf32_check_relocs, allocate_dynrelocs): Likewise.
	* elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol,
	elf32_tic6x_relocate_section): Likewise.
ld/testsuite/
	* ld-elf/symbolic-func.s,
	* ld-elf/symbolic-func.r: New test.
	* ld-elf/elf.exp: Run it.
2015-07-25 20:41:04 +09:30
Doug Evans ca3084f54b Revert 4fd4095a5f, log individual measurements.
I think I lost a patch along the way, because I remember needing
something like this, but the reverted patch isn't the right way to
do this.  Removing ...

gdb/testsuite/ChangeLog:

	* gdb.perf/lib/perftest/measure.py (MeasurementCpuTime::stop): Print
	result.
	(MeasurementWallTime::stop): Ditto.
	(MeasurementVmSizeTime::stop): Ditto.
2015-07-24 17:42:18 -07:00
GDB Administrator f7d3050b19 Automatic date update in version.in 2015-07-25 00:00:08 +00:00
Doug Evans 7fecd1b400 Add gmonster-{1,2} perf testcases.
These testcases are mocks of real programs.
GDB doesn't care what the programs do, they just have to look
and/or behave like the real program.
These testcases exercise gdb when debugging really large programs.
E.g., gmonster-1 has 10,000 CUs, and gmonster-2 has 1000 shared libs
(which is actually a little small, 5000 would be more accurate).

gdb/testsuite/ChangeLog:

	* gdb.perf/lib/perftest/utils.py: New file.
	* gdb.perf/gm-hello.cc: New file.
	* gdb.perf/gm-pervasive-typedef.cc: New file.
	* gdb.perf/gm-pervasive-typedef.h: New file.
	* gdb.perf/gm-std.cc: New file.
	* gdb.perf/gm-std.h: New file.
	* gdb.perf/gm-use-cerr.cc: New file.
	* gdb.perf/gm-utils.h: New file.
	* gdb.perf/gmonster-null-lookup.py: New file.
	* gdb.perf/gmonster-pervasive-typedef.py: New file.
	* gdb.perf/gmonster-print-cerr.py: New file.
	* gdb.perf/gmonster-ptype-string.py: New file.
	* gdb.perf/gmonster-runto-main.py: New file.
	* gdb.perf/gmonster-select-file.py: New file.
	* gdb.perf/gmonster1-null-lookup.exp: New file.
	* gdb.perf/gmonster1-pervasive-typedef.exp: New file.
	* gdb.perf/gmonster1-print-cerr.exp: New file.
	* gdb.perf/gmonster1-ptype-string.exp: New file.
	* gdb.perf/gmonster1-runto-main.exp: New file.
	* gdb.perf/gmonster1-select-file.exp: New file.
	* gdb.perf/gmonster1.cc: New file.
	* gdb.perf/gmonster1.exp: New file.
	* gdb.perf/gmonster2-null-lookup.exp: New file.
	* gdb.perf/gmonster2-pervasive-typedef.exp: New file.
	* gdb.perf/gmonster2-print-cerr.exp: New file.
	* gdb.perf/gmonster2-ptype-string.exp: New file.
	* gdb.perf/gmonster2-runto-main.exp: New file.
	* gdb.perf/gmonster2-select-file.exp: New file.
	* gdb.perf/gmonster2.cc: New file.
	* gdb.perf/gmonster2.exp: New file.
2015-07-24 15:46:31 -07:00
Doug Evans 6eab34f3dc Add perf testcase generator.
gdb/testsuite/ChangeLog:

	* gdb.perf/README: New file.
	* lib/perftest.exp (tcl_string_list_to_python_list): New function.
	* lib/gen-perf-test.exp: New file.
2015-07-24 15:43:15 -07:00
Doug Evans 63738bfdb9 PerfTest::assemble functions return results.
gdb/testsuite/ChangeLog:

	* lib/perftest.exp (PerfTest::compile): Unconditionally call body.
	(PerfTest::startup): New function.
	(PerfTest::run): Return result of calling body.
	(PerfTest::assemble): Rewrite.
	* gdb.perf/backtrace.exp (PerfTest::assemble): Update function result.
	* gdb.perf/disassemble.exp (PerfTest::assemble): Ditto.
	* gdb.perf/single-step.exp (PerfTest::assemble): Ditto.
	* gdb.perf/skip-prologue.exp (PerfTest::assemble): Ditto.
	* gdb.perf/solib.exp (PerfTest::assemble): Ditto.
2015-07-24 15:38:21 -07:00
Doug Evans 7b606f95c9 lib/gdb.exp (clean_restart): Make executable optional.
gdb/testsuite/ChangeLog:

	* lib/gdb.exp (clean_restart): Make executable optional.
2015-07-24 15:35:12 -07:00