On Mon, May 15, 2017 at 03:17:28PM +0100, Alex Bennée wrote: > > Stefan Hajnoczi <stefa...@redhat.com> writes: > > > The scripts/qemu-gdb.py file is not easily discoverable. Add a .gdbinit > > file so GDB either loads qemu-gdb.py automatically or prints a message > > informing the user how to enable them (some systems disable ./.gdbinit > > loading for security reasons). > > > > Suggested-by: Eric Blake <ebl...@redhat.com> > > Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> > > --- > > .gdbinit | 8 ++++++++ > > 1 file changed, 8 insertions(+) > > create mode 100644 .gdbinit > > > > diff --git a/.gdbinit b/.gdbinit > > new file mode 100644 > > index 0000000..9d322fc > > --- /dev/null > > +++ b/.gdbinit > > @@ -0,0 +1,8 @@ > > +# GDB may have ./.gdbinit loading disabled by default. In that case you > > can > > +# follow the instructions it prints. They boil down to adding the > > following to > > +# your home directory's ~/.gdbinit file: > > +# > > +# add-auto-load-safe-path /path/to/qemu/.gdbinit > > + > > +# Load QEMU-specific sub-commands and settings > > +source scripts/qemu-gdb.py > > While this works well enough you might as well just comment the helper > script itself.
People don't know scripts/qemu-gdb.py exists so adding a comment there doesn't help. > Would this script take precedence over a users ~/.gdbinit? All gdbinit files are loaded. The order in which they are loaded is: 1. System-wide 2. Home directory 3. Current directory https://sourceware.org/gdb/onlinedocs/gdb/Startup.html#Startup > How would it work for out-of-tree builds? ./.gdbinit assumes your current working directory is the root of the QEMU source tree. If gdb is launched outside this directory then nothing will happen (e.g. from arm-softmmu/ or from an out-of-tree build). I'm not sure if there is a simple way of making ./.gdbinit work from out-of-tree build directories. > GDB does have a mechanism for autoloading extensions by way of adding > ELF sections: > > > https://sourceware.org/gdb/current/onlinedocs/gdb/dotdebug_005fgdb_005fscripts-section.html#dotdebug_005fgdb_005fscripts-section Hmm...this still requires the user to configure auto-load safe paths and it hardcodes a path into the QEMU binary (execute in-place vs make install generally wouldn't work with the same binary).
signature.asc
Description: PGP signature