qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] .gdbinit: load QEMU sub-commands when gdb start


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCH] .gdbinit: load QEMU sub-commands when gdb starts
Date: Tue, 16 May 2017 11:45:56 +0100
User-agent: Mutt/1.8.0 (2017-02-23)

On Mon, May 15, 2017 at 03:17:28PM +0100, Alex Bennée wrote:
> 
> Stefan Hajnoczi <address@hidden> 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 <address@hidden>
> > Signed-off-by: Stefan Hajnoczi <address@hidden>
> > ---
> >  .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).

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]