public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  tromey/always-async: rework target-async docs
@ 2013-07-16 20:29 tromey
  0 siblings, 0 replies; 2+ messages in thread
From: tromey @ 2013-07-16 20:29 UTC (permalink / raw)
  To: archer-commits

The branch, tromey/always-async has been updated
       via  3d9baabfad8ba67ed14696fb2be4d58d83777e6c (commit)
      from  de4d7b9c1bfaecf49be1f73e2a403552cf189afa (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 3d9baabfad8ba67ed14696fb2be4d58d83777e6c
Author: Tom Tromey <tromey@redhat.com>
Date:   Fri Jul 12 08:21:03 2013 -0600

    rework target-async docs

-----------------------------------------------------------------------

Summary of changes:
 gdb/doc/gdb.texinfo |   29 +++++++++++------------------
 1 files changed, 11 insertions(+), 18 deletions(-)

First 500 lines of diff:
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index fae54e4..b311fb9 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -5672,9 +5672,6 @@ To enter non-stop mode, use this sequence of commands before you run
 or attach to your program:
 
 @smallexample
-# Enable the async interface.  
-set target-async 1
-
 # If using the CLI, pagination breaks non-stop.
 set pagination off
 
@@ -5744,21 +5741,6 @@ the program to report that some thread has stopped before prompting for
 another command.  In background execution, @value{GDBN} immediately gives
 a command prompt so that you can issue other commands while your program runs.
 
-You need to explicitly enable asynchronous mode before you can use
-background execution commands.  You can use these commands to
-manipulate the asynchronous mode setting:
-
-@table @code
-@kindex set target-async
-@item set target-async on
-Enable asynchronous mode.
-@item set target-async off
-Disable asynchronous mode.
-@kindex show target-async
-@item show target-async
-Show the current target-async setting.
-@end table
-
 If the target doesn't support async mode, @value{GDBN} issues an error
 message if you attempt to use the background execution commands.
 
@@ -28488,6 +28470,17 @@ frontend has started the executable or attached to the target, it can
 find if asynchronous execution is enabled using the
 @code{-list-target-features} command.
 
+@table @code
+@kindex -gdb-set target-async
+@item -gdb-set target-async on
+Enable asynchronous mode.  This mode only affects MI commands.
+@item -gdb-set target-async off
+Disable asynchronous mode.
+@kindex -gdb-show target-async
+@item -gdb-show target-async
+Show the current target-async setting.
+@end table
+
 Even if @value{GDBN} can accept a command while target is running,
 many commands that access the target do not work when the target is
 running.  Therefore, asynchronous command execution is most useful


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [SCM]  tromey/always-async: rework target-async docs
@ 2013-07-22 19:21 tromey
  0 siblings, 0 replies; 2+ messages in thread
From: tromey @ 2013-07-22 19:21 UTC (permalink / raw)
  To: archer-commits

The branch, tromey/always-async has been updated
  discards  3d9baabfad8ba67ed14696fb2be4d58d83777e6c (commit)
  discards  de4d7b9c1bfaecf49be1f73e2a403552cf189afa (commit)
  discards  9d1300c213b2c9bbb0691bff08b81bcaca35a0f4 (commit)
  discards  57c88e875057b04fab025c98f3a016b526c45c00 (commit)
  discards  2dd7c24fbf79fc67138d209fd7778fa95c5422e8 (commit)
  discards  65d5130231d002e24934941c06f848eb7c0e439d (commit)
  discards  8d64f4cedfa15ff524e00112c79dc31f8e79e426 (commit)
  discards  a8b7921e9b7d2a0019ae2d7335b4169d1bf14bc9 (commit)
  discards  fb8b47ef3e1f0189114339503cf3e8c128585cd9 (commit)
  discards  b486174e782dd164b780288f397c0274cc0b6ca7 (commit)
  discards  70c728b2b7da35961b4fa055f4d74da55c283cb3 (commit)
  discards  756088b216dda92452b6033f531e597501238a14 (commit)
  discards  00aff49923b3d9fe3a0ab89696016c513abf04b9 (commit)
       via  0bd5e1d72af96246377132d0b66cd3042f961a5e (commit)
       via  92787aabc88ee6f7f2082a2bb233b6a4dcb70675 (commit)
       via  858309f807277eac6af7e2b5f47f588a755596d9 (commit)
       via  5a7aee45e21886338cc6043fc1e57cad4c6a1fa4 (commit)
       via  4f15ec118a2a3bbec5f01e0218c4eaed7f4a9db2 (commit)
       via  43c20a4ea94ab2beb1d6f9c4a7bb9d35daa36dc8 (commit)
       via  01ab8a038a226a2a7432150bc1c5a03fe3a95355 (commit)
       via  bdd70eefffd25bef83333a9a34cd9ccaa51691e0 (commit)
       via  e47c6a37f173c4c5f657f6cee4df32a64626fa07 (commit)
       via  a5becb7a7f9ff95ebb777c753880c70b3c14f52e (commit)
       via  274644a55f78ece01a01ae2a6ca83412eb2b0d09 (commit)
       via  9e7ce349fddc2284e3851a2d0674c92d6164bdac (commit)
       via  57a568e63574f4af05bd014d3f9599f4eb18c5f3 (commit)
       via  97b6b07c3c5847caf456f267f16b5752ac8cc7c6 (commit)
       via  5b0fded83d4885312076005ede47963fb33839f8 (commit)
       via  f5e51af0f2a34738443164a68c0ccc93392eb379 (commit)
       via  0a92edeb05bdec32c5e3bbeb7917929ca018566c (commit)
       via  a36e82dffcdbe02f81bcd962fa5433a131beaad1 (commit)
       via  512d9d777e13da489d09cb97f1f12387e4ac5483 (commit)
       via  6e9e64dfe2199560a88cb01d0301d0665534cc70 (commit)
       via  ae537a464963022dab36b4c118badef329796bf1 (commit)
       via  97835e3ae326d91312c80891f6c06e4c37495db9 (commit)
       via  17fa37683038af52d01583214b03c00d34ab0e17 (commit)
       via  f937d0033e2cae37d0620e790c3778fb546a93d6 (commit)
       via  0d8c4d0194c47f84c789d8df336f85d59586d98a (commit)
       via  315ec7b3d3774f6479844b3b8dae9e5e56f3ead9 (commit)
       via  ed580c79f0549191c962dffc230b534f34c3c5ae (commit)
       via  b50b89c92083837281424c1d4f25c190e0031ab7 (commit)
       via  cc3c9e5f2bf4c0b64cfc7f4a9af1921c8c0298c2 (commit)
       via  5f3c083af079e3d88299015866a6d2c612ec677d (commit)
       via  9e0db739224f2f8550a6dc4f4a8ac8300eca2f7c (commit)
       via  d08069649dcbb63c70a8b0f2bc60300ebd481dd4 (commit)
       via  75e46a306feea4f426e1f9ccb3bf98cb9851b56b (commit)
       via  ef90bc3c5ec4c281992a0787b215524b509f655a (commit)
       via  1e394e0760d3e4ca93a19aaa33d63bf4b51a39d1 (commit)
       via  3fbde4f2406857d0c1a80b4237f5620006ef1bd7 (commit)
       via  3b91b83f2adc704a43960684164f379799fa6179 (commit)
       via  bb958a1d4dc037ace51cb75553c61002363fd9c8 (commit)
       via  ff112dd9b410708ff70d70cb58573d41946c182f (commit)
       via  ac0e91f5daab76e44d9400fec6ce768bfde41f01 (commit)
       via  27464b11f5a8933e52ac4ae8d8fa6f3a87a85797 (commit)
       via  7d64f5f99829cb80d83b75a56a43e816e148bf1d (commit)
       via  d679e74e9e265fac6e12944db461b1445688d9aa (commit)
       via  60d57d2ccf4cb4142a25487ee7ee054633b6df3b (commit)
       via  3cbfab9d816a3eeeb4d1e75309cbc05124605bbc (commit)
       via  8e0dc52660af53697cee4980057cfaf125ca753a (commit)
       via  4975c4416b0c402e3b4262e458864144125ae550 (commit)
       via  8fb64acba6015d69e9c1035114ac53b32c99aa9d (commit)
       via  f24d1defe964bd65d71b29895758026eda81a073 (commit)
       via  11d4b8302575e76de2c5dda233290a8dbd424171 (commit)
       via  2736ba401cd3ebf7773192265a38c9117c1d1c2e (commit)
       via  ec97e80c6c4452368230e63d09f05ac98cf7d19d (commit)
       via  b28f90623baaf5a5d3d863d5245ec3515fc6323c (commit)
       via  935b3ba2c0c84c977a93dd01c9514903b890d268 (commit)
       via  24a284a2fedcff8a2bb82aa22fab3bad69ef877b (commit)
       via  26c25469e9acbbdf238e52acc10e73f530bcbbf1 (commit)
       via  f54ef97a6bf0d2bf88715c2d57a963fcf11563f5 (commit)
       via  744127e62a95fcdc3e0157b9bdec24a5873ee56e (commit)
       via  760288e8b4669ccd54efebd736322f9451ef128f (commit)
       via  3b37117a509a6421bcacc64ba015e8eb0b589e6c (commit)
       via  98d98362d386edaedba4852924b3024e44287074 (commit)
       via  e0cf5a3d16d30e09ec02e13f49f906904cc78d90 (commit)
       via  cfe97b909f1132567841a9b52c11497622b85fee (commit)
       via  3eed1bfef8edb4d82dbffb6354d55642c5c76072 (commit)
       via  ef8851bad801a44cd8a46f947862fb94e2d8851b (commit)
       via  8c9ae2c9f194b7f638de3767964ebaa0612eaf9a (commit)
       via  0c5757c85217e7531d5d97858a88081c698c1dce (commit)
       via  f988eff1e4af97ab0a456e3161abbe31664dee1a (commit)
       via  4a64d15b2dd59bdf0c3b11aeafb07ae6958fcc86 (commit)
       via  339f45ad047e7aab18742cf470a264c1e3dc2dca (commit)
       via  b396ab9003b5194a43d87e5859955fbee1d72d08 (commit)
       via  56f3220505ac2a4ed287197141778d87afb86251 (commit)
       via  df98275232bd6266aea2bddbb4db249ec3f4afeb (commit)
       via  50d4284e06d3e48508856a6f56028cfdcadd6166 (commit)
       via  82e15013140fcfffed14e595836192d7b355ea8c (commit)
       via  9f8926ab6db81624b65c20639fb4dae9faa0b4e2 (commit)
       via  d03fa8ff5c6ff0b64baffcec8e13b773aaefaa8b (commit)
       via  e801dd8a4366cb340b1979db46f9e9fd61eabbad (commit)
       via  b1c7fb10b2f4b67ac4c0b42483903bf2cd98e5a7 (commit)
       via  8d7e8b999fbbf207c588bb08aa9f628bd241a89a (commit)
       via  fe92c71abe8689b2fb1bac1e33a3284ebd0b43e8 (commit)
       via  d4588faba33dbb9f34002613e89703343030d28b (commit)
       via  2b5d365d2242abf445e2c834b1361723e13014aa (commit)
       via  34b2792f3cdf8d24d665257b56c6c576a8dfa27c (commit)
       via  8b8d5c7ff56786de9567e71f26265cbd2ab493fb (commit)
       via  65b341f0c3cd38e3b741b85f8160955e2156bec5 (commit)
       via  708881205fb9accb694c5a724d76444d46c29630 (commit)
       via  fb95a3a22c76bb33c31aa249af470f72f279aaaf (commit)
       via  9ff4cc1c8b4edf1f1598578ee42180684b5484cc (commit)
       via  3f384b5b58b2a9f42f1cc34616a8103b7fcf510b (commit)
       via  7176aecf86e5d9b7991c71656f3b52cec82bf417 (commit)
       via  2ed2c6a394277aa2de2f557d34b7d20b36518592 (commit)
       via  9f5e30f7cf73a3256fbb9a265c897aa3f2c91439 (commit)
       via  59f2be5e4349279d67dfb81a9674b3ed6bd53437 (commit)
       via  9836361131fc4d63d93d1265e4fc57a07f525760 (commit)
       via  31852533eb8fd3a0f37df8bef9a3086940642289 (commit)
       via  a518bc5be2c62c92575e1493ad5bfabd160966f3 (commit)
       via  4dc07c16e9adada7a989b729a2a5123614d4f367 (commit)
       via  484a566f8762dcf2fb7943538fea6bbdf601adf8 (commit)
       via  1f2a93c952e0b415748eb4ab4bd5e09fbdae9bf9 (commit)
       via  ffd52cc35a35577116a01459e65711d2c07ccd1c (commit)
       via  7051386e48c0e80cdd2ccb8cc5c0a8e84e831020 (commit)
       via  c9820d96249a52508af0e55488acda0ede4cb41a (commit)
       via  1dafc5fd9caefc8306e4e45083b0ba8c20b42d43 (commit)
       via  88fb6edc3722f678d8f7aa5ae65daf9ec6dc12b3 (commit)
       via  6a120c2f9c46edc6f93932c3738bd0d3afb8db02 (commit)
       via  882b6307d545a0f42682428d30cddb7bc3e084f6 (commit)
       via  28447e14cde86eb09a4a0ee246d154eb080971c4 (commit)
       via  994b49f18871aaa48729f83671578c1a36a7fbaf (commit)
       via  23badfd01793d55645ca6dff0d92fa7a04c7f11a (commit)
       via  030cae2ec201337c7360afa4284501dd432f0e4a (commit)
       via  f966e8edbc82ba636cdee4badf1c50bef7c0599e (commit)
       via  9eebe822db35048e297f13759ed533baf58571a8 (commit)
       via  def372ee599734e7249184208ebb5f6ff797a107 (commit)
       via  7d74338ce734fb147fab4a2cd2074e256b07b5b4 (commit)
       via  dae3e1d42e9a72735e8068c14049a41aa6a00d92 (commit)
       via  a6b18e13c836e9b583ccd460337b9320f314dc7f (commit)
       via  12c8a94d097d33b80f2b393658670a6f95a46ec7 (commit)
       via  e2525218c4971c8cffa24964310d5d835dc6f034 (commit)
       via  e9ca7b1915dc8c5486e9952704ec338ae0ff772b (commit)
       via  6ca6eb40a5d2af8390af90f0ef9a577367dc5c12 (commit)
       via  ac5a2a6855038988c4710d4de091659b4ad5af5e (commit)
       via  39ac4ac5a41537e2f2b1af30d08d19372d99a9dc (commit)
       via  c3b69035e84941c70ea5c3617eb3f2b08d3fddf8 (commit)
      from  3d9baabfad8ba67ed14696fb2be4d58d83777e6c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 0bd5e1d72af96246377132d0b66cd3042f961a5e
Author: Tom Tromey <tromey@redhat.com>
Date:   Fri Jul 12 08:21:03 2013 -0600

    rework target-async docs

commit 92787aabc88ee6f7f2082a2bb233b6a4dcb70675
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue Jul 9 12:23:08 2013 -0600

    add README.archer

commit 858309f807277eac6af7e2b5f47f588a755596d9
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue Jul 9 12:21:55 2013 -0600

    enable target-async
    
    This enables target-async by default.
    
    Since MI chose to treat target-async specially, we can't get
    rid of the option.  Instead we have to make it MI-only.
    
    This still has a regression in mi-async.exp.
    The problem seems to be exactly when the MI prompt is emitted.
    
    This still needs a doc update

commit 5a7aee45e21886338cc6043fc1e57cad4c6a1fa4
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue Jul 9 10:27:05 2013 -0600

    really remove gdb.mi/mi2-cli.exp

commit 4f15ec118a2a3bbec5f01e0218c4eaed7f4a9db2
Author: Tom Tromey <tromey@redhat.com>
Date:   Wed Jul 3 10:11:58 2013 -0600

    enable target-async by default for CLI

commit 43c20a4ea94ab2beb1d6f9c4a7bb9d35daa36dc8
Author: Tom Tromey <tromey@redhat.com>
Date:   Mon Jul 8 10:23:33 2013 -0600

    fix py-finish-breakpoint.exp with always-async
    
    With target async enabled, py-finish-breakpoint.exp will trigger an
    assertion failure.
    
    The failure occurs because execute_command re-enters the event loop in
    some circumstances, and in this case resets the sync_execution flag.
    Then later gdb reaches this assertion in normal_stop:
    
          gdb_assert (sync_execution || !target_can_async_p ());
    
    execute_command has a comment explaining why it dispatches events:
    
          /* If the interpreter is in sync mode (we're running a user
    	 command's list, running command hooks or similars), and we
    	 just ran a synchronous command that started the target, wait
    	 for that command to end.  */
    
    However, the code did not follow this comment -- it didn't check to
    see if the command started the target.
    
    This patch fixes the problem by noting whether the target was
    executing in sync_execution mode before running the command, and then
    augmenting the condition to test this as well.
    
    Built and regtested on x86-64 Fedora 18.
    
    	* top.c (execute_command): Only dispatch events if command
    	started target.

commit 01ab8a038a226a2a7432150bc1c5a03fe3a95355
Author: Tom Tromey <tromey@redhat.com>
Date:   Mon Jul 8 09:41:57 2013 -0600

    make dprintf.exp pass in always-async mode
    
    When target-async is enabled, dprintf.exp fails.
    
    This happens because run_inferior_call causes gdb to forget that it is
    running in sync_execution mode, so something like a breakpoint
    condition that makes an inferior call causes gdb to enter fully async
    mode.
    
    This patch fixes the problem by noticing when gdb was in
    sync_execution mode in run_inferior_call, and taking care to restore
    this state afterward.
    
    Built and regtested on x86-64 Fedora 18.
    
    	PR cli/15718:
    	* infcall.c: Include event-top.h.
    	(run_inferior_call): Call async_disable_stdin if needed.

commit bdd70eefffd25bef83333a9a34cd9ccaa51691e0
Author: Pedro Alves <palves@redhat.com>
Date:   Wed May 9 14:07:04 2012 +0100

    PR gdb/13860: don't lose '-interpreter-exec console EXECUTION_COMMAND''s output in async mode.
    
    The other part of PR gdb/13860 is about console execution commands
    in MI getting their output half lost.  E.g., take the finish command,
    executed on a frontend's GDB console:
    
    sync:
    
      finish
      &"finish\n"
      ~"Run till exit from #0  usleep (useconds=10) at ../sysdeps/unix/sysv/linux/usleep.c:27\n"
      ^running
      *running,thread-id="1"
      (gdb)
      ~"0x00000000004004d7 in foo () at stepinf.c:6\n"
      ~"6\t    usleep (10);\n"
      ~"Value returned is $1 = 0\n"
      *stopped,reason="function-finished",frame={addr="0x00000000004004d7",func="foo",args=[],file="stepinf.c",fullname="/home/pedro/gdb/tests/stepinf.c",line="6"},thread-id="1",stopped-threads="all",core="1"
    
    async:
    
      finish
      &"finish\n"
      ~"Run till exit from #0  usleep (useconds=10) at ../sysdeps/unix/sysv/linux/usleep.c:27\n"
      ^running
      *running,thread-id="1"
      (gdb)
      *stopped,reason="function-finished",frame={addr="0x00000000004004d7",func="foo",args=[],file="stepinf.c",fullname="/home/pedro/gdb/tests/stepinf.c",line="6"},gdb-result-var="$1",return-value="0",thread-id="1",stopped-threads="all",core="0"
    
    Note how all the "Value returned" etc. output is missing in async mode.
    
    The same happens with e.g., catchpoints:
    
      =breakpoint-modified,bkpt={number="1",type="catchpoint",disp="keep",enabled="y",what="22016",times="1"}
      ~"\nCatchpoint "
      ~"1 (forked process 22016), 0x0000003791cbd8a6 in __libc_fork () at ../nptl/sysdeps/unix/sysv/linux/fork.c:131\n"
      ~"131\t  pid = ARCH_FORK ();\n"
      *stopped,reason="fork",disp="keep",bkptno="1",newpid="22016",frame={addr="0x0000003791cbd8a6",func="__libc_fork",args=[],file="../nptl/sysdeps/unix/sysv/linux/fork.c",fullname="/usr/src/debug/glibc-2.14-394-g8f3b1ff/nptl/sysdeps/unix/sysv/linux/fork.c",line="131"},thread-id="1",stopped-threads="all",core="0"
    
    where all those ~ lines are missing in async mode, or just the "step"
    current line indication:
    
      s
      &"s\n"
      ^running
      *running,thread-id="all"
      (gdb)
      ~"13\t  foo ();\n"
      *stopped,frame={addr="0x00000000004004ef",func="main",args=[{name="argc",value="1"},{name="argv",value="0x7fffffffdd78"}],file="stepinf.c",fullname="/home/pedro/gdb/tests/stepinf.c",line="13"},thread-id="1",stopped-threads="all",core="3"
      (gdb)
    
    Or in the case of the PRs example, the "Stopped due to shared library
    event" note:
    
      start
      &"start\n"
      ~"Temporary breakpoint 1 at 0x400608: file ../../../src/gdb/testsuite/gdb.mi/solib-main.c, line 21.\n"
      =breakpoint-created,bkpt={number="1",type="breakpoint",disp="del",enabled="y",addr="0x0000000000400608",func="main",file="../../../src/gdb/testsuite/gdb.mi/solib-main.c",fullname="/home/pedro/gdb/mygit/src/gdb/testsuite/gdb.mi/solib-main.c",line="21",times="0",original-location="main"}
      ~"Starting program: /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.mi/solib-main \n"
      =thread-group-started,id="i1",pid="21990"
      =thread-created,id="1",group-id="i1"
      ^running
      *running,thread-id="all"
      (gdb)
      =library-loaded,id="/lib64/ld-linux-x86-64.so.2",target-name="/lib64/ld-linux-x86-64.so.2",host-name="/lib64/ld-linux-x86-64.so.2",symbols-loaded="0",thread-group="i1"
      ~"Stopped due to shared library event (no libraries added or removed)\n"
      *stopped,reason="solib-event",thread-id="1",stopped-threads="all",core="3"
      (gdb)
    
    IMO, if you're typing execution commands in a frontend's console, you
    expect to see their output.  Indeed it's what you get in sync mode.  I
    think async mode should do the same.
    
    That's what this patch does.
    
    Notes:
    
      - mi->out is the same as gdb_stdout when MI is the current
        interpreter.  I think that referring to that directly is cleaner.
        An earlier revision of this patch made the changes that are now
        done in mi_on_normal_stop directly in infrun.c:normal_stop, and so
        not having an obvious place to put the new uiout by then, and not
        wanting to abuse CLI's uiout, I made a temporary uiout when
        necessary.
    
      - Hopefuly the rest of the patch is more or less obvious given the
        comments I added.
    
    Tested on x86_64 Fedora 16, no regressions.
    
    2012-05-09  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/13860
    
    	* gdbthread.h (struct thread_control_state): New field
    	`command_interp'.
    	* infrun.c (follow_fork): Copy the new thread control field to the
    	child fork thread.
    	(clear_proceed_status_thread): Clear the new thread control field.
    	(proceed): Set the new thread control field.
    	* interps.h (command_interp): Declare.
    	* interps.c (command_interpreter): New global.
    	(command_interp): New function.
    	(interp_exec): Set `command_interpreter' while here.
    
    	* cli-out.c (cli_uiout_dtor): New function.
    	(cli_ui_out_impl): Install it.
    
    	* mi/mi-interp.c: Include cli-out.h.
    	(mi_cmd_interpreter_exec): Add comment.
    	(restore_current_uiout_cleanup): New function.
    	(ui_out_free_cleanup): New function.
    	(mi_on_normal_stop): In async mode, if finishing an execution
    	command started by a CLI command, or any kind of breakpoint-like
    	event triggered, print the stop event to the output (CLI) stream.
    	* mi/mi-out.c (mi_ui_out_impl): Install NULL `dtor' handler.
    
    	gdb/testsuite/
    	* gdb.mi/mi-cli.exp: Also expect the new source line to be output
    	after a "next", in async mode.  Make it a pass/fail test.
    	* gdb.mi/mi-solib.exp: Test that the CLI solib event note is
    	output.

commit e47c6a37f173c4c5f657f6cee4df32a64626fa07
Author: Pedro Alves <palves@redhat.com>
Date:   Wed May 9 14:10:30 2012 +0100

    PR gdb/13860: make "-exec-foo"'s MI output equal to "foo"'s MI output.
    
    Part of PR gdb/13860 is about the mi-solib.exp test's output being
    different in sync vs async modes.
    
    sync:
    
      >./gdb -nx -q ./testsuite/gdb.mi/solib-main -ex "set stop-on-solib-events 1" -ex "set target-async off" -i=mi
      =thread-group-added,id="i1"
      ~"Reading symbols from /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.mi/solib-main..."
      ~"done.\n"
      (gdb)
      &"start\n"
      ~"Temporary breakpoint 1 at 0x400608: file ../../../src/gdb/testsuite/gdb.mi/solib-main.c, line 21.\n"
      =breakpoint-created,bkpt={number="1",type="breakpoint",disp="del",enabled="y",addr="0x0000000000400608",func="main",file="../../../src/gdb/testsuite/gdb.mi/solib-main.c",fullname="/home/pedro/gdb/mygit/src/gdb/testsuite/gdb.mi/solib-main.c",line="21",times="0",original-location="main"}
      ~"Starting program: /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.mi/solib-main \n"
      =thread-group-started,id="i1",pid="17724"
      =thread-created,id="1",group-id="i1"
      ^running
      *running,thread-id="all"
      (gdb)
      =library-loaded,id="/lib64/ld-linux-x86-64.so.2",target-name="/lib64/ld-linux-x86-64.so.2",host-name="/lib64/ld-linux-x86-64.so.2",symbols-loaded="0",thread-group="i1"
      ~"Stopped due to shared library event (no libraries added or removed)\n"
      *stopped,reason="solib-event",frame={addr="0x000000379180f990",func="_dl_debug_state",args=[],from="/lib64/ld-linux-x86-64.so.2"},thread-id="1",stopped-threads="all",core="3"
      (gdb)
    
    async:
    
      >./gdb -nx -q ./testsuite/gdb.mi/solib-main -ex "set stop-on-solib-events 1" -ex "set target-async on" -i=mi
      =thread-group-added,id="i1"
      ~"Reading symbols from /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.mi/solib-main..."
      ~"done.\n"
      (gdb)
      start
      &"start\n"
      ~"Temporary breakpoint 1 at 0x400608: file ../../../src/gdb/testsuite/gdb.mi/solib-main.c, line 21.\n"
      =breakpoint-created,bkpt={number="1",type="breakpoint",disp="del",enabled="y",addr="0x0000000000400608",func="main",file="../../../src/gdb/testsuite/gdb.mi/solib-main.c",fullname="/home/pedro/gdb/mygit/src/gdb/testsuite/gdb.mi/solib-main.c",line="21",times="0",original-location="main"}
      ~"Starting program: /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.mi/solib-main \n"
      =thread-group-started,id="i1",pid="17729"
      =thread-created,id="1",group-id="i1"
      ^running
      *running,thread-id="all"
      =library-loaded,id="/lib64/ld-linux-x86-64.so.2",target-name="/lib64/ld-linux-x86-64.so.2",host-name="/lib64/ld-linux-x86-64.so.2",symbols-loaded="0",thread-group="i1"
      (gdb)
      *stopped,reason="solib-event",thread-id="1",stopped-threads="all",core="1"
    
    For now, let's focus only on the *stopped event.  We see that the
    async output is missing frame info.  And this causes a test failure in
    async mode, as "mi_expect_stop solib-event" wants to see the frame
    info.
    
    However, if we compare the event output when a real MI execution
    command is used, compared to a CLI command (e.g., run vs -exec-run,
    next vs -exec-next, etc.), we see:
    
      >./gdb -nx -q ./testsuite/gdb.mi/solib-main -ex "set stop-on-solib-events 1" -ex "set target-async off" -i=mi
      =thread-group-added,id="i1"
      ~"Reading symbols from /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.mi/solib-main..."
      ~"done.\n"
      (gdb)
      r
      &"r\n"
      ~"Starting program: /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.mi/solib-main \n"
      =thread-group-started,id="i1",pid="17751"
      =thread-created,id="1",group-id="i1"
      ^running
      *running,thread-id="all"
      (gdb)
      =library-loaded,id="/lib64/ld-linux-x86-64.so.2",target-name="/lib64/ld-linux-x86-64.so.2",host-name="/lib64/ld-linux-x86-64.so.2",symbols-loaded="0",thread-group="i1"
      ~"Stopped due to shared library event (no libraries added or removed)\n"
      *stopped,reason="solib-event",frame={addr="0x000000379180f990",func="_dl_debug_state",args=[],from="/lib64/ld-linux-x86-64.so.2"},thread-id="1",stopped-threads="all",core="3"
      (gdb)
      -exec-run
      =thread-exited,id="1",group-id="i1"
      =thread-group-exited,id="i1"
      =library-unloaded,id="/lib64/ld-linux-x86-64.so.2",target-name="/lib64/ld-linux-x86-64.so.2",host-name="/lib64/ld-linux-x86-64.so.2",thread-group="i1"
      =thread-group-started,id="i1",pid="17754"
      =thread-created,id="1",group-id="i1"
      ^running
      *running,thread-id="all"
      (gdb)
      =library-loaded,id="/lib64/ld-linux-x86-64.so.2",target-name="/lib64/ld-linux-x86-64.so.2",host-name="/lib64/ld-linux-x86-64.so.2",symbols-loaded="0",thread-group="i1"
      *stopped,reason="solib-event",thread-id="1",stopped-threads="all",core="1"
      =thread-selected,id="1"
      (gdb)
    
    As seen above, with MI commands, the *stopped event _doesn't_ have
    frame info.  This is because normal_stop, as commanded by the result
    of bpstat_print, skips printing frame info in this case (it's an
    "event", not a "breakpoint"), and when the interpreter is MI,
    mi_on_normal_stop skips calling print_stack_frame, as the normal_stop
    call was already done with the MI uiout.  This explains why the async
    output is different even with a CLI command.  Its because in async
    mode, the mi_on_normal_stop path is always taken; it is always reached
    with the MI uiout, because the stop is handled from the event loop,
    instead of from within `proceed -> wait_for_inferior -> normal_stop'
    with the interpreter overridden, as in sync mode.
    
    This patch fixes the issue by making all cases output the same
    *stopped event, by factoring out the print code from normal_stop, and
    using it from mi_on_normal_stop as well.  I chose the *stopped output
    without a frame, mainly because that is what you already get if you
    use MI execution commands, the commands frontends are supposed to use
    (except when implementing a console).  This patch makes it simpler to
    tweak the MI output differently if desired, as we only have to change
    the centralized print_stop_event (taking into account whether the
    uiout is MI-like), and all different modes will change accordingly.
    
    Tested on x86_64 Fedora 16, no regressions.  The mi-solib.exp test no
    longer fails in async mode with this patch, so the patch removes the
    kfail.
    
    2012-05-09  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/13860
    
    	gdb/
    	* inferior.h (print_stop_event): Declare.
    	* infrun.c (print_stop_event): New, factored out from ...
    	(normal_stop): ... this.
    	* mi/mi-interp.c (mi_on_normal_stop): Use print_stop_event instead
    	of bpstat_print/print_stack_frame.
    
    	gdb/testsuite/
    	* gdb.mi/mi-solib.exp: Remove gdb/13860 kfail.
    	* lib/mi-support.exp (mi_expect_stop): Add special handling for
    	solib-event.

commit a5becb7a7f9ff95ebb777c753880c70b3c14f52e
Author: Pedro Alves <palves@redhat.com>
Date:   Wed May 9 17:28:12 2012 +0100

    PR gdb/13860: make -interpreter-exec console "list" behave more like "list".
    
    Patch 3 in this series made me notice that "list" behaves differently
    in CLI vs MI.  Particularly:
    
      >./gdb -nx -q ./testsuite/gdb.mi/mi-cli
      Reading symbols from /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.mi/mi-cli...done.
      (gdb) start
      Temporary breakpoint 1 at 0x40054d: file ../../../src/gdb/testsuite/gdb.mi/basics.c, line 62.
      Starting program: /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.mi/mi-cli
    
      Temporary breakpoint 1, main () at ../../../src/gdb/testsuite/gdb.mi/basics.c:62
      62        callee1 (2, "A string argument.", 3.5);
      (gdb) list
      57      {
      58      }
      59
      60      main ()
      61      {
      62        callee1 (2, "A string argument.", 3.5);
      63        callee1 (2, "A string argument.", 3.5);
      64
      65        do_nothing (); /* Hello, World! */
      66
      (gdb)
    
    Note the list started at line 57.  IOW, the program stopped at line
    62, and GDB centered the list on that.
    
    compare with:
    
      >./gdb -nx -q ./testsuite/gdb.mi/mi-cli -i=mi
      =thread-group-added,id="i1"
      ~"Reading symbols from /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.mi/mi-cli..."
      ~"done.\n"
      (gdb)
      start
      &"start\n"
      ~"Temporary breakpoint 1 at 0x40054d: file ../../../src/gdb/testsuite/gdb.mi/basics.c, line 62.\n"
      =breakpoint-created,bkpt={number="1",type="breakpoint",disp="del",enabled="y",addr="0x000000000040054d",func="main",file="../../../src/gdb/testsuite/gdb.mi/basics.c",fullname="/home/pedro/gdb/mygit/src/gdb/testsuite/gdb.mi/basics.c",line="62",times="0",original-location="main"}
      ~"Starting program: /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.mi/mi-cli \n"
      =thread-group-started,id="i1",pid="14221"
      =thread-created,id="1",group-id="i1"
      ^running
      *running,thread-id="all"
      (gdb)
      =library-loaded,id="/lib64/ld-linux-x86-64.so.2",target-name="/lib64/ld-linux-x86-64.so.2",host-name="/lib64/ld-linux-x86-64.so.2",symbols-loaded="0",thread-group="i1"
      =library-loaded,id="/lib64/libm.so.6",target-name="/lib64/libm.so.6",host-name="/lib64/libm.so.6",symbols-loaded="0",thread-group="i1"
      =library-loaded,id="/lib64/libc.so.6",target-name="/lib64/libc.so.6",host-name="/lib64/libc.so.6",symbols-loaded="0",thread-group="i1"
      =breakpoint-modified,bkpt={number="1",type="breakpoint",disp="del",enabled="y",addr="0x000000000040054d",func="main",file="../../../src/gdb/testsuite/gdb.mi/basics.c",fullname="/home/pedro/gdb/mygit/src/gdb/testsuite/gdb.mi/basics.c",line="62",times="1",original-location="main"}
      ~"\nTemporary breakpoint "
      ~"1, main () at ../../../src/gdb/testsuite/gdb.mi/basics.c:62\n"
      ~"62\t  callee1 (2, \"A string argument.\", 3.5);\n"
      *stopped,reason="breakpoint-hit",disp="del",bkptno="1",frame={addr="0x000000000040054d",func="main",args=[],file="../../../src/gdb/testsuite/gdb.mi/basics.c",fullname="/home/pedro/gdb/mygit/src/gdb/testsuite/gdb.mi/basics.c",line="62"},thread-id="1",stopped-threads="all",core="0"
      =breakpoint-deleted,id="1"
      (gdb)
      -interpreter-exec console list
      ~"62\t  callee1 (2, \"A string argument.\", 3.5);\n"
      ~"63\t  callee1 (2, \"A string argument.\", 3.5);\n"
      ~"64\t\n"
      ~"65\t  do_nothing (); /* Hello, World! */\n"
      ~"66\t\n"
      ~"67\t  callme (1);\n"
      ~"68\t  callme (2);\n"
      ~"69\t\n"
      ~"70\t  return 0;\n"
      ~"71\t}\n"
      ^done
      (gdb)
    
    Here the list starts at line 62, where the program was stopped.
    
    This happens because print_stack_frame, called from both normal_stop
    and mi_on_normal_stop, is the function responsible for setting the
    current sal from the selected frame, overrides the PRINT_WHAT
    argument, and only after that does it decide whether to center the
    current sal line or not, based on the overriden value, and it will
    always decide false.
    
    (The print_stack_frame call in mi_on_normal_stop is a little different
    from the call in normal_stop, in that it is an unconditional
    SRC_AND_LOC call.  The next patch will make those uniform.)
    
    Tested on x86_64 Fedora 16, no regressions.
    
    gdb/
    2012-05-09  Pedro Alves  <palves@redhat.com>
    
    	* stack.c (print_stack_frame): Compute CENTER before overriding
    	PRINT_WHAT.
    
    gdb/testsuite/
    2012-05-09  Pedro Alves  <palves@redhat.com>
    
    	* gdb.mi/mi-cli.exp: Adjust expected output of "list".
    	* gdb.mi/mi2-cli.exp: Likewise.

commit 274644a55f78ece01a01ae2a6ca83412eb2b0d09
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue Jul 9 09:48:09 2013 -0600

    fix latent bugs in ui-out.c

commit 9e7ce349fddc2284e3851a2d0674c92d6164bdac
Author: DJ Delorie <dj@delorie.com>
Date:   Mon Jul 22 18:03:12 2013 +0000

    merge from gcc

commit 57a568e63574f4af05bd014d3f9599f4eb18c5f3
Author: Tom Tromey <tromey@redhat.com>
Date:   Mon Jul 22 18:00:49 2013 +0000

    fix solib-som.c
    
    som_open_symbol_file_object was leaking a cleanup.
    
    	* solib-som.c (som_open_symbol_file_object): Call do_cleanups.

commit 97b6b07c3c5847caf456f267f16b5752ac8cc7c6
Author: Tom Tromey <tromey@redhat.com>
Date:   Mon Jul 22 17:58:51 2013 +0000

    fix init_cutu_and_read_dies
    
    init_cutu_and_read_dies creates an outer cleanup and uses its
    immediately nested inner cleanup conditionally.  This seems overly
    complicated to me; simpler is to just deal with the outer cleanup and
    drop the inner one.  That is what this patch implements.
    
    	* dwarf2read.c (init_cutu_and_read_dies): Remove 'free_cu_cleanup'.
    	Simplify cleanup handling.

commit 5b0fded83d4885312076005ede47963fb33839f8
Author: Tom Tromey <tromey@redhat.com>
Date:   Mon Jul 22 17:53:55 2013 +0000

    fix dwarf_decode_line_header
    
    dwarf_decode_line_header has one return that is missing a call to
    do_cleanups.  This patch adds it.
    
    This was found using the cleanup checker.
    
    	* dwarf2read.c (dwarf_decode_line_header): Call do_cleanups
    	on all return paths.

commit f5e51af0f2a34738443164a68c0ccc93392eb379
Author: Joel Brobecker <brobecker@gnat.com>
Date:   Mon Jul 22 15:17:20 2013 +0000

    src-release: Fix VER computation for TOOL=gdb
    
    Without this patch, the DATE marker in gdb/version.in does not get
    replaced by the source packaging date, causing the name of the
    tarball being created to: have the DATE marker in the tarball
    name and the name of the directory the sources unpack to (Eg:
    gdb-7.6.50-DATE-cvs.tar instead of gdb-7.6.50-20130710-cvs.tar).
    
    ChangeLog:
    
            * src-release (VER): Use $(TOOL)/common/create-version.sh
            if it exists.

commit 0a92edeb05bdec32c5e3bbeb7917929ca018566c
Author: Ulrich Weigand <uweigand@de.ibm.com>
Date:   Mon Jul 22 13:17:51 2013 +0000

    2013-07-22  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
    
    	* ppc-linux-nat.c (PPC_DEBUG_FEATURE_DATA_BP_DAWR): New define.
    	(ppc_linux_region_ok_for_hw_watchpoint): Add checking to use the new
    	DAWR interface for longer ranges hardware watchpoint (up to 512 bytes).

commit a36e82dffcdbe02f81bcd962fa5433a131beaad1
Author: pmuldoon <pmuldoon>
Date:   Mon Jul 22 11:42:30 2013 +0000

    2013-07-22  Phil Muldoon  <pmuldoon@redhat.com>
    
    	* top.c (print_gdb_version): Add help, apropos description and
    	url to online documentation.

commit 512d9d777e13da489d09cb97f1f12387e4ac5483
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Mon Jul 22 00:00:04 2013 +0000

    daily update

commit 6e9e64dfe2199560a88cb01d0301d0665534cc70
Author: DJ Delorie <dj@delorie.com>
Date:   Sun Jul 21 17:19:10 2013 +0000

    merge from gcc

commit ae537a464963022dab36b4c118badef329796bf1
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Sun Jul 21 00:00:04 2013 +0000

    daily update

commit 97835e3ae326d91312c80891f6c06e4c37495db9
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Sat Jul 20 09:50:16 2013 +0000

    	PR ld/15762
    	PR ld/12761
    	* elflink.c (elf_link_add_object_symbols): Don't clobber
    	.gnu.warning.symbol sections when shared.

commit 17fa37683038af52d01583214b03c00d34ab0e17
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Sat Jul 20 00:00:05 2013 +0000

    daily update

commit f937d0033e2cae37d0620e790c3778fb546a93d6
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Jul 19 13:16:17 2013 +0000

    	* elf32-rx.c (rx_elf_relocate_section): Fix typo: move
    	saw_subtract from R_RX_OPdiv to R_RX_OPneg.

commit 0d8c4d0194c47f84c789d8df336f85d59586d98a
Author: willnewton <willnewton>
Date:   Fri Jul 19 10:24:34 2013 +0000

    gdb/testsuite/gdb.base: Enable disp-step-syscall.exp tests for ARM.
    
    disp-step-syscall.exp is not run for ARM targets because ARM syscall
    instructions have not been added to the list of possible syscall
    instructions. This patch adds ARM syscall instructions to enable
    disp-step-syscall.exp tests for ARM targets. Attached patch is tested
    on ARMv7 and helps pass all disp-step-syscall.exp tests for ARM
    targets.
    
    gdb/testsuite/ChangeLog:
    
    2013-07-19  Omair Javaid  <Omair.Javaid@linaro.org>
    
    	* gdb.base/disp-step-syscall.exp: Add svc and swi syscall
    	instructions and enable disp-step-syscall for arm targets.

commit 315ec7b3d3774f6479844b3b8dae9e5e56f3ead9
Author: willnewton <willnewton>
Date:   Fri Jul 19 10:01:26 2013 +0000

    gdb/testsuite/gdb.dwarf2: Replace @ with % for ARM compatability.
    
    The ARM assembler recognises @ symbol as a comment marker and
    therefore is unable to assemble some of gdb.dwarf2 testsuite tests.
    This patch replaces all occurrences of @ symbol with % sign to allow
    tests stay compatible with both ARM and x86 assembly. This patch has
    been tested on x86_64 and ARMv7 targets.
    
    gdb/testsuite/ChangeLog:
    
    2013-07-19  Omair Javaid  <Omair.Javaid@linaro.org>
    
            * gdb.dwarf2/fission-reread.S: Replace @ sign with % sign to remove
            assembler errors on arm.
            * gdb.dwarf2/mac-fileno.S: Likewise.
            * gdb.dwarf2/member-ptr-forwardref.S: Likewise.
            * gdb.dwarf2/pr13961.S: Likewise.

commit ed580c79f0549191c962dffc230b534f34c3c5ae
Author: Hui Zhu <teawater@gmail.com>
Date:   Fri Jul 19 07:26:45 2013 +0000

    2013-07-19  Hui Zhu  <hui@codesourcery.com>
    
    	PR gdb/15692
    	* mi/mi-cmd-break.c (mi_argv_to_format): Handle double quotes.
    
    2013-07-19  Hui Zhu  <hui@codesourcery.com>
    
    	PR gdb/15692
    	* gdb.mi/mi-dprintf.exp: Add double quotes test.

commit b50b89c92083837281424c1d4f25c190e0031ab7
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Fri Jul 19 00:00:04 2013 +0000

    daily update

commit cc3c9e5f2bf4c0b64cfc7f4a9af1921c8c0298c2
Author: qiyao <qiyao>
Date:   Thu Jul 18 23:09:48 2013 +0000

    gdb/
    
    	* target.c (update_current_target): Change the default action
    	of 'to_traceframe_info' from tcomplain to return_zero.
    	* target.h (struct target_ops) <to_traceframe_info>: Add more
    	comments.
    	* valops.c (read_value_memory): Call
    	traceframe_available_memory unconditionally.
    
    gdb/testsuite/
    
    	* gdb.trace/read-memory.exp (test_from_remote): Update test.
    	(teset_from_exec): Likewise.

commit 5f3c083af079e3d88299015866a6d2c612ec677d
Author: qiyao <qiyao>
Date:   Thu Jul 18 23:04:00 2013 +0000

    gdb/testsuite/
    
    	* gdb.trace/read-memory.c: New.
    	* gdb.trace/read-memory.exp: New.

commit 9e0db739224f2f8550a6dc4f4a8ac8300eca2f7c
Author: qiyao <qiyao>
Date:   Thu Jul 18 22:38:58 2013 +0000

    gdb/testsuite/
    
    	* lib/gdb.exp (gdb_compile_shlib): Pass the tail name of
    	$dest to link options if host is remote.  Move the
    	generated file to $dest.a on host if host is remote.

commit d08069649dcbb63c70a8b0f2bc60300ebd481dd4
Author: willnewton <willnewton>
Date:   Thu Jul 18 15:49:21 2013 +0000

    gdb/testsuite/gdb.threads: Ensure TLS tests link against pthreads.
    
    On Ubuntu by default the compiler passes --as-needed to ld which
    means no DT_NEEDED entry is added for libpthread when building
    the TLS tests. This causes the test to fail as libpthread is
    required to look up TLS variables. Add calls to pthread_testcancel
    to make sure libpthread gets linked.
    
    gdb/testsuite/ChangeLog:
    
    2013-07-18  Will Newton  <will.newton@linaro.org>
    
    	* gdb.threads/tls-nodebug.c: Call pthread_testcancel
    	to ensure the test is linked against pthreads.
    	* gdb.threads/tls-var-main.c: Likewise.
    	* gdb.threads/tls-shared.c: Likewise.

commit 75e46a306feea4f426e1f9ccb3bf98cb9851b56b
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jul 18 14:08:41 2013 +0000

    	PR ld/15721
    	* elf32-msp430.c (R_MSP430_10_PCREL): Use 10-bit source and
    	destination masks.
    	* R_MSP430_2X_PCREL: Likewise.
    	* R_MSP430X_10_PCREL: Likewise.
    	* R_MSP430X_2X_PCREL: Likewise.

commit ef90bc3c5ec4c281992a0787b215524b509f655a
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jul 18 13:53:04 2013 +0000

    	PR binutils/15728
    	* basic-ops.h: (SUBWORDSIQI) Make declaration static.
    	* (SUBWORDSIHI): Likewise.
    	* (SUBWORDDIQI): Likewise.
    	* (SUBWORDDIHI): Likewise.
    	* (SUBWORDDISI): Likewise.

commit 1e394e0760d3e4ca93a19aaa33d63bf4b51a39d1
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jul 18 12:00:26 2013 +0000

            * elf32-arm.c (arm_type_of_stub): Don't use ST_BRANCH_TO_ARM for
    thumb only targets.
            (elf32_arm_final_link_relocate): Likewise.
    
            * ld-arm/thumb-b-lks-sym.d: Updated to be more flexible.
            * ld-arm/thumb-bl-lks-sym.d: Likewise.

commit 3fbde4f2406857d0c1a80b4237f5620006ef1bd7
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jul 18 11:40:37 2013 +0000

    	* mach-o.c (mach_o_section_name_xlat dw): Add entry for
    	.debug_gdb_scripts

commit 3b91b83f2adc704a43960684164f379799fa6179
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jul 18 11:24:09 2013 +0000

    	* elf32-arm.c (elf32_arm_stub_long_branch_arm_nacl): New variable.
    	(elf32_arm_stub_long_branch_arm_nacl_pic): New variable.
    	(arm_build_one_stub): Increase MAXRELOCS to 3.
    	(arm_type_of_stub): Use them if GLOBALS->nacl_p.
    	(struct elf32_arm_link_hash_table): Give add_stub_section member's
    	pointee type a third argument.
    	(elf32_arm_create_or_find_stub_sec): Update caller.
    	(elf32_arm_size_stubs): Update argument type.
    	* bfd-in.h (elf32_arm_size_stubs): Update decl.
    	* bfd-in2.h: Regenerate.
    	* libbfd.h: Regenerate.
    
    	* emultempl/armelf.em (elf32_arm_add_stub_section): Take third
    	argument ALIGNMENT_POWER, use it instead of constant 3.
    
    	* ld-arm/farcall-arm-nacl.d: New file.
    	* ld-arm/farcall-arm-nacl-pic.d: New file.
    	* ld-arm/farcall-data-nacl.d: New file.
    	* ld-arm/arm-elf.exp (armeabitests_common): Add extra element to
    	"action" lists for those cases to use a different dump file for NaCl
    	targets.
    	Massage $armeabitests_common to drop the extra element or the one
    	before it, depending on [istarget "arm*-*-nacl*"].
    
    	* ld-arm/arm-elf.exp (armelftests_common): Move all "Cortex-A8
    	erratum fix", Thumb-only and interworking cases to ...
    	(armelftests_nonacl): ... here.
    	(armeabitests_common): Move all "erratum 760522 fix", Thumb-only
    	and interworking cases to ...
    	(armeabitests_nonacl): ... here.

commit bb958a1d4dc037ace51cb75553c61002363fd9c8
Author: qiyao <qiyao>
Date:   Thu Jul 18 05:13:27 2013 +0000

    gdb/testsuite/
    
    	* lib/future.exp (gdb_default_target_compile): Use tail name
    	of $destfile as the output name of compile.  Move the
    	generated file to $destfile on build.

commit ff112dd9b410708ff70d70cb58573d41946c182f
Author: qiyao <qiyao>
Date:   Thu Jul 18 05:07:24 2013 +0000

    gdb/testsuite/
    
    	* lib/gdb.exp (gdb_compile): Set
    	gdb_saved_set_unbuffered_mode_obj to
    	set_unbuffered_mode_saved.o if host is remote.  Invoke
    	remote_download to copy $unbuf_obj to host.

commit ac0e91f5daab76e44d9400fec6ce768bfde41f01
Author: qiyao <qiyao>
Date:   Thu Jul 18 01:47:00 2013 +0000

    gdb/
    Commit the changelog change for my previous commit.

commit 27464b11f5a8933e52ac4ae8d8fa6f3a87a85797
Author: qiyao <qiyao>
Date:   Thu Jul 18 01:45:15 2013 +0000

    gdb/
    	* coffread.c (coff_symfile_read): Iterate over minimal symbols,
    	if the name is prefixed by "__imp_" or "_imp_", look for minimal
    	symbol without prefix.  If found, set its type to
    	'mst_solib_trampoline'.

commit 7d64f5f99829cb80d83b75a56a43e816e148bf1d
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Thu Jul 18 00:00:04 2013 +0000

    daily update

commit d679e74e9e265fac6e12944db461b1445688d9aa
Author: Doug Evans <dje@google.com>
Date:   Wed Jul 17 20:35:10 2013 +0000

    	* NEWS: Mention "set print raw frame-arguments".
    	* gdbcmd.h (setprintrawlist, showprintrawlist): Declare.
    	* stack.c (print_raw_frame_arguments): New static global.
    	(print_frame_arg): Set opts.raw from print_raw_frame_arguments.
    	(_initialize_stack): New command "set/show print raw frame-arguments".
    	* valprint.c (setprintrawlist, showprintrawlist): New globals.
    	(set_print_raw, show_print_raw): New functions.
    	(_initialize_valprint): New prefix command "set/show print raw".
    	* valprint.h (value_print_options): Improve comments.
    
    	doc/
    	* gdb.texinfo (Print Settings): Document "print raw frame-arguments".
    
    	testsuite/
    	* gdb.python/py-frame-args.c: New file.
    	* gdb.python/py-frame-args.py: New file.
    	* gdb.python/py-frame-args.exp New file.

commit 60d57d2ccf4cb4142a25487ee7ee054633b6df3b
Author: Doug Evans <dje@google.com>
Date:   Wed Jul 17 20:26:28 2013 +0000

    	* cli/cli-cmds.c (init_cmd_lists): Delete unnecessary initialization
    	of all *list variables.

commit 3cbfab9d816a3eeeb4d1e75309cbc05124605bbc
Author: Doug Evans <dje@google.com>
Date:   Wed Jul 17 19:01:47 2013 +0000

    	* gdbcmd.h (togglelist): Delete.
    	* cli/cli-cmds.c (togglelist): Delete.
    	(init_cmd_lists): Update.
    	* cli/cli-cmds.h (togglelist): Delete.

commit 8e0dc52660af53697cee4980057cfaf125ca753a
Author: Tom Tromey <tromey@redhat.com>
Date:   Wed Jul 17 15:22:30 2013 +0000

    	* dwarf2read.c (dwarf2_per_objfile_free): Clear
    	dwarf2_per_objfile.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |   11 +
 bfd/ChangeLog                                      |  108 +
 bfd/bfd-in.h                                       |   10 +-
 bfd/bfd-in2.h                                      |   22 +-
 bfd/coffcode.h                                     |    2 +-
 bfd/configure.com                                  |   63 +-
 bfd/elf32-arm.c                                    |   65 +-
 bfd/elf32-msp430.c                                 |   24 +-
 bfd/elf32-rx.c                                     |    2 +-
 bfd/elf32-s390.c                                   |   75 +-
 bfd/elf64-s390.c                                   |   77 +-
 bfd/elflink.c                                      |    2 +-
 bfd/elfnn-aarch64.c                                |   60 +-
 bfd/elfxx-mips.c                                   |   63 +-
 bfd/hosts/alphavms.h                               |   32 +-
 bfd/libbfd.h                                       |    4 +
 bfd/mach-o.c                                       |    3 +
 bfd/makefile.vms                                   |    2 +-
 bfd/reloc.c                                        |   18 +-
 bfd/version.h                                      |    2 +-
 bfd/vms-alpha.c                                    |  155 +-
 configure                                          |    7 +
 configure.ac                                       |    7 +
 gdb/ChangeLog                                      |  262 ++
 gdb/Makefile.in                                    |   13 +
 gdb/NEWS                                           |    5 +
 gdb/ada-lang.c                                     |    2 +-
 gdb/ada-valprint.c                                 |   10 +-
 gdb/breakpoint.c                                   |   16 +-
 gdb/breakpoint.h                                   |    3 +-
 gdb/c-valprint.c                                   |    4 +-
 gdb/cli/cli-cmds.c                                 |   26 -
 gdb/cli/cli-cmds.h                                 |    4 -
 gdb/coffread.c                                     |   29 +
 gdb/common/create-version.sh                       |   17 +-
 gdb/common/format.c                                |    6 +-
 gdb/cp-valprint.c                                  |    8 +-
 gdb/defs.h                                         |   10 +-
 gdb/doc/ChangeLog                                  |    4 +
 gdb/doc/gdb.texinfo                                |   12 +
 gdb/dwarf2read.c                                   |   38 +-
 gdb/exec.c                                         |   48 +-
 gdb/expprint.c                                     |    6 +-
 gdb/findvar.c                                      |    8 +-
 gdb/frame-unwind.c                                 |    6 +-
 gdb/gdbcmd.h                                       |    8 +-
 gdb/gdbserver/ChangeLog                            |   16 +
 gdb/gdbserver/Makefile.in                          |    8 +-
 gdb/gdbserver/configure                            |   32 +-
 gdb/gdbserver/configure.ac                         |   11 +-
 gdb/infcmd.c                                       |   15 +-
 gdb/jv-valprint.c                                  |    8 +-
 gdb/m2-valprint.c                                  |    4 +-
 gdb/main.c                                         |   76 +-
 gdb/mi/mi-cmd-break.c                              |    3 +
 gdb/mi/mi-cmd-stack.c                              |    2 +-
 gdb/mi/mi-main.c                                   |    4 +-
 gdb/mips-tdep.c                                    |   10 +-
 gdb/mt-tdep.c                                      |    2 +-
 gdb/nto-tdep.c                                     |    4 +-
 gdb/p-valprint.c                                   |   12 +-
 gdb/ppc-linux-nat.c                                |  199 +-
 gdb/ppc64-tdep.c                                   |    3 +-
 gdb/python/py-prettyprint.c                        |    8 +-
 gdb/record-full.c                                  |    7 +-
 gdb/rs6000-tdep.c                                  |    4 +-
 gdb/s390-tdep.c                                    |    3 +-
 gdb/solib-aix.c                                    |    2 +-
 gdb/solib-som.c                                    |    4 +-
 gdb/solib-svr4.c                                   |    8 +-
 gdb/solib-target.c                                 |    5 +-
 gdb/solist.h                                       |    6 +-
 gdb/stack.c                                        |   19 +-
 gdb/symfile.c                                      |   12 +-
 gdb/target.c                                       |    8 +-
 gdb/target.h                                       |   17 +-
 gdb/testsuite/ChangeLog                            |  143 +
 gdb/testsuite/boards/gdbserver-base.exp            |   50 +
 gdb/testsuite/boards/local-remote-host.exp         |    9 -
 gdb/testsuite/boards/native-extended-gdbserver.exp |   35 +-
 gdb/testsuite/boards/native-gdbserver.exp          |   37 +-
 gdb/testsuite/boards/native-stdio-gdbserver.exp    |   37 +-
 gdb/testsuite/gdb.ada/arrayptr.exp                 |    6 +
 gdb/testsuite/gdb.ada/arrayptr/foo.adb             |   11 +
 gdb/testsuite/gdb.ada/info_types.exp               |    4 +-
 gdb/testsuite/gdb.ada/small_reg_param.exp          |    4 +-
 gdb/testsuite/gdb.base/default.exp                 |    4 +-
 gdb/testsuite/gdb.base/disp-step-syscall.exp       |    2 +
 gdb/testsuite/gdb.base/dump.exp                    |   13 +-
 gdb/testsuite/gdb.base/gnu-ifunc-lib.c             |    2 +-
 gdb/testsuite/gdb.base/printcmds.exp               |    6 +
 gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.S       |  522 +++
 .../dw2-reg-undefined.c}                           |   22 +-
 gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.exp     |   59 +
 gdb/testsuite/gdb.dwarf2/fission-reread.S          |    4 +-
 gdb/testsuite/gdb.dwarf2/mac-fileno.S              |    2 +-
 gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.S   |   18 +-
 gdb/testsuite/gdb.dwarf2/pr13961.S                 |   16 +-
 gdb/testsuite/gdb.mi/gdb2549.exp                   |   10 +-
 gdb/testsuite/gdb.mi/mi-basics.exp                 |   17 +-
 gdb/testsuite/gdb.mi/mi-dprintf.exp                |   12 +-
 gdb/testsuite/gdb.python/py-explore.exp            |    2 +-
 .../tls-var-main.c => gdb.python/py-frame-args.c}  |   42 +-
 gdb/testsuite/gdb.python/py-frame-args.exp         |   70 +
 gdb/testsuite/gdb.python/py-frame-args.py          |   75 +
 gdb/testsuite/gdb.threads/threadapply.exp          |    1 +
 gdb/testsuite/gdb.threads/tls-nodebug.c            |    2 +
 gdb/testsuite/gdb.threads/tls-shared.c             |    5 +
 gdb/testsuite/gdb.threads/tls-var-main.c           |    4 +
 gdb/testsuite/gdb.threads/wp-replication.exp       |    8 +
 gdb/testsuite/gdb.trace/mi-traceframe-changed.exp  |    4 +-
 .../tls-var-main.c => gdb.trace/read-memory.c}     |   26 +-
 gdb/testsuite/gdb.trace/read-memory.exp            |  160 +
 gdb/testsuite/lib/future.exp                       |    8 +-
 gdb/testsuite/lib/gdb.exp                          |   27 +-
 gdb/thread.c                                       |   74 +-
 gdb/top.c                                          |   14 +-
 gdb/valops.c                                       |  165 +-
 gdb/valprint.c                                     |   72 +-
 gdb/valprint.h                                     |   22 +-
 gdb/value.c                                        |  264 ++-
 gdb/value.h                                        |   10 +-
 include/cgen/ChangeLog                             |    9 +
 include/cgen/basic-ops.h                           |   12 +-
 include/coff/ChangeLog                             |    7 +-
 include/coff/rs6000.h                              |   64 +-
 include/elf/ChangeLog                              |   20 +
 include/elf/ia64.h                                 |    4 +
 include/elf/mips.h                                 |   32 +-
 include/elf/s390.h                                 |    4 +
 include/opcode/ChangeLog                           |   64 +
 include/opcode/mips.h                              |  452 ++-
 libdecnumber/ChangeLog                             |    5 +
 libdecnumber/configure                             |   46 +-
 libdecnumber/configure.ac                          |    1 +
 libiberty/ChangeLog                                |    4 +
 libiberty/makefile.vms                             |    3 +-
 libiberty/regex.c                                  |    2 +-
 opcodes/ChangeLog                                  |  137 +
 opcodes/Makefile.am                                |   39 -
 opcodes/Makefile.in                                |   24 -
 opcodes/i386-opc.tbl                               |    2 +-
 opcodes/i386-tbl.h                                 |    4 +-
 opcodes/micromips-opc.c                            | 2209 ++++++-----
 opcodes/mips-dis.c                                 | 2101 +++--------
 opcodes/mips-formats.h                             |  117 +
 opcodes/mips-opc.c                                 | 4182 ++++++++++----------
 opcodes/mips16-opc.c                               |  454 ++-
 opcodes/ppc-opc.c                                  |    6 +
 opcodes/s390-opc.c                                 |   19 +-
 opcodes/s390-opc.txt                               |    2 +-
 src-release                                        |    6 +
 152 files changed, 7790 insertions(+), 6212 deletions(-)
 create mode 100644 gdb/testsuite/boards/gdbserver-base.exp
 create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.S
 copy gdb/testsuite/{gdb.threads/tls-var-main.c => gdb.dwarf2/dw2-reg-undefined.c} (70%)
 create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.exp
 copy gdb/testsuite/{gdb.threads/tls-var-main.c => gdb.python/py-frame-args.c} (63%)
 create mode 100644 gdb/testsuite/gdb.python/py-frame-args.exp
 create mode 100644 gdb/testsuite/gdb.python/py-frame-args.py
 copy gdb/testsuite/{gdb.threads/tls-var-main.c => gdb.trace/read-memory.c} (68%)
 create mode 100644 gdb/testsuite/gdb.trace/read-memory.exp
 create mode 100644 opcodes/mips-formats.h

First 500 lines of diff:
diff --git a/ChangeLog b/ChangeLog
index 007f07b..fb46159 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2013-07-22  Joel Brobecker  <brobecker@adacore.com>
+
+	* src-release (VER): Use $(TOOL)/common/create-version.sh
+	if it exists.
+
+2013-07-10  Jack Howarth  <howarth@bromo.med.uc.edu>
+
+	PR target/57792
+	* configure.ac: Use --with-sysroot=\"`xcrun --show-sdk-path`\" on darwin13 and later.
+	* configure: Regenerated.
+
 2013-06-22  Richard Sandiford  <rdsandiford@googlemail.com>
 
 	* configure.ac (mips*-*-bsd*, mips*-*-ultrix*, mips*-*-osf*)
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 45604eb..319e610 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,111 @@
+2013-07-20  Alan Modra  <amodra@gmail.com>
+
+	PR ld/15762
+	PR ld/12761
+	* elflink.c (elf_link_add_object_symbols): Don't clobber
+	.gnu.warning.symbol sections when shared.
+
+2013-07-19  Nick Clifton  <nickc@redhat.com>
+
+	* elf32-rx.c (rx_elf_relocate_section): Fix typo: move
+	saw_subtract from R_RX_OPdiv to R_RX_OPneg.
+
+2013-07-18  Travis Snoozy  <quandary@remstate.com>
+
+	PR ld/15721
+	* elf32-msp430.c (R_MSP430_10_PCREL): Use 10-bit source and
+	destination masks.
+	* R_MSP430_2X_PCREL: Likewise.
+	* R_MSP430X_10_PCREL: Likewise.
+	* R_MSP430X_2X_PCREL: Likewise.
+
+2013-07-18  Terry Guo  <terry.guo@arm.com>
+
+        * elf32-arm.c (arm_type_of_stub): Don't use ST_BRANCH_TO_ARM for
+	thumb only targets.
+        (elf32_arm_final_link_relocate): Likewise.
+
+2013-07-18  Bill Neubauer  <wcn@google.com>
+
+	* mach-o.c (mach_o_section_name_xlat dw): Add entry for
+	.debug_gdb_scripts
+
+2013-07-18  Roland McGrath  <mcgrathr@google.com>
+
+	* elf32-arm.c (elf32_arm_stub_long_branch_arm_nacl): New variable.
+	(elf32_arm_stub_long_branch_arm_nacl_pic): New variable.
+	(arm_build_one_stub): Increase MAXRELOCS to 3.
+	(arm_type_of_stub): Use them if GLOBALS->nacl_p.
+	(struct elf32_arm_link_hash_table): Give add_stub_section member's
+	pointee type a third argument.
+	(elf32_arm_create_or_find_stub_sec): Update caller.
+	(elf32_arm_size_stubs): Update argument type.
+	* bfd-in.h (elf32_arm_size_stubs): Update decl.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+
+2013-07-15  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* elfxx-mips.c (mips_elf_merge_obj_attributes): Replace hardcoded
+	magic numbers with enum values.
+
+2013-07-12  Roland McGrath  <mcgrathr@google.com>
+
+	* reloc.c: Add BFD_RELOC_390_PC12DBL, BFD_RELOC_390_PLT12DBL,
+	BFD_RELOC_390_PC24DBL, BFD_RELOC_390_PLT24DBL (should have
+	been added here with 2013-07-05 elf32-s390.c change).
+	* bfd-in2.h: Regenerate (no-op).
+	* libbfd.h: Regenerate (no-op).
+
+2013-07-12  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Handle
+	EF_MIPS_NAN2008.
+	(_bfd_mips_elf_print_private_bfd_data): Likewise.
+
+2013-07-09  Tristan Gingold  <gingold@adacore.com>
+
+	* vms-alpha.c (struct vms_private_data_struct): Remove
+	flag_hash_long_names and flag_show_after_trunc.
+	(hash_string): Remove.
+	(_bfd_vms_length_hash_symbol): Remove.
+	(alpha_vms_write_exec): Remove call to _bfd_vms_length_hash_symbol.
+	(_bfd_vms_write_egsd): Likewise.  Rewrite condition.
+	(_bfd_vms_write_ehdr): Remove code that set removed flags.
+	(_bfd_vms_write_etir): Remove call to _bfd_vms_length_hash_symbol.
+	(vms_bfd_is_local_label_name): Remove trace call.
+
+2013-07-09  Tristan Gingold  <gingold@adacore.com>
+
+	* hosts/alphavms.h: Include config.h and ansidecl.h, remove useless
+	macros.
+	* configure.com: Adjust to match changes in configure.
+	* makefile.vms (OBJS): Update list.
+
+2013-07-05  Tristan Gingold  <gingold@adacore.com>
+
+	* coffcode.h (coff_write_object_contents): Use ".ovrflo" name for
+	overflow sections.
+
+2013-07-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+	* elf32-s390.c: Add new relocation definitions R_390_PC12DBL,
+	R_390_PLT12DBL, R_390_PC24DBL, and R_390_PLT24DBL.
+	(elf_s390_reloc_type_lookup, elf_s390_check_relocs)
+	(elf_s390_gc_sweep_hook, elf_s390_relocate_section): Support new
+	relocations.
+	* elf64-s390.c: See elf32-s390.c
+	* bfd-in2.h: Add new relocs to enum bfd_reloc_code_real.
+	* libbfd.h: Add new reloc strings.
+
+2013-07-03  Marcus Shawcroft  <marcus.shawcroft@arm.com>
+
+	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Reorder case
+	values.
+	(elfNN_aarch64_relocate_section): Likewise.
+	(elfNN_aarch64_gc_sweep_hook): Likewise.
+	(elfNN_aarch64_check_relocs): Likewise.
+
 2013-07-03  Alan Modra  <amodra@gmail.com>
 
 	* elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't hide .TOC.
diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h
index 579b007..36db67b 100644
--- a/bfd/bfd-in.h
+++ b/bfd/bfd-in.h
@@ -1,8 +1,6 @@
 /* Main header file for the bfd library -- portable access to object files.
 
-   Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
-   2012 Free Software Foundation, Inc.
+   Copyright 1990-2013 2013 Free Software Foundation, Inc.
 
    Contributed by Cygnus Support.
 
@@ -911,7 +909,8 @@ extern void elf32_arm_next_input_section
   (struct bfd_link_info *, struct bfd_section *);
 extern bfd_boolean elf32_arm_size_stubs
   (bfd *, bfd *, struct bfd_link_info *, bfd_signed_vma,
-   struct bfd_section * (*) (const char *, struct bfd_section *), void (*) (void));
+   struct bfd_section * (*) (const char *, struct bfd_section *, unsigned int),
+   void (*) (void));
 extern bfd_boolean elf32_arm_build_stubs
   (struct bfd_link_info *);
 
@@ -1009,6 +1008,5 @@ struct coff_comdat_info
   long symbol;
 };
 
-extern struct coff_comdat_info *bfd_coff_get_comdat_section
+extern struct coff_comdat_info * bfd_coff_get_comdat_section
   (bfd *, struct bfd_section *);
-
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 9cbd820..0cf9a29 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -7,9 +7,7 @@
 
 /* Main header file for the bfd library -- portable access to object files.
 
-   Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
-   2012 Free Software Foundation, Inc.
+   Copyright 1990-2013 2013 Free Software Foundation, Inc.
 
    Contributed by Cygnus Support.
 
@@ -918,7 +916,8 @@ extern void elf32_arm_next_input_section
   (struct bfd_link_info *, struct bfd_section *);
 extern bfd_boolean elf32_arm_size_stubs
   (bfd *, bfd *, struct bfd_link_info *, bfd_signed_vma,
-   struct bfd_section * (*) (const char *, struct bfd_section *), void (*) (void));
+   struct bfd_section * (*) (const char *, struct bfd_section *, unsigned int),
+   void (*) (void));
 extern bfd_boolean elf32_arm_build_stubs
   (struct bfd_link_info *);
 
@@ -1016,9 +1015,8 @@ struct coff_comdat_info
   long symbol;
 };
 
-extern struct coff_comdat_info *bfd_coff_get_comdat_section
+extern struct coff_comdat_info * bfd_coff_get_comdat_section
   (bfd *, struct bfd_section *);
-
 /* Extracted from init.c.  */
 void bfd_init (void);
 
@@ -4332,12 +4330,24 @@ in .byte hlo8(symbol)  */
 /* 16 bit GOT offset.  */
   BFD_RELOC_390_GOT16,
 
+/* PC relative 12 bit shifted by 1.  */
+  BFD_RELOC_390_PC12DBL,
+
+/* 12 bit PC rel. PLT shifted by 1.  */
+  BFD_RELOC_390_PLT12DBL,
+
 /* PC relative 16 bit shifted by 1.  */
   BFD_RELOC_390_PC16DBL,
 
 /* 16 bit PC rel. PLT shifted by 1.  */
   BFD_RELOC_390_PLT16DBL,
 
+/* PC relative 24 bit shifted by 1.  */
+  BFD_RELOC_390_PC24DBL,
+
+/* 24 bit PC rel. PLT shifted by 1.  */
+  BFD_RELOC_390_PLT24DBL,
+
 /* PC relative 32 bit shifted by 1.  */
   BFD_RELOC_390_PC32DBL,
 
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 2a1a172..a198e1c 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -3953,7 +3953,7 @@ coff_write_object_contents (bfd * abfd)
 	  bfd_size_type amt;
 
 	  internal_f.f_nscns++;
-	  strncpy (&(scnhdr.s_name[0]), current->name, 8);
+	  memcpy (scnhdr.s_name, ".ovrflo", 8);
 	  scnhdr.s_paddr = current->reloc_count;
 	  scnhdr.s_vaddr = current->lineno_count;
 	  scnhdr.s_size = 0;
diff --git a/bfd/configure.com b/bfd/configure.com
index 60a9bc3..e1c3242 100644
--- a/bfd/configure.com
+++ b/bfd/configure.com
@@ -44,26 +44,10 @@ $DECK
 !
 !
    set (success,off);
-   vfile := CREATE_BUFFER("vfile", "CONFIGURE.IN");
-   rang := CREATE_RANGE(BEGINNING_OF(vfile), END_OF(vfile));
-   match_pos := SEARCH_QUIETLY('AM_INIT_AUTOMAKE(bfd, ', FORWARD, EXACT, rang);
-   IF match_pos <> 0 THEN;
-     POSITION(BEGINNING_OF(match_pos));
-     ERASE(match_pos);
-     vers := CURRENT_LINE-")";
-   ELSE;
-     vers := "unknown";
-   ENDIF;
 
    file := CREATE_BUFFER("file", GET_INFO(COMMAND_LINE, "file_name"));
    rang := CREATE_RANGE(BEGINNING_OF(file), END_OF(file));
 
-   match_pos := SEARCH_QUIETLY('@VERSION@', FORWARD, EXACT, rang);
-   IF match_pos <> 0 THEN;
-      POSITION(BEGINNING_OF(match_pos));
-      ERASE(match_pos);
-      COPY_TEXT(vers);
-   ENDIF;
    match_pos := SEARCH_QUIETLY('@wordsize@', FORWARD, EXACT, rang);
    IF match_pos <> 0 THEN;
       POSITION(BEGINNING_OF(match_pos));
@@ -98,27 +82,25 @@ $DECK
    IF match_pos <> 0 THEN;
       POSITION(BEGINNING_OF(match_pos));
       ERASE(match_pos);
-      COPY_TEXT('__DECC');
-      SPLIT_LINE;
-      COPY_TEXT('#include <ints.h>');
+      COPY_TEXT('1');
    ENDIF;
    match_pos := SEARCH_QUIETLY('@BFD_HOST_64_BIT@', FORWARD, EXACT, rang);
    IF match_pos <> 0 THEN;
       POSITION(BEGINNING_OF(match_pos));
       ERASE(match_pos);
-      COPY_TEXT('int64');
+      COPY_TEXT('__int64');
    ENDIF;
    match_pos := SEARCH_QUIETLY('@BFD_HOST_U_64_BIT@', FORWARD, EXACT, rang);
    IF match_pos <> 0 THEN;
       POSITION(BEGINNING_OF(match_pos));
       ERASE(match_pos);
-      COPY_TEXT('uint64');
+      COPY_TEXT('unsigned __int64');
    ENDIF;
    match_pos := SEARCH_QUIETLY('@BFD_HOSTPTR_T@', FORWARD, EXACT, rang);
    IF match_pos <> 0 THEN;
       POSITION(BEGINNING_OF(match_pos));
       ERASE(match_pos);
-      COPY_TEXT('uint64');
+      COPY_TEXT('unsigned __int64');
    ENDIF;
    match_pos := SEARCH_QUIETLY('@bfd_file_ptr@', FORWARD, EXACT, rang);
    IF match_pos <> 0 THEN;
@@ -158,26 +140,10 @@ $DECK
 !
 !
    set (success,off);
-   vfile := CREATE_BUFFER("vfile", "CONFIGURE.IN");
-   rang := CREATE_RANGE(BEGINNING_OF(vfile), END_OF(vfile));
-   match_pos := SEARCH_QUIETLY('AM_INIT_AUTOMAKE(bfd, ', FORWARD, EXACT, rang);
-   IF match_pos <> 0 THEN;
-     POSITION(BEGINNING_OF(match_pos));
-     ERASE(match_pos);
-     vers := CURRENT_LINE-")";
-   ELSE;
-     vers := "unknown";
-   ENDIF;
 
    file := CREATE_BUFFER("file", GET_INFO(COMMAND_LINE, "file_name"));
    rang := CREATE_RANGE(BEGINNING_OF(file), END_OF(file));
 
-   match_pos := SEARCH_QUIETLY('@VERSION@', FORWARD, EXACT, rang);
-   IF match_pos <> 0 THEN;
-      POSITION(BEGINNING_OF(match_pos));
-      ERASE(match_pos);
-      COPY_TEXT(vers);
-   ENDIF;
    match_pos := SEARCH_QUIETLY('@wordsize@', FORWARD, EXACT, rang);
    IF match_pos <> 0 THEN;
       POSITION(BEGINNING_OF(match_pos));
@@ -229,11 +195,11 @@ $DECK
    set (success,off);
    vfile := CREATE_BUFFER("vfile", "configure.in");
    rang := CREATE_RANGE(BEGINNING_OF(vfile), END_OF(vfile));
-   match_pos := SEARCH_QUIETLY('AM_INIT_AUTOMAKE(bfd, ', FORWARD, EXACT, rang);
+   match_pos := SEARCH_QUIETLY('AC_INIT([bfd], [', FORWARD, EXACT, rang);
    IF match_pos <> 0 THEN;
      POSITION(BEGINNING_OF(match_pos));
      ERASE(match_pos);
-     vers := CURRENT_LINE-")";
+     vers := CURRENT_LINE-"])";
    ELSE;
      vers := "unknown";
    ENDIF;
@@ -340,6 +306,20 @@ $ create []config.h
 #define HAVE_UNISTD_H 1
 /* Disable NLS  */
 #undef ENABLE_NLS
+/* Name of package */
+#define PACKAGE "bfd"
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT ""
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "bfd"
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "bfd"
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "bfd"
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "(package version)"
 $!
 $ write sys$output "Copy sysdep.h"
 $ copy [.hosts]alphavms.h sysdep.h
@@ -381,9 +361,6 @@ $DECK
    WRITE_FILE(file, GET_INFO(COMMAND_LINE, "output_file"));
    QUIT
 $  EOD
-$ write sys$output "Generate elf64-ia64.c from elfxx-ia64.c"
-$ edit/tpu/nojournal/nosection/nodisplay/command=substxx.tpu -
-        []elfXX-ia64.c /output=[]elf64-ia64.c
 $ write sys$output "Generate elf64-target.h from elfxx-target.h"
 $ edit/tpu/nojournal/nosection/nodisplay/command=substxx.tpu -
         []elfXX-target.h /output=[]elf64-target.h
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index eef1b13..8f88839 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -2415,6 +2415,33 @@ static const insn_sequence elf32_arm_stub_long_branch_v4t_thumb_tls_pic[] =
   DATA_WORD (0, R_ARM_REL32, -4),    /* dcd  R_ARM_REL32(X) */
 };
 
+/* NaCl ARM -> ARM long branch stub.  */
+static const insn_sequence elf32_arm_stub_long_branch_arm_nacl[] =
+{
+  ARM_INSN (0xe59fc00c),		/* ldr	ip, [pc, #12] */
+  ARM_INSN (0xe3ccc13f),		/* bic	ip, ip, #0xc000000f */
+  ARM_INSN (0xe12fff1c),                /* bx	ip */
+  ARM_INSN (0xe320f000),                /* nop */
+  ARM_INSN (0xe125be70),                /* bkpt	0x5be0 */
+  DATA_WORD (0, R_ARM_ABS32, 0),        /* dcd	R_ARM_ABS32(X) */
+  DATA_WORD (0, R_ARM_NONE, 0),         /* .word 0 */
+  DATA_WORD (0, R_ARM_NONE, 0),         /* .word 0 */
+};
+
+/* NaCl ARM -> ARM long branch stub, PIC.  */
+static const insn_sequence elf32_arm_stub_long_branch_arm_nacl_pic[] =
+{
+  ARM_INSN (0xe59fc00c),		/* ldr	ip, [pc, #12] */
+  ARM_INSN (0xe08cc00f),                /* add	ip, ip, pc */
+  ARM_INSN (0xe3ccc13f),		/* bic	ip, ip, #0xc000000f */
+  ARM_INSN (0xe12fff1c),                /* bx	ip */
+  ARM_INSN (0xe125be70),                /* bkpt	0x5be0 */
+  DATA_WORD (0, R_ARM_REL32, 8),        /* dcd	R_ARM_REL32(X+8) */
+  DATA_WORD (0, R_ARM_NONE, 0),         /* .word 0 */
+  DATA_WORD (0, R_ARM_NONE, 0),         /* .word 0 */
+};
+
+
 /* Cortex-A8 erratum-workaround stubs.  */
 
 /* Stub used for conditional branches (which may be beyond +/-1MB away, so we
@@ -2491,6 +2518,8 @@ static const insn_sequence elf32_arm_stub_a8_veneer_blx[] =
   DEF_STUB(long_branch_thumb_only_pic) \
   DEF_STUB(long_branch_any_tls_pic) \
   DEF_STUB(long_branch_v4t_thumb_tls_pic) \
+  DEF_STUB(long_branch_arm_nacl) \
+  DEF_STUB(long_branch_arm_nacl_pic) \
   DEF_STUB(a8_veneer_b_cond) \
   DEF_STUB(a8_veneer_b) \
   DEF_STUB(a8_veneer_bl) \
@@ -2983,7 +3012,7 @@ struct elf32_arm_link_hash_table
   bfd *stub_bfd;
 
   /* Linker call-backs.  */
-  asection * (*add_stub_section) (const char *, asection *);
+  asection * (*add_stub_section) (const char *, asection *, unsigned int);
   void (*layout_sections_again) (void);
 
   /* Array to keep track of which stub sections have been created, and
@@ -3580,6 +3609,12 @@ arm_type_of_stub (struct bfd_link_info *info,
 
   r_type = ELF32_R_TYPE (rel->r_info);
 
+  /* ST_BRANCH_TO_ARM is nonsense to thumb-only targets when we
+     are considering a function call relocation.  */
+  if (thumb_only && (r_type == R_ARM_THM_CALL || r_type == R_ARM_THM_JUMP24)
+      && branch_type == ST_BRANCH_TO_ARM)
+    branch_type = ST_BRANCH_TO_THUMB;
+
   /* For TLS call relocs, it is the caller's responsibility to provide
      the address of the appropriate trampoline.  */
   if (r_type != R_ARM_TLS_CALL
@@ -3772,9 +3807,13 @@ arm_type_of_stub (struct bfd_link_info *info,
 		? (r_type == R_ARM_TLS_CALL
 		   /* TLS PIC Stub */
 		   ? arm_stub_long_branch_any_tls_pic
-		   : arm_stub_long_branch_any_arm_pic)
+		   : (globals->nacl_p
+		      ? arm_stub_long_branch_arm_nacl_pic
+		      : arm_stub_long_branch_any_arm_pic))
 		/* non-PIC stubs.  */
-		: arm_stub_long_branch_any_any;
+		: (globals->nacl_p
+		   ? arm_stub_long_branch_arm_nacl
+		   : arm_stub_long_branch_any_any);
 	    }
 	}
     }
@@ -3910,7 +3949,8 @@ elf32_arm_create_or_find_stub_sec (asection **link_sec_p, asection *section,
 
 	  memcpy (s_name, link_sec->name, namelen);
 	  memcpy (s_name + namelen, STUB_SUFFIX, sizeof (STUB_SUFFIX));
-	  stub_sec = (*htab->add_stub_section) (s_name, link_sec);
+	  stub_sec = (*htab->add_stub_section) (s_name, link_sec,
+						htab->nacl_p ? 4 : 3);
 	  if (stub_sec == NULL)
 	    return NULL;
 	  htab->stub_group[link_sec->id].stub_sec = stub_sec;
@@ -4043,6 +4083,10 @@ arm_stub_required_alignment (enum elf32_arm_stub_type stub_type)
     case arm_stub_a8_veneer_blx:
       return 4;
 
+    case arm_stub_long_branch_arm_nacl:
+    case arm_stub_long_branch_arm_nacl_pic:
+      return 16;
+
     default:
       abort ();  /* Should be unreachable.  */
     }
@@ -4052,7 +4096,7 @@ static bfd_boolean
 arm_build_one_stub (struct bfd_hash_entry *gen_entry,
 		    void * in_arg)
 {
-#define MAXRELOCS 2
+#define MAXRELOCS 3
   struct elf32_arm_stub_hash_entry *stub_entry;
   struct elf32_arm_link_hash_table *globals;
   struct bfd_link_info *info;
@@ -4864,7 +4908,8 @@ elf32_arm_size_stubs (bfd *output_bfd,
 		      bfd *stub_bfd,
 		      struct bfd_link_info *info,
 		      bfd_signed_vma group_size,
-		      asection * (*add_stub_section) (const char *, asection *),
+		      asection * (*add_stub_section) (const char *, asection *,
+						      unsigned int),
 		      void (*layout_sections_again) (void))
 {


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-07-22 19:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-16 20:29 [SCM] tromey/always-async: rework target-async docs tromey
2013-07-22 19:21 tromey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).