{"push_id":634540027,"size":8,"distinct_size":7,"ref":"refs/heads/namespaces","head":"61d32ecbdfd282f874d6d8a38dfdb428e74c21b2","before":"75018c28f17faca4ad500420d4d51aba13f674d4","commits":[{"sha":"175eebe5b604c2b5f848e9a6296abc84916d26ac","author":{"email":"4b2bf6639e90c888409e4295b6d0929aef722836@redhat.com","name":"Gary Benson"},"message":"Access executable from remote system when first inferior appears\n\nThis commit modifies remote_add_inferior to take an extra argument\ntry_open_exec.  If this is nonzero, remote_add_inferior will attempt\nto open this inferior's executable as the main executable if no main\nexecutable is open already.  Callers are updated appropriately.\n\nWith this commit, remote debugging can now be initiated using only a\n\"target remote\" or \"target extended-remote\" command; no \"set sysroot\"\nor \"file\" commands are required, e.g.\n\n  bash$ gdb -q\n  (gdb) target remote | gdbserver - /bin/sh\n  Remote debugging using | gdbserver - /bin/sh\n  Process /bin/sh created; pid = 32166\n  stdin/stdout redirected\n  Remote debugging using stdio\n  Reading symbols from target:/bin/bash...\n\nOne testcase required updating as a result of this commit.  The test\nchecked that GDB's \"info files\" command does not crash if no main\nexecutable is open, and relied on GDB's inability to access the main\nexecutable over the remote protocol.  The test was updated to inhibit\nthis new behavior.\n\ngdb/ChangeLog:\n\n\t* remote.c (remote_add_inferior): New argument try_open_exec.\n\tIf nonzero, attempt to open the inferior's executable file as\n\tthe main executable if no main executable is open already.\n\tAll callers updated.\n\t* NEWS: Mention that GDB now supports automatic location and\n\tretrieval of executable + files from remote targets.\n\ngdb/doc/ChangeLog:\n\n\t* gdb.texinfo (Connecting to a Remote Target): Mention that\n\tGDB can access program files from remote targets that support\n\tqXfer:exec-file:read and Host I/O packets.\n\ngdb/testsuite/ChangeLog:\n\n\t* gdb.server/server-exec-info.exp: Inhibit GDB from accessing\n\tthe main executable over the remote protocol.","distinct":false,"url":"https://api.github.com/repos/gbenson/binutils-gdb/commits/175eebe5b604c2b5f848e9a6296abc84916d26ac"},{"sha":"e0d04065205a5047e16302e43c63fbb9b1d22d22","author":{"email":"4b2bf6639e90c888409e4295b6d0929aef722836@redhat.com","name":"Gary Benson"},"message":"Introduce target_fileio_set_fs\n\nThis commit introduces a new target method target_fileio_set_fs\nand adds calls to it in various places.  This allows support to\nbe added for targets where processes do not share a common\nfilesystem.\n\ngdb/ChangeLog:\n\n\t* target.h (struct inferior): New forward declaration.\n\t(struct target_ops) <to_fileio_set_fs>: New field.\n\t(target_fileio_set_fs): New declaration.\n\t* target-delegates.c: Regenerate.\n\t* target.c (target_fileio_set_fs): New function.\n\t* exec.c (exec_file_attach): Call target_fileio_set_fs.\n\t* gdb_bfd.c (inferior.h): New include.\n\t(gdb_bfd_iovec_fileio_open): Rename argument.  Call\n\ttarget_fileio_set_fs.\n\t(gdb_bfd_open): Call target_fileio_set_fs.  Pass current\n\tinferior as argument to gdb_bfd_iovec_fileio_open.\n\t* linux-tdep.c (linux_info_proc): Call target_fileio_set_fs.\n\t(linux_find_memory_regions_full): Likewise.\n\t(linux_fill_prpsinfo): Likewise.\n\t* solib.c (solib_find_1): Likewise.","distinct":true,"url":"https://api.github.com/repos/gbenson/binutils-gdb/commits/e0d04065205a5047e16302e43c63fbb9b1d22d22"},{"sha":"71d4065e54c7541a5d6b969bc4fa003f2c380109","author":{"email":"4b2bf6639e90c888409e4295b6d0929aef722836@redhat.com","name":"Gary Benson"},"message":"Move make_cleanup_close to common code\n\nThis commit moves the function make_cleanup_close from gdb/utils.[ch]\nto gdb/common/cleanup-utils.[ch] to make it usable from common code.\nA new file was created over putting the function in common-utils.[ch]\nto avoid having to build cleanups.c into the in-process agent.\n\ngdb/ChangeLog:\n\n\t* common/cleanup-utils.h: New file.\n\t* common/cleanup-utils.c: Likewise.\n\t* Makefile.in (SFILES): Add common/cleanup-utils.c.\n\t(HFILES_NO_SRCDIR): Add common/cleanup-utils.h.\n\t(COMMON_OBS): Add cleanup-utils.o.\n\t(cleanup-utils.o): New rule.\n\t* common/common-utils.h (cleanup-utils.h): New include.\n\t* utils.h (make_cleanup_close): Moved to cleanup-utils.h.\n\t* utils.c (do_close_cleanup): Moved to cleanup-utils.c.\n\t(make_cleanup_close): Likewise.\n\ngdb/gdbserver/ChangeLog:\n\n\t* Makefile.in (SFILES): Add common/cleanup-utils.c.\n\t(OBS): Add cleanup-utils.o.\n\t(cleanup-utils.o): New rule.","distinct":true,"url":"https://api.github.com/repos/gbenson/binutils-gdb/commits/71d4065e54c7541a5d6b969bc4fa003f2c380109"},{"sha":"f7057370f66b4759faa645608d3dcab0f47a3f12","author":{"email":"4b2bf6639e90c888409e4295b6d0929aef722836@redhat.com","name":"Gary Benson"},"message":"Introduce nat/linux-namespaces.[ch]\n\nThis commit introduces new shared files nat/linux-namespaces.[ch]\ncontaining code to support Linux namespaces that will be used by\nboth GDB and gdbserver.\n\ngdb/ChangeLog:\n\n\t* configure.ac (AC_CHECK_FUNCS): Add setns.\n\t* config.in: Regenerate.\n\t* configure: Likewise.\n\t* nat/linux-namespaces.h: New file.\n\t* nat/linux-namespaces.c: Likewise.\n\t* Makefile.in (HFILES_NO_SRCDIR): Add nat/linux-namespaces.h.\n\t(linux-namespaces.o): New rule.\n\t* config/aarch64/linux.mh (NATDEPFILES): Add linux-namespaces.o.\n\t* config/alpha/alpha-linux.mh (NATDEPFILES): Likewise.\n\t* config/arm/linux.mh (NATDEPFILES): Likewise.\n\t* config/i386/linux.mh (NATDEPFILES): Likewise.\n\t* config/i386/linux64.mh (NATDEPFILES): Likewise.\n\t* config/ia64/linux.mh (NATDEPFILES): Likewise.\n\t* config/m32r/linux.mh (NATDEPFILES): Likewise.\n\t* config/m68k/linux.mh (NATDEPFILES): Likewise.\n\t* config/mips/linux.mh (NATDEPFILES): Likewise.\n\t* config/pa/linux.mh (NATDEPFILES): Likewise.\n\t* config/powerpc/linux.mh (NATDEPFILES): Likewise.\n\t* config/powerpc/ppc64-linux.mh (NATDEPFILES): Likewise.\n\t* config/powerpc/spu-linux.mh (NATDEPFILES): Likewise.\n\t* config/s390/linux.mh (NATDEPFILES): Likewise.\n\t* config/sparc/linux.mh (NATDEPFILES): Likewise.\n\t* config/sparc/linux64.mh (NATDEPFILES): Likewise.\n\t* config/tilegx/linux.mh (NATDEPFILES): Likewise.\n\t* config/xtensa/linux.mh (NATDEPFILES): Likewise.\n\ngdb/gdbserver/ChangeLog:\n\n\t* configure.ac (AC_CHECK_FUNCS): Add setns.\n\t* config.in: Regenerate.\n\t* configure: Likewise.\n\t* Makefile.in (SFILES): Add nat/linux-namespaces.c.\n\t(linux-namespaces.o): New rule.\n\t* configure.srv (srv_linux_obj): Add linux-namespaces.o.","distinct":true,"url":"https://api.github.com/repos/gbenson/binutils-gdb/commits/f7057370f66b4759faa645608d3dcab0f47a3f12"},{"sha":"8b1bc458c0a23954b6c9ce12e3b27390d7a71fda","author":{"email":"4b2bf6639e90c888409e4295b6d0929aef722836@redhat.com","name":"Gary Benson"},"message":"Remove linux_proc_pid_get_ns\n\nThis commit removes linux_proc_pid_get_ns, and updates its only\nuse to use linux_ns_same instead.\n\ngdb/ChangeLog:\n\n\t* linux-thread-db.c (nat/linux-namespaces.h): New include.\n\t(check_pid_namespace_match): Use linux_ns_same rather than\n\tlinux_proc_pid_get_ns to spot PID namespace mismatches.\n\t* nat/linux-procfs.h (linux_proc_pid_get_ns): Remove.\n\t* nat/linux-procfs.c (linux_proc_pid_get_ns): Likewise.","distinct":true,"url":"https://api.github.com/repos/gbenson/binutils-gdb/commits/8b1bc458c0a23954b6c9ce12e3b27390d7a71fda"},{"sha":"c0e9d2ba51ad1eb35e74baee052632986ba99544","author":{"email":"4b2bf6639e90c888409e4295b6d0929aef722836@redhat.com","name":"Gary Benson"},"message":"Implement multiple-filesystem support for Linux targets\n\nThis commit allows GDB to access executables and shared libraries\non native Linux targets where GDB and the inferior have different\nfilesystem namespaces.\n\ngdb/ChangeLog:\n\n\t* linux-nat.c (fileio.h): New include.\n\t(nat/linux-namespaces.h): Likewise.\n\t(super_fileio_open): New static variable.\n\t(super_fileio_unlink): Likewise.\n\t(super_fileio_readlink): Likewise.\n\t(fs_ns_pid): Likewise.\n\t(linux_nat_fileio_set_fs): New function.\n\t(linux_nat_filesystem_is_local): Likewise.\n\t(linux_nat_enter_fs): Likewise.\n\t(open_closure): New structure.\n\t(linux_nat_fileio_open_1): New function.\n\t(linux_nat_fileio_open): Likewise.\n\t(unlink_closure): New structure.\n\t(linux_nat_fileio_unlink_1): New function.\n\t(linux_nat_fileio_unlink): Likewise.\n\t(linux_nat_add_target): Install new target methods.\n\t(readlink_closure): New structure.\n\t(linux_nat_fileio_readlink_1): New function.\n\t(linux_nat_fileio_readlink): Likewise.","distinct":true,"url":"https://api.github.com/repos/gbenson/binutils-gdb/commits/c0e9d2ba51ad1eb35e74baee052632986ba99544"},{"sha":"73e129d8ce6fcdb70cb9dbb6c6531b1e795cda3e","author":{"email":"4b2bf6639e90c888409e4295b6d0929aef722836@redhat.com","name":"Gary Benson"},"message":"Implement multiple-filesystem support for remote targets\n\nThis commit allows GDB to access executables and shared libraries\non remote targets where the inferior and the remote stub do not\nshare a common filesystem.  A new packet \"vFile:setfs\" is added\nto the remote protocol and the three remote hostio functions with\nfilename arguments are modified to send \"vFile:setfs\" packets as\nnecessary.\n\ngdb/ChangeLog:\n\n\t* remote.c (struct remote_state) <fs_pid>: New field.\n\t(new_remote_state): Initialize the above.\n\t(PACKET_vFile_setfs): New enum value.\n\t(remote_fs_pid): New static variable.\n\t(remote_hostio_set_fs_deferred): New function.\n\t(remote_hostio_set_filesystem): Likewise.\n\t(remote_hostio_open): Call the above.\n\t(remote_hostio_unlink): Likewise.\n\t(remote_hostio_readlink): Likewise.\n\t(init_remote_ops): Initialize to_fileio_set_fs.\n\t(_initialize_remote): Register new \"set/show remote\n\thostio-setfs-packet\" command.\n\t* NEWS: Announce new vFile:setfs packet.\n\ngdb/doc/ChangeLog:\n\n\t* gdb.texinfo (Remote Configuration): Document the\n\t\"set/show remote hostio-setfs-packet\" command.\n\t(Host I/O Packets): Document the vFile:setfs packet.","distinct":true,"url":"https://api.github.com/repos/gbenson/binutils-gdb/commits/73e129d8ce6fcdb70cb9dbb6c6531b1e795cda3e"},{"sha":"61d32ecbdfd282f874d6d8a38dfdb428e74c21b2","author":{"email":"4b2bf6639e90c888409e4295b6d0929aef722836@redhat.com","name":"Gary Benson"},"message":"Implement vFile:setfs in gdbserver\n\nThis commit implements the \"vFile:setfs\" packet in gdbserver.\n\ngdb/gdbserver/ChangeLog:\n\n\t* target.h (struct target_ops) <call_with_fs_of>: New field.\n\t* linux-low.c (nat/linux-namespaces.h): New include.\n\t(linux_low_call_with_fs_of): New function.\n\t* linux-low.c (linux_target_ops): Initialize call_with_fs_of.\n\t* hostio.c (hostio_fs_pid): New static variable.\n\t(handle_setfs): New function.\n\t(enter_filesystem): Likewise.\n\t(open_closure): New structure.\n\t(handle_open_1): New function.\n\t(handle_open): Update to use enter_filesystem.\n\t(unlink_closure): New structure.\n\t(handle_unlink_1): New function.\n\t(handle_unlink): Update to use enter_filesystem.\n\t(readlink_closure): New structure.\n\t(handle_readlink_1): New function.\n\t(handle_readlink): Update to use enter_filesystem.\n\t(handle_vFile): Handle vFile:setfs packets.","distinct":true,"url":"https://api.github.com/repos/gbenson/binutils-gdb/commits/61d32ecbdfd282f874d6d8a38dfdb428e74c21b2"}]}