public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
From: jkratoch@sourceware.org
To: archer-commits@sourceware.org
Subject: [SCM]  jankratochvil/gdbserverbuildid: sticky
Date: Sat, 15 Aug 2015 10:01:00 -0000	[thread overview]
Message-ID: <20150815100157.57901.qmail@sourceware.org> (raw)

The branch, jankratochvil/gdbserverbuildid has been updated
  discards  d2ef8af905e3c800284385c8690da040302328ae (commit)
  discards  8f5e9db1cf58809678aab42fa58c37f03029e630 (commit)
  discards  e53bb70e546bd8c522b699f7dd1c39795534eade (commit)
  discards  e2a7020361598cf9b3e6fa54d7d0bcea78e9fae6 (commit)
  discards  6a4c1b31f5bf5e796336de40689bbd4bfc047a5e (commit)
  discards  7364e72a472c8f95977aec0b8804cf42dcd86eb2 (commit)
  discards  ad2f3404e4a1666cf691566f41c33e1adb45817d (commit)
  discards  d9eb82ccf176f569cf9b1bea4d057372abd8be7b (commit)
  discards  1da182968922bded291ef015b2e9ae098021de43 (commit)
  discards  3011db9cf05c1553bb7e227687190c0f26b32c58 (commit)
  discards  3ea6568826aaa1dc73f2ed9cea77dbd763e0633e (commit)
  discards  cd1049766a086d465a13f60db4b1b1ba2ff0e2c2 (commit)
  discards  3e4d2a0385640ed6c9a5edd0a4a07ec1483ed6de (commit)
  discards  6545df5ecd569693f1c201206a2501d249bdc6a8 (commit)
  discards  a6d3a59c67567e73474c5944ee058480bb759a89 (commit)
  discards  fc9bc2b2606abb979bf3aae46464a86472158e71 (commit)
  discards  e5b168bf9555d5f4d4f870c9db4d71d41ab2f35d (commit)
  discards  83b9bd71abd6eebb7f096e05e6d28cd2209765a1 (commit)
  discards  ae70d8fa734033d1e197a8ce21bc82c393e9bfdd (commit)
  discards  8f6abda46262ef44b8f448be3643ea502288f3ee (commit)
  discards  3eaf8395d993ffd039863c5d61f77c59b27cdd4b (commit)
  discards  629f7538f1c705deefe237b87153597e8bf6b4b1 (commit)
  discards  fb1352c863ab57bef975d9826efb4de0a7a49e63 (commit)
  discards  e655914ce35a288d78848a6126b911e874d0f23e (commit)
  discards  02f3bfabeb4b3d8aefc23c5e0a7e9229c2da0c1a (commit)
  discards  90721dfec76d65d29ac5fbf49c5718bd850abe41 (commit)
  discards  ce4a423657022eb9dca3552b287e8db3a8bae5de (commit)
  discards  208dacff86eca30c3f5990905f66f18e19ffbb57 (commit)
  discards  b5d50914f4202b1f15df5e6c1b4868726dc5f43c (commit)
  discards  bce282542cdcc386678a05f66a3aae1cac40f39d (commit)
  discards  88e1a37952d639ba05a92032e3a0d94ab466bed4 (commit)
  discards  f8688948e2ef7e8ccc1899ab34a824d9904ef469 (commit)
  discards  257ed7ddfe7b6eeccc1782ed3b6c5a8e1a10e951 (commit)
  discards  7a460e688c25393f8bde0d9ee51be0475e40b169 (commit)
       via  7a947a6bd868ee8559dca4a2b16b894ea654b8fd (commit)
       via  ad89a2f824135c905c231a78d9627e6589bb4a95 (commit)
       via  4874f3b58bb2c74b62ec7227fbe41386fb5d8007 (commit)
       via  5353e034a77740ff0ef0ee48eb9d0f7af01e8307 (commit)
       via  82e9f636c521d9ecdf804a9072170177e8e793b3 (commit)
       via  cd79c4492a000a36649464257cea46def250391c (commit)
       via  08ad08f1e4305221a4513ec87e1d5d085c3d4fab (commit)
       via  177660d6a8d4f4ba1660fc61b49da42cdf96eb9e (commit)
       via  8db972fd3127ea419267b3b235cd7b00b9fe875d (commit)
       via  a3b70f44851d42fc06a9f94b01ab687440ea19c2 (commit)
       via  c4c90a0f7bc8317cb962c499ede1208790a9253a (commit)
       via  c4ef17e38205ff1559a58e3bdd5f6ef92ecda89b (commit)
       via  0d00d3a8d93e6ac23d29c7c8e53f1dfc1666a822 (commit)
       via  4600db9a5cc528a655a1ebe92d477209d7146800 (commit)
       via  c1d8b72d24a6123eb8648bdbc1b2e3a56e282bc6 (commit)
       via  87d3c70eb6acd1584f17ff27dbfa7853fe0ea9ed (commit)
       via  2fce2213eba7e5446979a0ce2d032b1acb621aaf (commit)
       via  12f3de0ea0fb4c5d60f5fad73c6f054bd1e0fea1 (commit)
       via  8db0b61178445252d6c43384784728b71b7f3f05 (commit)
       via  e600bf60a682090eb325052245a7c79aba73ff77 (commit)
       via  99c41f79be7c1437c8499d632fd13e8ae7d36c32 (commit)
       via  06214010ff8650436a4021a8536af52a19e4c748 (commit)
       via  418b022857bb6be73630d795ff6ccb818145a566 (commit)
       via  79df217f6235b3fc200668fd39dfe38df1dafc44 (commit)
       via  47c49eb97dcc9ff751e977d5a57f48e27333c59d (commit)
       via  4ab6b65563fb705f0dc5a45396e429995f6dd25c (commit)
       via  e67b73dbb7068902c37ef2e08caf3e0f70421832 (commit)
       via  73ed2df5ca2a88300086c72adf5cf88961c3e0dd (commit)
       via  e9100478ca7b48f167372bc4c0578df868cc5302 (commit)
       via  d68335080a1989970d4a5dfcd16d32954f7b520d (commit)
       via  47498547bc0aa3debec59ad458a18a5612bc9604 (commit)
       via  89fa75c615cbd3ebb1e3c804ba7f51d2682d5ca6 (commit)
       via  6d7d4da8f7097b4dd84029ed20ca9272622a64f2 (commit)
       via  cfeca82d7f630591c93f1a47b84742294aa84a57 (commit)
       via  604b263620af66e3bf881f146e329b4de06104a5 (commit)
       via  6ff0ba5f7b8a2b10642bbb233a32043595c55670 (commit)
       via  b56ccc202ab674998baf52a710d736702734f9ab (commit)
       via  a057aa3c457ba38ca25ff1ed13a30c629bb0f259 (commit)
       via  ebdad8fc7fd12b52a2dd14cdca735728b2f7ebc7 (commit)
       via  9ca98f927800a8446555e3f64cc3437c08ce266b (commit)
       via  6613eb10d10ee79ef09bf4dfe696586f479c8d02 (commit)
       via  c0fe2ae7064c4f927034aca87913bc28920721d9 (commit)
       via  a738da3abe2bc02d70521086cf1d0e23565b8fbe (commit)
       via  f8edc4ff051b4e29997681cb3bc9078d98f4d457 (commit)
       via  9b57267f4ffa4f8a168f89630a4b68fb51a419de (commit)
       via  92019596ba7df7156ac634abf3ae82738dc5ba55 (commit)
       via  444c1ed8915961384af694249701fa7896e11da8 (commit)
       via  bc7c9fab612d4d33f7fe5d17eef4f5bd5cdc4144 (commit)
       via  52bbc560524ec3691203eccd05207d13913a1e35 (commit)
       via  3207396b9532f179bad24a9fb9a83253f3f5144d (commit)
       via  67994074671a31e3d2fb78f6036f38095211ac49 (commit)
      from  d2ef8af905e3c800284385c8690da040302328ae (commit)

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

- Log -----------------------------------------------------------------
commit 7a947a6bd868ee8559dca4a2b16b894ea654b8fd
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:20 2015 +0200

    sticky
    
    Message-Id: <1433754079-10395-1-git-send-email-gbenson@redhat.com>
    
    Philippe Waroquiers wrote:
    > On Fri, 2015-06-05 at 12:22 +0100, Gary Benson wrote:
    > > Built and regtested on RHEL6.6 x86_64.
    > I tested with the last SVN version of the Valgrind gdbserver (that
    > supports qXfer:exec-file:read+).
    >
    > The patch introduces a regression:
    > with the patch, GDB does not anymore automatically load the
    > exec-file.
    >
    > I bypassed this problem by ignoring fake_pid_p in remote.c:
    > --- a/gdb/remote.c
    > +++ b/gdb/remote.c
    > @@ -1624,9 +1624,13 @@ remote_add_inferior (int fake_pid_p, int pid, int
    > attached,
    >    inf->attach_flag = attached;
    >    inf->fake_pid_p = fake_pid_p;
    >
    > -  /* If no main executable is currently open then attempt to
    > -     open the file that was executed to create this inferior.  */
    > -  if (try_open_exec && get_exec_file (0) == NULL)
    > +  /* Attempt to open the file that was executed to create this
    > +     inferior.  If the user has explicitly specified executable
    > +     and/or symbol files then warn the user if their choices do
    > +     not match.  Otherwise, set exec_file and symfile_objfile to
    > +     the new file.  */
    > +  printf("fake_pid_p %d\n", fake_pid_p);
    > +  if (try_open_exec)// && !fake_pid_p)
    >      exec_file_locate_attach (pid, 1);
    >
    > Effectively, the printf shows that with Valgrind gdbsrv,
    > fake_pid_p value is 1.
    >
    > When ignoring fake_pid_p, GDB can properly attach
    > to different Valgrind gdbsrv, and changes of executable
    > as expected.
    
    Ah, it seems I mailed a bad patch, my apologies!  I was working on
    two fixes that touched the same line, and it looks like I rebased
    them in the wrong order.
    
    This updated patch has been created against the latest gdb/master
    (80fb91378c91a8239817a5ab2b1c3e346109db25).  Could you please try
    your tests again?
    
    Thanks,
    Gary
    
    
    ---
    On attach, GDB will only attempt to determine the main executable's
    filename if one is not already set.  This causes problems if you
    attach to one process and then attach to another: GDB will not attempt
    to discover the main executable on the second attach.  If the two
    processes have different main executable files then the symbols will
    now be wrong.  This is PR gdb/17626.
    
    In GDB some filenames are supplied by the user (e.g. using the "file"
    or "symbol-file" commands) and some are determined by GDB (e.g. while
    processing an "attach" command).  This commit updates GDB to track
    which filenames were supplied by the user.  When GDB might attempt to
    determine an executable filename and one is already set, filenames
    determined by GDB may be overridden but user-supplied filenames will
    not.
    
    gdb/ChangeLog:
    
    	PR gdb/17626
    	* progspace.h (struct program_space)
    	<pspace_exec_file_is_user_supplied>: New field.
    	<symfile_object_file_is_user_supplied>: Likewise.
    	(symfile_objfile_is_user_supplied): New macro.
    	* exec.h (exec_file_is_user_supplied): Likewise.
    	* exec.c (exec_close): Clear exec_file_is_user_supplied.
    	(exec_file_locate_attach): Remove get_exec_file check.
    	Do not replace user-supplied executable or symbol files.
    	Warn if user-supplied executable or symbol files do not
    	match discovered file.
    	(exec_file_command): Set exec_file_is_user_supplied.
    	* symfile.c (symbol_file_clear): Clear
    	symfile_objfile_is_user_supplied.
    	(symbol_file_command): Set symfile_objfile_is_user_supplied.
    	* inferior.c (add_inferior_command): Set
    	exec_file_is_user_supplied and symfile_objfile_is_user_supplied.
    	* main.c (captured_main): Likewise.
    	* infcmd.c (attach_command_post_wait): Always call
    	exec_file_locate_attach.  Only call reopen_exec_file and
    	reread_symbols if exec_file_is_user_supplied.
    	* remote.c (remote_add_inferior): Remove get_exec_file check
    	around exec_file_locate_attach.

commit ad89a2f824135c905c231a78d9627e6589bb4a95
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:19 2015 +0200

    mainbuildid

commit 4874f3b58bb2c74b62ec7227fbe41386fb5d8007
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:19 2015 +0200

    hexallocate

commit 5353e034a77740ff0ef0ee48eb9d0f7af01e8307
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:19 2015 +0200

    locatetest

commit 82e9f636c521d9ecdf804a9072170177e8e793b3
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:19 2015 +0200

    Tests for validate symbol file using build-id
    
    New testcase.
    
    gdb/testsuite/ChangeLog
    2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
    
    	Tests for validate symbol file using build-id.
    	* gdb.base/solib-mismatch-lib.c: New file.
    	* gdb.base/solib-mismatch-libmod.c: New file.
    	* gdb.base/solib-mismatch.c: New file.
    	* gdb.base/solib-mismatch.exp: New file.

commit cd79c4492a000a36649464257cea46def250391c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:18 2015 +0200

    buildidwarn

commit 08ad08f1e4305221a4513ec87e1d5d085c3d4fab
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:18 2015 +0200

    buildidsolibbfdopen

commit 177660d6a8d4f4ba1660fc61b49da42cdf96eb9e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:18 2015 +0200

    buildidverify

commit 8db972fd3127ea419267b3b235cd7b00b9fe875d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:18 2015 +0200

    buildidsolibsearch

commit a3b70f44851d42fc06a9f94b01ab687440ea19c2
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:18 2015 +0200

    buildidtofile

commit c4c90a0f7bc8317cb962c499ede1208790a9253a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:17 2015 +0200

    buildidproto

commit c4ef17e38205ff1559a58e3bdd5f6ef92ecda89b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:17 2015 +0200

    buildidtobfd

commit 0d00d3a8d93e6ac23d29c7c8e53f1dfc1666a822
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:17 2015 +0200

    buildidforcemove

commit 4600db9a5cc528a655a1ebe92d477209d7146800
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:17 2015 +0200

    buildidfreefix

commit c1d8b72d24a6123eb8648bdbc1b2e3a56e282bc6
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:16 2015 +0200

    openpsymfile

commit 87d3c70eb6acd1584f17ff27dbfa7853fe0ea9ed
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:16 2015 +0200

    openpsolib

commit 2fce2213eba7e5446979a0ce2d032b1acb621aaf
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:16 2015 +0200

    openp

commit 12f3de0ea0fb4c5d60f5fad73c6f054bd1e0fea1
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:16 2015 +0200

    filelib

commit 8db0b61178445252d6c43384784728b71b7f3f05
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:15 2015 +0200

    openfromtargetdoclose

commit e600bf60a682090eb325052245a7c79aba73ff77
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:15 2015 +0200

    openfromtargetfd

commit 99c41f79be7c1437c8499d632fd13e8ae7d36c32
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:15 2015 +0200

    openfromtarget

commit 06214010ff8650436a4021a8536af52a19e4c748
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:14 2015 +0200

    openpnullpathname

commit 418b022857bb6be73630d795ff6ccb818145a566
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:14 2015 +0200

    openpmode

commit 79df217f6235b3fc200668fd39dfe38df1dafc44
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:14 2015 +0200

    openppath

commit 47c49eb97dcc9ff751e977d5a57f48e27333c59d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:13 2015 +0200

    openpenum

commit 4ab6b65563fb705f0dc5a45396e429995f6dd25c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:13 2015 +0200

    sysrootdefault

commit e67b73dbb7068902c37ef2e08caf3e0f70421832
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:13 2015 +0200

    sysrootdelim

commit 73ed2df5ca2a88300086c72adf5cf88961c3e0dd
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Aug 13 16:17:12 2015 +0200

    sysrootconst

commit e9100478ca7b48f167372bc4c0578df868cc5302
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Aug 15 11:38:53 2015 +0200

    Validate symbol file using build-id
    
    Consumer part of the "build-id" attribute.
    
    gdb/ChangeLog
    2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
    	    Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	Validate symbol file using build-id.
    	* NEWS (Changes since GDB 7.10): Add 'set validate-build-id'
    	and 'show validate-build-id'.  Add build-id attribute.
    	* solib-darwin.c (_initialize_darwin_solib): Assign validate value.
    	* solib-dsbt.c (_initialize_dsbt_solib): Ditto.
    	* solib-frv.c (_initialize_frv_solib): Ditto.
    	* solib-spu.c (set_spu_solib_ops): Ditto.
    	* solib-svr4.c: Include rsp-low.h.
    	(NOTE_GNU_BUILD_ID_NAME): New define.
    	(svr4_validate): New function.
    	(svr4_copy_library_list): Duplicate field build_id.
    	(library_list_start_library): Parse 'build-id' attribute.
    	(svr4_library_attributes): Add 'build-id' attribute.
    	(_initialize_svr4_solib): Assign validate value.
    	* solib-target.c (solib.h): Include.
    	(_initialize_solib_target): Assign validate value.
    	* solib.c (validate_build_id, show_validate_build_id): New.
    	(solib_map_sections): Use ops->validate.
    	(clear_so): Free build_id.
    	(default_solib_validate): New function.
    	(_initialize_solib): Add "validate-build-id".
    	* solib.h (default_solib_validate): New declaration.
    	* solist.h (struct so_list): New fields 'build_idsz' and 'build_id'.
    	(target_so_ops): New field 'validate'.
    
    gdb/doc/ChangeLog
    2015-07-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.texinfo (Files): Add 'set validate-build-id'
    	and 'show validate-build-id'.

commit d68335080a1989970d4a5dfcd16d32954f7b520d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Aug 15 11:38:52 2015 +0200

    gdbserver build-id attribute generator
    
    Producer part of the new "build-id" XML attribute.
    
    gdb/ChangeLog
    2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
    	    Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	gdbserver build-id attribute generator.
    	* features/library-list-svr4.dtd (library-list-svr4): New
    	'build-id' attribute.
    
    gdb/doc/ChangeLog
    2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
    	    Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	gdbserver build-id attribute generator.
    	* gdb.texinfo (Library List Format for SVR4 Targets): Add
    	'build-id' in description, example, new attribute in dtd.
    
    gdb/gdbserver/ChangeLog
    2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
    	    Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	gdbserver build-id attribute generator.
    	* linux-low.c (linux-maps.h, search.h, rsp-low.h): Include.
    	(ElfXX_Ehdr, ElfXX_Phdr, ElfXX_Nhdr): New.
    	(ELFXX_FLD, ELFXX_SIZEOF, ELFXX_ROUNDUP, BUILD_ID_INVALID): New.
    	(find_phdr): New.
    	(get_dynamic): Use find_pdhr to traverse program headers.
    	(struct mapping_entry, mapping_entry_s, free_mapping_entry_vec)
    	(compare_mapping_entry_range, struct find_memory_region_callback_data)
    	(read_build_id, find_memory_region_callback, lrfind_mapping_entry)
    	(get_hex_build_id): New.
    	(linux_qxfer_libraries_svr4): Add optional build-id attribute
    	to reply XML document.

commit 47498547bc0aa3debec59ad458a18a5612bc9604
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Aug 15 11:38:52 2015 +0200

    Move linux_find_memory_regions_full & co.
    
    This should be just a move with no changes.
    
    gdb/ChangeLog
    2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
    	    Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	Move linux_find_memory_regions_full & co.
    	* linux-tdep.c (linux-maps.h): Include.
    	(gdb_regex.h): Remove the include.
    	(enum filterflags, struct smaps_vmflags, read_mapping, decode_vmflags)
    	(mapping_is_anonymous_p, dump_mapping_p): Moved to common/linux-maps.c.
    	(linux_find_memory_region_ftype): Moved typedef to common/linux-maps.h.
    	(linux_find_memory_regions_full): Moved definition to
    	common/linux-maps.c.
    	* common/linux-maps.c: Include ctype.h, target/target-utils.h,
    	gdb_regex.h and target/target.h.
    	(struct smaps_vmflags, read_mapping, decode_vmflags)
    	(mapping_is_anonymous_p, dump_mapping_p): Move from linux-tdep.c.
    	(linux_find_memory_regions_full): Move from linux-tdep.c.
    	* common/linux-maps.h (read_mapping): New declaration.
    	(linux_find_memory_region_ftype, enum filterflags): Moved from
    	linux-tdep.c.
    	(linux_find_memory_regions_full): New declaration.
    	* target.c (target/target-utils.h): Include.
    	(read_alloc_pread_ftype): Moved typedef to target/target-utils.h.
    	(read_alloc, read_stralloc_func_ftype, read_stralloc): Moved
    	definitions to target/target-utils.c.
    	* target.h (target_fileio_read_stralloc): Move it to target/target.h.
    	* target/target-utils.c (read_alloc, read_stralloc): Move definitions
    	from target.c.
    	* target/target-utils.h (read_alloc_pread_ftype): New typedef.
    	(read_alloc): New declaration.
    	(read_stralloc_func_ftype): New typedef.
    	(read_stralloc): New declaration.
    	* target/target.h (target_fileio_read_stralloc): Move it from target.h.
    
    gdb/gdbserver/ChangeLog
    2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
    	    Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* target.c: Include target/target-utils.h and fcntl.h.
    	(target_fileio_read_stralloc_1_pread, target_fileio_read_stralloc_1)
    	(target_fileio_read_stralloc): New functions.

commit 89fa75c615cbd3ebb1e3c804ba7f51d2682d5ca6
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Aug 15 11:38:52 2015 +0200

    Prepare linux_find_memory_regions_full & co. for move
    
    Prepare code for move into gdb/common/.
    
    gdb/ChangeLog
    2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
    	    Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	Prepare linux_find_memory_regions_full & co. for move.
    	* linux-tdep.c (linux_find_memory_region_ftype): Comment.
    	(linux_find_memory_regions_full): Change signature and prepare
    	for moving to linux-maps.
    	(linux_find_memory_regions_data): Rename field 'obfd' to 'data'.
    	(linux_find_memory_regions_thunk): New.
    	(linux_find_memory_regions_thunk): Use 'data' field instead of 'obfd'.
    	(linux_find_memory_regions_gdb): New.
    	(linux_find_memory_regions): Rename argument 'obfd' to 'func_data'.
    	(linux_make_mappings_corefile_notes): Use
    	linux_find_memory_regions_gdb.
    	* target.c (read_alloc_pread_ftype): New typedef.
    	(target_fileio_read_alloc_1_pread): New function.
    	(read_alloc): Refactor from target_fileio_read_alloc_1.
    	(read_stralloc_func_ftype): New typedef.
    	(target_fileio_read_alloc_1): New implementation. Use read_alloc.
    	(read_stralloc): Refactored from target_fileio_read_stralloc.
    	(target_fileio_read_stralloc): New implementation, use read_stralloc.

commit 6d7d4da8f7097b4dd84029ed20ca9272622a64f2
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Aug 15 11:38:52 2015 +0200

    Move gdb_regex* to common/
    
    Later patches need regex support also in gdbserver.
    
    gdb/ChangeLog
    2015-07-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* Makefile.in (HFILES_NO_SRCDIR): Change gdb_regex.h to
    	common/gdb_regex.h.
    	(COMMON_OBS): Add gdb_regex.o.
    	(gdb_regex.o): New.
    	* common/common.m4 (GDB_AC_COMMON): Add gdb_use_included_regex,
    	--without-included-regex and USE_INCLUDED_REGEX.
    	* common/gdb_regex.c: New file from utils.c functions.
    	* common/gdb_regex.h: Move it here from gdb_regex.h, update include
    	file wrapping define name.
    	* configure: Rebuilt.
    	* configure.ac (gdb_use_included_regex, --without-included-regex)
    	(USE_INCLUDED_REGEX): Move them to common/common.m4.
    	* gdb_regex.h: Move it to common/gdb_regex.h.
    	* utils.c: Remove include gdb_regex.h.
    	(do_regfree_cleanup, make_regfree_cleanup, get_regcomp_error)
    	(compile_rx_or_error): Move them to common/gdb_regex.c.
    
    gdb/gdbserver/ChangeLog
    2015-07-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* Makefile.in (OBS): Add gdb_regex.o.
    	(gdb_regex.o): New.
    	* config.in: Rebuilt.
    	* configure: Rebuilt.

commit cfeca82d7f630591c93f1a47b84742294aa84a57
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Aug 15 11:38:51 2015 +0200

    Create empty common/linux-maps.[ch] and common/target-utils.[ch]
    
    Prepare new files for later move.
    
    gdb/ChangeLog
    2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
    	    Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	Create empty common/linux-maps.[ch] and common/target-utils.[ch].
    	* Makefile.in (ALL_TARGET_OBS): Add linux-maps.o.
    	(HFILES_NO_SRCDIR); Add common/linux-maps.h,
    	common/target-utils.h.
    	(COMMON_OBS): Add target-utils.o.
    	(linux-maps.o, target-utils.o): New.
    	* target/target-utils.c: New file.
    	* target/target-utils.h: New file.
    	* common/linux-maps.c: New file.
    	* common/linux-maps.h: New file.
    	* configure.tgt (aarch64*-*-linux*, alpha*-*-linux*)
    	(am33_2.0*-*-linux*, arm*-*-linux*, bfin-*-*linux*, cris*, frv-*-*)
    	(hppa*-*-linux*, i[34567]86-*-linux*, ia64-*-linux*, m32r*-*-linux*)
    	(m68*-*-linux*, microblaze*-linux-*, microblaze*-*-linux*)
    	(mips*-*-linux*, nios2*-*-linux*, powerpc*-*-linux*, s390*-*-linux*)
    	(sh*-*-linux*, sparc-*-linux*, sparc64-*-linux*, tic6x-*-*linux)
    	(tilegx-*-linux*, x86_64-*-linux*, xtensa*-*-linux*): Add linux-maps.o
    	to gdb_target_obs.
    
    gdb/gdbserver/ChangeLog
    2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
    	    Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	Create empty common/linux-maps.[ch] and common/target-utils.[ch].
    	* Makefile.in (OBS): Add target-utils.o.
    	(linux-maps.o, target-utils.o): New.
    	* configure.srv (srv_linux_obj): Add linux-maps.o.

commit 604b263620af66e3bf881f146e329b4de06104a5
Author: Doug Evans <xdje42@gmail.com>
Date:   Fri Aug 14 23:29:04 2015 -0700

    perftest/utils.py (select_file): Kill any existing inferior before selecting a new file.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.perf/lib/perftest/utils.py (select_file): Kill any existing
    	inferior before selecting a new file.

commit 6ff0ba5f7b8a2b10642bbb233a32043595c55670
Author: Doug Evans <xdje42@gmail.com>
Date:   Fri Aug 14 21:45:54 2015 -0700

    New /s modifier for the disassemble command.
    
    The "source centric" /m option to the disassemble command is often
    unhelpful, e.g., in the presence of optimized code.
    This patch adds a /s modifier that is better.
    For one, /m only prints instructions from the originating source file,
    leaving out instructions from e.g., inlined functions from other files.
    
    gdb/ChangeLog:
    
    	PR gdb/11833
    	* NEWS: Document new /s modifier for the disassemble command.
    	* cli/cli-cmds.c (disassemble_command): Add support for /s.
    	(_initialize_cli_cmds): Update online docs of disassemble command.
    	* disasm.c: #include "source.h".
    	(struct deprecated_dis_line_entry): Renamed from dis_line_entry.
    	All uses updated.
    	(dis_line_entry): New struct.
    	(hash_dis_line_entry, eq_dis_line_entry): New functions.
    	(allocate_dis_line_table): New functions.
    	(maybe_add_dis_line_entry, line_has_code_p): New functions.
    	(dump_insns): New arg end_pc.  All callers updated.
    	(do_mixed_source_and_assembly_deprecated): Renamed from
    	do_mixed_source_and_assembly.  All callers updated.
    	(do_mixed_source_and_assembly): New function.
    	(gdb_disassembly): Handle /s (DISASSEMBLY_SOURCE).
    	* disasm.h (DISASSEMBLY_SOURCE_DEPRECATED): Renamed from
    	DISASSEMBLY_SOURCE.  All uses updated.
    	(DISASSEMBLY_SOURCE): New macro.
    	* mi/mi-cmd-disas.c (mi_cmd_disassemble): New modes 4,5.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (Machine Code): Update docs for mixed source/assembly
    	disassembly.
    	(GDB/MI Data Manipulation): Update docs for new disassembly modes.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.mi/mi-disassemble.exp: Update.
    	* gdb.base/disasm-optim.S: New file.
    	* gdb.base/disasm-optim.c: New file.
    	* gdb.base/disasm-optim.h: New file.
    	* gdb.base/disasm-optim.exp: New file.

commit b56ccc202ab674998baf52a710d736702734f9ab
Author: Keith Seitz <keiths@redhat.com>
Date:   Fri Aug 14 17:28:11 2015 -0700

    Rename `typename' in d-exp.y to avoid C++ reserved word
    
    A recent patch introduced a variable named `typename' into d-exp.y,
    and one of the --enable-with-cxx build slaves consequently failed to compile
    this.  This patch simply adds an underscore into the name to avoid the
    reserved word.
    
    gdb/ChangeLog
    
    	* d-exp.y (PrimaryExpression : TypeExp '.' IdentifierExp): Rename
    	`typename' to `type_name' to avoid C++ reserved word.

commit a057aa3c457ba38ca25ff1ed13a30c629bb0f259
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Aug 15 00:00:07 2015 +0000

    Automatic date update in version.in

commit ebdad8fc7fd12b52a2dd14cdca735728b2f7ebc7
Author: Keith Seitz <keiths@redhat.com>
Date:   Fri Aug 14 15:00:04 2015 -0700

    Rename location accessor macro parameters to silence ARI
    
    The locations patch I recently committed contains macro definitions
    such as:
    
    This causes an ARI error to be emitted by the server ("Do not use PTR, ISO C
    90 implies `void *'").  While this ARI error is bogus in this context,
    it is just easiest to squash the error completely by renaming the macro
    parameters.
    
    gdb/ChangeLog
    
    	* location.c (EL_TYPE, EL_LINESPEC, EL_PROBE, EL_ADDRESS)
    	(EL_EXPLICIT, EL_STRING): Change macro parameter to "P" to
    	silence ARI errors.

commit 9ca98f927800a8446555e3f64cc3437c08ce266b
Author: Keith Seitz <keiths@redhat.com>
Date:   Fri Aug 14 14:54:37 2015 -0700

    Add missing ChangeLog entry for previous commit.

commit 6613eb10d10ee79ef09bf4dfe696586f479c8d02
Author: Keith Seitz <keiths@redhat.com>
Date:   Fri Aug 14 13:45:06 2015 -0700

    mi_make_breakpoint: add "evaluated-by" option
    
    For some time now, GDB has permitted target-side evaluation of
    breakpoint conditions.  On targets that support this feature, GDB
    may output an "evaluated-by" field into the breakpoint reply.
    
    This patch adds handling for this option, and outputs a default
    pattern to optionally recognize (and ignore) this pattern in the
    reply.
    
    gdb/testsuite/ChangeLog
    
    	* lib/mi-support.exp (mi_make_breakpoint): Add option/handling for
    	"evaluated-by".

commit c0fe2ae7064c4f927034aca87913bc28920721d9
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date:   Fri Aug 14 21:25:17 2015 +0200

    Fix ARI warnings in d-exp.y
    
    This fixes four ARI warnings found in d-exp.y.
    
    This is comprised of three uses of the && or || at the end of a line, and one
    use of sprintf.
    
    gdb/ChangeLog
    
    	* d-exp.y (PrimaryExpression : TypeExp '.' IdentifierExp): Use
    	xstrprintf instead of malloc and sprintf.
    	(PrimaryExpression : IdentifierExp): Avoid operator at end of line.
    	(lex_one_token): Likewise.

commit a738da3abe2bc02d70521086cf1d0e23565b8fbe
Author: Matthew Fortune <matthew.fortune@imgtec.com>
Date:   Thu Jun 11 10:37:31 2015 +0100

    Add support for DT_MIPS_RLD_MAP_REL.
    
    This tag allows debugging of MIPS position independent executables
    and provides access to shared library information.
    
    gdb/gdbserver/
    
    	* linux-low.c (get_r_debug): Handle DT_MIPS_RLD_MAP_REL.
    
    gdb/
    
    	* solib-svr4.c (read_program_header): Add base_addr argument to
    	report the runtime address of the segment.
    	(find_program_interpreter): Update read_program_header call to pass
    	a NULL pointer for the new argument.
    	(scan_dyntag): Add ptr_addr argument to report the runtime address
    	of the tag payload.
    	(scan_dyntag_auxv): Likewise and use thew new base_addr argument of
    	read_program_header to get the base address of the dynamic segment.
    	(elf_locate_base): Update uses of scan_dyntag, scan_dyntag_auxv and
    	read_program_header.
    	(elf_locate_base): Scan for and handle DT_MIPS_RLD_MAP_REL.

commit f8edc4ff051b4e29997681cb3bc9078d98f4d457
Author: Matthew Fortune <matthew.fortune@imgtec.com>
Date:   Fri Aug 14 13:07:23 2015 +0100

    Add myself to gdb MAINTAINERS
    
    gdb/
    	* MAINTAINERS (Write After Approval): Add Matthew Fortune.

commit 9b57267f4ffa4f8a168f89630a4b68fb51a419de
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Aug 12 19:07:26 2015 +0930

    Revert "Fix encoding or OpenRisk1000 PC relative relocations."
    
    This reverts commit dbac553d28887561e3f154654ec8e70195d89943.
    
    	PR ld/18759
    	* elf32-or1k.c: Revert 2015-08-11 change.

commit 92019596ba7df7156ac634abf3ae82738dc5ba55
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Aug 14 00:00:08 2015 +0000

    Automatic date update in version.in

commit 444c1ed8915961384af694249701fa7896e11da8
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date:   Thu Aug 13 21:35:09 2015 +0200

    [D] Move classification of symbols from the grammar to the lexer.
    
    This makes it so that alternating '.' and identifier tokens are resolved to
    symbols as early as possible, which should all the addition of D properties -
    such as EXP.sizeof and EXP.typeof - without the shift/reduce conflicts that
    would occur in the current parsing strategy.
    
    gdb/ChangeLog
    
    	* d-exp.y (%union): Add voidval.
    	(%token): Add UNKNOWN_NAME as a token to represent an unclassified
    	name in the lexing stage.
    	(PostfixExpression): Move symbol completion handling in grammar here
    	from PrimaryExpression.
    	(PrimaryExpression): Move routines to handle resolving identifier
    	tokens in the grammar here from push_expression_name.
    	(IdentifierExp): Remove the handling of alternating '.' and identifier
    	tokens.
    	(TypeExp): Allow TypeExp to be wrapped in parenthesis in the grammar.
    	(BasicType): Remove C-style typename rules.
    	(d_type_from_name, d_module_from_name, push_variable)
    	(push_fieldnames, push_type_name, push_module_name)
    	(push_expression_name): Remove.
    	(lex_one_token): Rename from yylex.  Replace pstate with par_state.
    	(token_and_value): New type.
    	(token_fifo, popping, name_obstack): New globals.
    	(classify_name): New function.
    	(classify_inner_name): Likewise.
    	(yylex): Likewise.
    	(d_parse): Initialize token_fifo, popping and name_obstack.

commit bc7c9fab612d4d33f7fe5d17eef4f5bd5cdc4144
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date:   Thu Aug 13 20:34:15 2015 +0200

    [D] Support looking up symbols in the current and imported modules.
    
    In D, there is the notion of modules, and importing from one to the other,
    whether it is a basic, selective or renamed import declaration.
    
    	module A;
    	import X;
    	void foo() {
    	  import Y : bar;
    	}
    
    If the compiler emits DW_TAG_imported_declaration at the appropriate locations,
    then we can make use of what gdb stores in using_direct when performing
    nonlocal symbol lookups.
    
    gdb/ChangeLog
    
    	* Makefile.in (SFILES): Add d-namespace.c.
    	(COMMON_OBS): Add d-namespace.o.
    	* d-lang.c (d_language_defn): Use d_lookup_symbol_nonlocal as the
    	la_lookup_symbol_nonlocal callback function pointer.
    	* d-lang.h (d_lookup_symbol_nonlocal): New declaration.
    	(d_lookup_nested_symbol): New declaration.
    	* d-namespace.c: New file.

commit 52bbc560524ec3691203eccd05207d13913a1e35
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Wed Aug 12 13:40:54 2015 -0700

    gdb.base/dso2dso.exp: Improve testcase documentation.
    
    gdb/testsuite/ChangeLog:
    
            * gdb.base/dso2dso.exp: Improve the testcase's documentation.

commit 3207396b9532f179bad24a9fb9a83253f3f5144d
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Aug 13 18:56:42 2015 +0100

    Fix Python frame unwinder issue caught by Valgrind
    
    Valgrind shows:
    
     ==17026== Invalid write of size 8
     ==17026==    at 0x54AA80: pending_frame_invalidate (py-unwind.c:477)
     ==17026==    by 0x5AB934: do_my_cleanups (cleanups.c:155)
     ==17026==    by 0x5AB9AF: do_cleanups (cleanups.c:177)
     ==17026==    by 0x54B009: pyuw_sniffer (py-unwind.c:606)
     ==17026==    by 0x755DAC: frame_unwind_try_unwinder (frame-unwind.c:105)
     ==17026==    by 0x755EEE: frame_unwind_find_by_frame (frame-unwind.c:160)
     ==17026==    by 0x750FFA: compute_frame_id (frame.c:454)
     ==17026==    by 0x753BD6: get_prev_frame_if_no_cycle (frame.c:1781)
     ==17026==    by 0x754292: get_prev_frame_always_1 (frame.c:1955)
     ==17026==    by 0x7542DA: get_prev_frame_always (frame.c:1971)
     ==17026==    by 0x7547BE: get_prev_frame (frame.c:2213)
     ==17026==    by 0x7532BD: unwind_to_current_frame (frame.c:1450)
     ==17026==  Address 0xd27b570 is 16 bytes inside a block of size 32 free'd
     ==17026==    at 0x4A07577: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
     ==17026==    by 0x54B276: gdb_Py_DECREF (python-internal.h:185)
     ==17026==    by 0x54B298: py_decref (py-utils.c:34)
     ==17026==    by 0x5AB934: do_my_cleanups (cleanups.c:155)
     ==17026==    by 0x5AB9AF: do_cleanups (cleanups.c:177)
     ==17026==    by 0x54B009: pyuw_sniffer (py-unwind.c:606)
     ==17026==    by 0x755DAC: frame_unwind_try_unwinder (frame-unwind.c:105)
     ==17026==    by 0x755EEE: frame_unwind_find_by_frame (frame-unwind.c:160)
     ==17026==    by 0x750FFA: compute_frame_id (frame.c:454)
     ==17026==    by 0x753BD6: get_prev_frame_if_no_cycle (frame.c:1781)
     ==17026==    by 0x754292: get_prev_frame_always_1 (frame.c:1955)
     ==17026==    by 0x7542DA: get_prev_frame_always (frame.c:1971)
     ==17026==
    
    Simply invalidate the object before releasing it.
    
    gdb/ChangeLog:
    2015-08-13  Pedro Alves  <palves@redhat.com>
    
    	* python/py-unwind.c (pyuw_sniffer): Install the invalidate
    	cleanup after the decref cleanup, not before.

commit 67994074671a31e3d2fb78f6036f38095211ac49
Author: Keith Seitz <keiths@redhat.com>
Date:   Thu Aug 13 09:48:12 2015 -0700

    Mass rename `explicit' -> `explicit_loc'.
    
    BuildBot reminded me that "explicit" is a reserved keyword in C++.
    This patch simply renames all the (illegal) uses of "explicit". This should
    fix the build errors with --enable-build-with-cxx bots.
    
    gdb/ChangeLog
    
    	* break-catch-throw.c (re_set_exception_catchpoint) Rename
    	reserved C++ keyword "explicit" to "explicit_loc".
    	* breakpoint.c (create_overlay_event_breakpoint)
    	(create_longjmp_master_breakpoint)
    	(create_std_terminate_master_breakpoint)
    	(create_exception_master_breakpoint, update_static_tracepoint):
    	Rename reserved C++ keyword "explicit" to "explicit_loc".
    	* completer.c (collect_explicit_location_matches)
    	(explicit_location_completer): Rename reserved C++ keyword
    	"explicit" to "explicit_loc".
    	* linespec.c (struct linespec) <explicit>: Rename to "explicit_loc".
    	(canonicalize_linespec, create_sals_line_offset)
    	(convert_linespec_to_sals, convert_explicit_location_to_sals)
    	(event_location_to_sals, decode_objc): Rename reserved C++ keyword
    	"explicit" to "explicit_loc".
    	* location.c (struct event_location) <explicit>: Rename to
    	"explicit_loc".
    	(initialize_explicit_location, new_explicit_location)
    	(explicit_location_to_string_internal, explicit_location_to_linespec):
    	Rename reserved C++ keyword "explicit" to "explicit_loc".
    	* location.h (explicit_location_to_string)
    	(explicit_location_to_linespec, initialize_explicit_location)
    	(new_explicit_location): Rename reserved C++ keyword "explicit"
    	to "explicit_loc".
    	* mi/mi-cmd-break.c (mi_cmd_break_insert_1): Rename reserved C++
    	keyword "explicit" to "explicit_loc".

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

Summary of changes:
 bfd/ChangeLog                                |    5 +
 bfd/elf32-or1k.c                             |    6 +-
 bfd/version.h                                |    2 +-
 gdb/ChangeLog                                |  127 ++++
 gdb/MAINTAINERS                              |    1 +
 gdb/Makefile.in                              |    4 +-
 gdb/NEWS                                     |    7 +
 gdb/break-catch-throw.c                      |    8 +-
 gdb/breakpoint.c                             |   44 +-
 gdb/cli/cli-cmds.c                           |   44 ++-
 gdb/completer.c                              |   28 +-
 gdb/d-exp.y                                  |  792 ++++++++++++++------------
 gdb/d-lang.c                                 |    2 +-
 gdb/d-lang.h                                 |   10 +
 gdb/d-namespace.c                            |  562 ++++++++++++++++++
 gdb/disasm.c                                 |  404 ++++++++++++-
 gdb/disasm.h                                 |    3 +-
 gdb/doc/ChangeLog                            |    6 +
 gdb/doc/gdb.texinfo                          |  121 ++++-
 gdb/gdbserver/ChangeLog                      |    4 +
 gdb/gdbserver/linux-low.c                    |   30 +-
 gdb/linespec.c                               |   87 ++--
 gdb/location.c                               |   72 ++--
 gdb/location.h                               |    9 +-
 gdb/mi/mi-cmd-break.c                        |   22 +-
 gdb/mi/mi-cmd-disas.c                        |   39 +-
 gdb/python/py-unwind.c                       |    2 +-
 gdb/record.c                                 |    2 +-
 gdb/solib-svr4.c                             |   63 ++-
 gdb/testsuite/ChangeLog                      |   22 +
 gdb/testsuite/gdb.base/disasm-optim.S        |  352 ++++++++++++
 gdb/testsuite/gdb.base/disasm-optim.c        |   27 +
 gdb/testsuite/gdb.base/disasm-optim.exp      |   40 ++
 gdb/testsuite/gdb.base/disasm-optim.h        |   26 +
 gdb/testsuite/gdb.base/dso2dso.exp           |   14 +-
 gdb/testsuite/gdb.mi/mi-disassemble.exp      |    2 +-
 gdb/testsuite/gdb.perf/lib/perftest/utils.py |    1 +
 gdb/testsuite/lib/mi-support.exp             |   14 +-
 38 files changed, 2414 insertions(+), 590 deletions(-)
 create mode 100644 gdb/d-namespace.c
 create mode 100644 gdb/testsuite/gdb.base/disasm-optim.S
 create mode 100644 gdb/testsuite/gdb.base/disasm-optim.c
 create mode 100644 gdb/testsuite/gdb.base/disasm-optim.exp
 create mode 100644 gdb/testsuite/gdb.base/disasm-optim.h

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 9ba5902..09f7650 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2015-08-14  Alan Modra  <amodra@gmail.com>
+
+	PR ld/18759
+	* elf32-or1k.c: Revert 2015-08-11 change.
+
 2015-08-13  H.J. Lu  <hongjiu.lu@intel.com>
 
 	PR ld/18801
diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c
index 7cb093c..efcefea 100644
--- a/bfd/elf32-or1k.c
+++ b/bfd/elf32-or1k.c
@@ -199,7 +199,7 @@ static reloc_howto_type or1k_elf_howto_table[] =
          FALSE,                 /* partial_inplace */
          0,                     /* src_mask */
          0xffffffff,            /* dst_mask */
-         TRUE),                 /* pcrel_offset */
+         FALSE),                /* pcrel_offset */
 
   HOWTO (R_OR1K_16_PCREL,
          0,                     /* rightshift */
@@ -213,7 +213,7 @@ static reloc_howto_type or1k_elf_howto_table[] =
          FALSE,                 /* partial_inplace */
          0,                     /* src_mask */
          0xffff,                /* dst_mask */
-         TRUE),                 /* pcrel_offset */
+         FALSE),                /* pcrel_offset */
 
   HOWTO (R_OR1K_8_PCREL,
          0,                     /* rightshift */
@@ -227,7 +227,7 @@ static reloc_howto_type or1k_elf_howto_table[] =
          FALSE,                 /* partial_inplace */
          0,                     /* src_mask */
          0xff,                  /* dst_mask */
-         TRUE),                 /* pcrel_offset */
+         FALSE),                /* pcrel_offset */
 
    HOWTO (R_OR1K_GOTPC_HI16,    /* Type.  */
          16,                    /* Rightshift.  */
diff --git a/bfd/version.h b/bfd/version.h
index 68b79ad..1579c8e 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -1,4 +1,4 @@
-#define BFD_VERSION_DATE 20150813
+#define BFD_VERSION_DATE 20150815
 #define BFD_VERSION @bfd_version@
 #define BFD_VERSION_STRING  @bfd_version_package@ @bfd_version_string@
 #define REPORT_BUGS_TO @report_bugs_to@
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 99b0eb8..298f44d 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,101 @@
+2015-08-14  Doug Evans  <xdje42@gmail.com>
+
+	PR gdb/11833
+	* NEWS: Document new /s modifier for the disassemble command.
+	* cli/cli-cmds.c (disassemble_command): Add support for /s.
+	(_initialize_cli_cmds): Update online docs of disassemble command.
+	* disasm.c: #include "source.h".
+	(struct deprecated_dis_line_entry): Renamed from dis_line_entry.
+	All uses updated.
+	(dis_line_entry): New struct.
+	(hash_dis_line_entry, eq_dis_line_entry): New functions.
+	(allocate_dis_line_table): New functions.
+	(maybe_add_dis_line_entry, line_has_code_p): New functions.
+	(dump_insns): New arg end_pc.  All callers updated.
+	(do_mixed_source_and_assembly_deprecated): Renamed from
+	do_mixed_source_and_assembly.  All callers updated.
+	(do_mixed_source_and_assembly): New function.
+	(gdb_disassembly): Handle /s (DISASSEMBLY_SOURCE).
+	* disasm.h (DISASSEMBLY_SOURCE_DEPRECATED): Renamed from
+	DISASSEMBLY_SOURCE.  All uses updated.
+	(DISASSEMBLY_SOURCE): New macro.
+	* mi/mi-cmd-disas.c (mi_cmd_disassemble): New modes 4,5.
+
+2015-08-14  Keith Seitz  <keiths@redhat.com>
+
+	* d-exp.y (PrimaryExpression : TypeExp '.' IdentifierExp): Rename
+	`typename' to `type_name' to avoid C++ reserved word.
+
+2015-08-14  Keith Seitz  <keiths@redhat.com>
+
+	* location.c (EL_TYPE, EL_LINESPEC, EL_PROBE, EL_ADDRESS)
+	(EL_EXPLICIT, EL_STRING): Change macro parameter to "P" to
+	silence ARI errors.
+
+2015-08-14  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* d-exp.y (PrimaryExpression : TypeExp '.' IdentifierExp): Use
+	xstrprintf instead of malloc and sprintf.
+	(PrimaryExpression : IdentifierExp): Avoid operator at end of line.
+	(lex_one_token): Likewise.
+
+2015-08-14  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* solib-svr4.c (read_program_header): Add base_addr argument to
+	report the runtime address of the segment.
+	(find_program_interpreter): Update read_program_header call to pass
+	a NULL pointer for the new argument.
+	(scan_dyntag): Add ptr_addr argument to report the runtime address
+	of the tag payload.
+	(scan_dyntag_auxv): Likewise and use thew new base_addr argument of
+	read_program_header to get the base address of the dynamic segment.
+	(elf_locate_base): Update uses of scan_dyntag, scan_dyntag_auxv and
+	read_program_header.
+	(elf_locate_base): Scan for and handle DT_MIPS_RLD_MAP_REL.
+
+2015-08-14  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* MAINTAINERS (Write After Approval): Add Matthew Fortune.
+
+2015-08-13  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* d-exp.y (%union): Add voidval.
+	(%token): Add UNKNOWN_NAME as a token to represent an unclassified
+	name in the lexing stage.
+	(PostfixExpression): Move symbol completion handling in grammar here
+	from PrimaryExpression.
+	(PrimaryExpression): Move routines to handle resolving identifier
+	tokens in the grammar here from push_expression_name.
+	(IdentifierExp): Remove the handling of alternating '.' and identifier
+	tokens.
+	(TypeExp): Allow TypeExp to be wrapped in parenthesis in the grammar.
+	(BasicType): Remove C-style typename rules.
+	(d_type_from_name, d_module_from_name, push_variable)
+	(push_fieldnames, push_type_name, push_module_name)
+	(push_expression_name): Remove.
+	(lex_one_token): Rename from yylex.  Replace pstate with par_state.
+	(token_and_value): New type.
+	(token_fifo, popping, name_obstack): New globals.
+	(classify_name): New function.
+	(classify_inner_name): Likewise.
+	(yylex): Likewise.
+	(d_parse): Initialize token_fifo, popping and name_obstack.
+
+2015-08-13  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* Makefile.in (SFILES): Add d-namespace.c.
+	(COMMON_OBS): Add d-namespace.o.
+	* d-lang.c (d_language_defn): Use d_lookup_symbol_nonlocal as the
+	la_lookup_symbol_nonlocal callback function pointer.
+	* d-lang.h (d_lookup_symbol_nonlocal): New declaration.
+	(d_lookup_nested_symbol): New declaration.
+	* d-namespace.c: New file.
+
+2015-08-13  Pedro Alves  <palves@redhat.com>
+
+	* python/py-unwind.c (pyuw_sniffer): Install the invalidate
+	cleanup after the decref cleanup, not before.
+
 2015-08-13  Pierre-Marie de Rodat  <derodat@adacore.com>
 
 	* ada-lang.c: Include namespace.h
@@ -54,6 +152,35 @@
 
 2015-08-12  Keith Seitz  <keiths@redhat.com>
 
+	* break-catch-throw.c (re_set_exception_catchpoint) Rename
+	reserved C++ keyword "explicit" to "explicit_loc".
+	* breakpoint.c (create_overlay_event_breakpoint)
+	(create_longjmp_master_breakpoint)
+	(create_std_terminate_master_breakpoint)
+	(create_exception_master_breakpoint, update_static_tracepoint):
+	Rename reserved C++ keyword "explicit" to "explicit_loc".
+	* completer.c (collect_explicit_location_matches)
+	(explicit_location_completer): Rename reserved C++ keyword
+	"explicit" to "explicit_loc".
+	* linespec.c (struct linespec) <explicit>: Rename to "explicit_loc".
+	(canonicalize_linespec, create_sals_line_offset)
+	(convert_linespec_to_sals, convert_explicit_location_to_sals)
+	(event_location_to_sals, decode_objc): Rename reserved C++ keyword
+	"explicit" to "explicit_loc".
+	* location.c (struct event_location) <explicit>: Rename to
+	"explicit_loc".
+	(initialize_explicit_location, new_explicit_location)
+	(explicit_location_to_string_internal, explicit_location_to_linespec):
+	Rename reserved C++ keyword "explicit" to "explicit_loc".
+	* location.h (explicit_location_to_string)
+	(explicit_location_to_linespec, initialize_explicit_location)
+	(new_explicit_location): Rename reserved C++ keyword "explicit"
+	to "explicit_loc".
+	* mi/mi-cmd-break.c (mi_cmd_break_insert_1): Rename reserved C++
+	keyword "explicit" to "explicit_loc".
+
+2015-08-12  Keith Seitz  <keiths@redhat.com>
+
 	* python/python.c (gdbpy_decode_line): Initialize `location' to NULL
 	and only call decode_line_1 when it is non-NULL.
 
diff --git a/gdb/MAINTAINERS b/gdb/MAINTAINERS
index f774c6e..9b395d7 100644
--- a/gdb/MAINTAINERS
+++ b/gdb/MAINTAINERS
@@ -517,6 +517,7 @@ Doug Evans					dje@google.com
 Adam Fedor					fedor@gnu.org
 Max Filippov					jcmvbkbc@gmail.com
 Brian Ford					ford@vss.fsi.com
+Matthew Fortune					matthew.fortune@imgtec.com
 Orjan Friberg					orjanf@axis.com
 Andreas From					andreas.from@ericsson.com
 Nathan Froyd					froydnj@codesourcery.com
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 4b25d4a..3247126 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -839,7 +839,7 @@ SFILES = ada-exp.y ada-lang.c ada-typeprint.c ada-valprint.c ada-tasks.c \
 	charset.c common/cleanups.c cli-out.c coffread.c coff-pe-read.c \
 	complaints.c completer.c continuations.c corefile.c corelow.c \
 	cp-abi.c cp-support.c cp-namespace.c cp-valprint.c \
-	d-exp.y d-lang.c d-valprint.c \
+	d-exp.y d-lang.c d-namespace.c d-valprint.c \
 	cp-name-parser.y \
 	dbxread.c demangle.c dictionary.c disasm.c doublest.c \
 	dtrace-probe.c dummy-frame.c \
@@ -1073,7 +1073,7 @@ COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $(YYOBJ) \
 	frame-base.o \
 	inline-frame.o \
 	gnu-v2-abi.o gnu-v3-abi.o cp-abi.o cp-support.o \
-	cp-namespace.o \
+	cp-namespace.o d-namespace.o \
 	reggroups.o \
 	trad-frame.o \
 	tramp-frame.o \
diff --git a/gdb/NEWS b/gdb/NEWS
index 538c185..df19e24 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -20,6 +20,13 @@ maint show target-non-stop
   "set non-stop" is "off".  The default is "auto", meaning non-stop
   mode is enabled if supported by the target.
 
+* The "disassemble" command accepts a new modifier: /s.
+  It prints mixed source+disassembly like /m with two differences:
+  - disassembled instructions are now printed in program order, and
+  - and source for all relevant files is now printed.
+  The "/m" option is now considered deprecated: its "source-centric"
+  output hasn't proved useful in practice.
+
 * New options
 
 set validate-build-id (on|off)
diff --git a/gdb/break-catch-throw.c b/gdb/break-catch-throw.c
index 209c3e3..1ba505b 100644
--- a/gdb/break-catch-throw.c
+++ b/gdb/break-catch-throw.c
@@ -229,12 +229,12 @@ re_set_exception_catchpoint (struct breakpoint *self)
 	 catchpoint mode.  */
       TRY
 	{
-	  struct explicit_location explicit;
+	  struct explicit_location explicit_loc;
 
-	  initialize_explicit_location (&explicit);
-	  explicit.function_name
+	  initialize_explicit_location (&explicit_loc);
+	  explicit_loc.function_name
 	    = ASTRDUP (exception_functions[kind].function);
-	  location = new_explicit_location (&explicit);
+	  location = new_explicit_location (&explicit_loc);
 	  cleanup = make_cleanup_delete_event_location (location);
 	  self->ops->decode_location (self, location, &sals);
 	  do_cleanups (cleanup);
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index a6994c7..052aeb9 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -3424,7 +3424,7 @@ create_overlay_event_breakpoint (void)
       struct breakpoint *b;
       struct breakpoint_objfile_data *bp_objfile_data;
       CORE_ADDR addr;
-      struct explicit_location explicit;
+      struct explicit_location explicit_loc;
 
       bp_objfile_data = get_breakpoint_objfile_data (objfile);
 
@@ -3449,9 +3449,9 @@ create_overlay_event_breakpoint (void)
       b = create_internal_breakpoint (get_objfile_arch (objfile), addr,
                                       bp_overlay_event,
 				      &internal_breakpoint_ops);
-      initialize_explicit_location (&explicit);
-      explicit.function_name = ASTRDUP (func_name);
-      b->location = new_explicit_location (&explicit);
+      initialize_explicit_location (&explicit_loc);
+      explicit_loc.function_name = ASTRDUP (func_name);
+      b->location = new_explicit_location (&explicit_loc);
 
       if (overlay_debugging == ovly_auto)
         {
@@ -3548,7 +3548,7 @@ create_longjmp_master_breakpoint (void)
 	  struct breakpoint *b;
 	  const char *func_name;
 	  CORE_ADDR addr;
-	  struct explicit_location explicit;
+	  struct explicit_location explicit_loc;
 
 	  if (msym_not_found_p (bp_objfile_data->longjmp_msym[i].minsym))
 	    continue;
@@ -3571,9 +3571,9 @@ create_longjmp_master_breakpoint (void)
 	  addr = BMSYMBOL_VALUE_ADDRESS (bp_objfile_data->longjmp_msym[i]);
 	  b = create_internal_breakpoint (gdbarch, addr, bp_longjmp_master,
 					  &internal_breakpoint_ops);
-	  initialize_explicit_location (&explicit);
-	  explicit.function_name = ASTRDUP (func_name);
-	  b->location = new_explicit_location (&explicit);
+	  initialize_explicit_location (&explicit_loc);
+	  explicit_loc.function_name = ASTRDUP (func_name);
+	  b->location = new_explicit_location (&explicit_loc);
 	  b->enable_state = bp_disabled;
 	}
     }
@@ -3604,7 +3604,7 @@ create_std_terminate_master_breakpoint (void)
     {
       struct breakpoint *b;
       struct breakpoint_objfile_data *bp_objfile_data;
-      struct explicit_location explicit;
+      struct explicit_location explicit_loc;
 
       bp_objfile_data = get_breakpoint_objfile_data (objfile);
 
@@ -3630,9 +3630,9 @@ create_std_terminate_master_breakpoint (void)
       b = create_internal_breakpoint (get_objfile_arch (objfile), addr,
                                       bp_std_terminate_master,
 				      &internal_breakpoint_ops);
-      initialize_explicit_location (&explicit);
-      explicit.function_name = ASTRDUP (func_name);
-      b->location = new_explicit_location (&explicit);
+      initialize_explicit_location (&explicit_loc);
+      explicit_loc.function_name = ASTRDUP (func_name);
+      b->location = new_explicit_location (&explicit_loc);
       b->enable_state = bp_disabled;
     }
   }
@@ -3656,7 +3656,7 @@ create_exception_master_breakpoint (void)
       struct gdbarch *gdbarch;
       struct breakpoint_objfile_data *bp_objfile_data;
       CORE_ADDR addr;
-      struct explicit_location explicit;
+      struct explicit_location explicit_loc;
 
       bp_objfile_data = get_breakpoint_objfile_data (objfile);
 
@@ -3737,9 +3737,9 @@ create_exception_master_breakpoint (void)
 						 &current_target);
       b = create_internal_breakpoint (gdbarch, addr, bp_exception_master,
 				      &internal_breakpoint_ops);
-      initialize_explicit_location (&explicit);
-      explicit.function_name = ASTRDUP (func_name);
-      b->location = new_explicit_location (&explicit);
+      initialize_explicit_location (&explicit_loc);
+      explicit_loc.function_name = ASTRDUP (func_name);
+      b->location = new_explicit_location (&explicit_loc);
       b->enable_state = bp_disabled;
     }
 
@@ -13947,7 +13947,7 @@ update_static_tracepoint (struct breakpoint *b, struct symtab_and_line sal)
 	  struct symbol *sym;
 	  struct static_tracepoint_marker *tpmarker;
 	  struct ui_out *uiout = current_uiout;
-	  struct explicit_location explicit;
+	  struct explicit_location explicit_loc;
 
 	  tpmarker = VEC_index (static_tracepoint_marker_p, markers, 0);
 
@@ -13989,12 +13989,12 @@ update_static_tracepoint (struct breakpoint *b, struct symtab_and_line sal)
 	  b->loc->symtab = sym != NULL ? sal2.symtab : NULL;
 
 	  delete_event_location (b->location);
-	  initialize_explicit_location (&explicit);
-	  explicit.source_filename
+	  initialize_explicit_location (&explicit_loc);
+	  explicit_loc.source_filename
 	    = ASTRDUP (symtab_to_filename_for_display (sal2.symtab));
-	  explicit.line_offset.offset = b->loc->line_number;
-	  explicit.line_offset.sign = LINE_OFFSET_NONE;
-	  b->location = new_explicit_location (&explicit);
+	  explicit_loc.line_offset.offset = b->loc->line_number;
+	  explicit_loc.line_offset.sign = LINE_OFFSET_NONE;
+	  b->location = new_explicit_location (&explicit_loc);
 
 	  /* Might be nice to check if function changed, and warn if
 	     so.  */
diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c
index 68af26b..5be758d 100644
--- a/gdb/cli/cli-cmds.c
+++ b/gdb/cli/cli-cmds.c
@@ -1176,16 +1176,26 @@ disassemble_current_function (int flags)
 /* Dump a specified section of assembly code.
 
    Usage:
-     disassemble [/mr]
+     disassemble [/mrs]
        - dump the assembly code for the function of the current pc
-     disassemble [/mr] addr
+     disassemble [/mrs] addr
        - dump the assembly code for the function at ADDR
-     disassemble [/mr] low,high
-     disassemble [/mr] low,+length
+     disassemble [/mrs] low,high
+     disassemble [/mrs] low,+length
        - dump the assembly code in the range [LOW,HIGH), or [LOW,LOW+length)
 
-   A /m modifier will include source code with the assembly.
-   A /r modifier will include raw instructions in hex with the assembly.  */
+   A /m modifier will include source code with the assembly in a
+   "source centric" view.  This view lists only the file of the first insn,
+   even if other source files are involved (e.g., inlined functions), and
+   the output is in source order, even with optimized code.  This view is
+   considered deprecated as it hasn't been useful in practice.
+
+   A /r modifier will include raw instructions in hex with the assembly.
+
+   A /s modifier will include source code with the assembly, like /m, with
+   two important differences:
+   1) The output is still in pc address order.
+   2) File names and contents for all relevant source files are displayed.  */
 
 static void
 disassemble_command (char *arg, int from_tty)
@@ -1213,11 +1223,14 @@ disassemble_command (char *arg, int from_tty)
 	  switch (*p++)
 	    {
 	    case 'm':
-	      flags |= DISASSEMBLY_SOURCE;
+	      flags |= DISASSEMBLY_SOURCE_DEPRECATED;
 	      break;
 	    case 'r':
 	      flags |= DISASSEMBLY_RAW_INSN;
 	      break;
+	    case 's':
+	      flags |= DISASSEMBLY_SOURCE;
+	      break;
 	    default:
 	      error (_("Invalid disassembly modifier."));
 	    }
@@ -1226,6 +1239,10 @@ disassemble_command (char *arg, int from_tty)
       p = skip_spaces_const (p);
     }
 
+  if ((flags & (DISASSEMBLY_SOURCE_DEPRECATED | DISASSEMBLY_SOURCE))
+      == (DISASSEMBLY_SOURCE_DEPRECATED | DISASSEMBLY_SOURCE))
+    error (_("Cannot specify both /m and /s."));
+
   if (! p || ! *p)
     {
       flags |= DISASSEMBLY_OMIT_FNAME;
@@ -1886,8 +1903,21 @@ the other arg."));
   c = add_com ("disassemble", class_vars, disassemble_command, _("\
 Disassemble a specified section of memory.\n\
 Default is the function surrounding the pc of the selected frame.\n\
+\n\
 With a /m modifier, source lines are included (if available).\n\
+This view is \"source centric\": the output is in source line order,\n\
+regardless of any optimization that is present.  Only the main source file\n\
+is displayed, not those of, e.g., any inlined functions.\n\
+This modifier hasn't proved useful in practice and is deprecated\n\
+in favor of /s.\n\
+\n\
+With a /s modifier, source lines are included (if available).\n\
+This differs from /m in two important respects:\n\
+- the output is still in pc address order, and\n\
+- file names and contents for all relevant source files are displayed.\n\
+\n\
 With a /r modifier, raw instructions in hex are included.\n\
+\n\
 With a single argument, the function surrounding that address is dumped.\n\
 Two arguments (separated by a comma) are taken as a range of memory to dump,\n\
   in the form of \"start,end\", or \"start,+length\".\n\
diff --git a/gdb/completer.c b/gdb/completer.c
index 7fc27b1..821f882 100644
--- a/gdb/completer.c
+++ b/gdb/completer.c
@@ -358,14 +358,15 @@ collect_explicit_location_matches (struct event_location *location,
 				   const char *word)
 {
   VEC (char_ptr) *matches = NULL;
-  const struct explicit_location *explicit = get_explicit_location (location);
+  const struct explicit_location *explicit_loc
+    = get_explicit_location (location);
 
   switch (what)
     {
     case MATCH_SOURCE:
       {
-	const char *text = (explicit->source_filename == NULL
-			    ? "" : explicit->source_filename);
+	const char *text = (explicit_loc->source_filename == NULL
+			    ? "" : explicit_loc->source_filename);
 
 	matches = make_source_files_completion_list (text, word);
       }
@@ -373,14 +374,14 @@ collect_explicit_location_matches (struct event_location *location,
 
     case MATCH_FUNCTION:


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


             reply	other threads:[~2015-08-15 10:01 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-15 10:01 jkratoch [this message]
  -- strict thread matches above, loose matches on Subject: below --
2015-08-16 20:12 jkratoch
2015-08-13 19:02 jkratoch
2015-08-13 14:22 jkratoch
2015-08-13 10:40 jkratoch
2015-08-12 20:24 jkratoch
2015-08-12 17:12 jkratoch
2015-08-12 16:28 jkratoch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150815100157.57901.qmail@sourceware.org \
    --to=jkratoch@sourceware.org \
    --cc=archer-commits@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).