Re: [PATCH v3] Make only user-specified executable and symbol filenames sticky

Gary Benson
2015-07-03T11:01:42Z

Philippe Waroquiers wrote:
> On Mon, 2015-06-08 at 10:01 +0100, Gary Benson wrote:
> > This updated patch has been created against the latest gdb/master
> > (80fb91378c91a8239817a5ab2b1c3e346109db25). Could you please try
> > your tests again?
>
> First test with 'native' attach/detach/attach/detach/attach is
> working ok.
> However, the behaviour of the 3rd attach differs: a question
> is asked, that is answered automatically as yes (for EOF).
> So that is strange.
> GNU gdb (GDB) 7.9.50.20150608-cvs
> ...
> Type "apropos word" to search for commands related to "word".
> (gdb) atta 13286
> Attaching to process 13286
> Reading symbols from /bin/sleep...(no debugging symbols found)...done.
> Reading symbols from /lib/x86_64-linux-gnu/libc.so.6...(no debugging symbols found)...done.
> Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done.
> 0x00007f3c5bb06f20 in nanosleep () from /lib/x86_64-linux-gnu/libc.so.6
> (gdb) detach
> Detaching from program: /bin/sleep, process 13286
> (gdb) atta 13320
> Attaching to program: /bin/sleep, process 13320
> Reading symbols from /home/philippe/valgrind/trunk_untouched/gdbserver_tests/sleepers...done.
> Reading symbols from /lib/x86_64-linux-gnu/libpthread.so.0...(no debugging symbols found)...done.
> [New LWP 13323]
> [New LWP 13322]
> [New LWP 13321]
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
> Reading symbols from /lib/x86_64-linux-gnu/libc.so.6...(no debugging symbols found)...done.
> Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done.
> 0x00007f5f538e1da3 in select () from /lib/x86_64-linux-gnu/libc.so.6
> (gdb) detach
> Detaching from program: /home/philippe/valgrind/trunk_untouched/gdbserver_tests/sleepers, process 13320
> (gdb) atta 13286
> Attaching to program: /home/philippe/valgrind/trunk_untouched/gdbserver_tests/sleepers, process 13286
> Load new symbol table from "/bin/sleep"? (y or n) EOF [assumed Y]
> Reading symbols from /bin/sleep...(no debugging symbols found)...done.
> Reading symbols from /lib/x86_64-linux-gnu/libc.so.6...(no debugging symbols found)...done.
> Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done.
> 0x00007f3c5bb06f20 in nanosleep () from /lib/x86_64-linux-gnu/libc.so.6
> (gdb)

I don't see the question:

GNU gdb (GDB) 7.9.50.20150703-cvs
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
(gdb) atta 15450
Attaching to process 15450
Reading symbols from /bin/sleep...(no debugging symbols found)...done.
Reading symbols from /lib64/libc.so.6...warning: the debug information found in "/usr/lib/debug//lib64/libc-2.12.so.debug" does not match "/lib64/libc.so.6" (CRC mismatch).
(no debugging symbols found)...done.
Reading symbols from /lib64/ld-linux-x86-64.so.2...Reading symbols from /usr/lib/debug/lib64/ld-2.12.so.debug...warning: Skipping deprecated .gdb_index section in /usr/lib/debug/lib64/ld-2.12.so.debug.
Do "set use-deprecated-index-sections on" before the file is read
to use the section anyway.
done.
done.
0x00000039b54aca20 in __nanosleep_nocancel () from /lib64/libc.so.6
(gdb) detach
Detaching from program: /bin/sleep, process 15450
(gdb) atta 15465
Attaching to program: /bin/sleep, process 15465
Reading symbols from /bin/sleep...(no debugging symbols found)...done.
Reading symbols from /lib64/libc.so.6...warning: the debug information found in "/usr/lib/debug//lib64/libc-2.12.so.debug" does not match "/lib64/libc.so.6" (CRC mismatch).
(no debugging symbols found)...done.
Reading symbols from /lib64/ld-linux-x86-64.so.2...Reading symbols from /usr/lib/debug/lib64/ld-2.12.so.debug...done.
done.
0x00000039b54aca20 in __nanosleep_nocancel () from /lib64/libc.so.6
(gdb) detach
Detaching from program: /bin/sleep, process 15465
(gdb) atta 15450
Attaching to program: /bin/sleep, process 15450
Reading symbols from /bin/sleep...(no debugging symbols found)...done.
Reading symbols from /lib64/libc.so.6...warning: the debug information found in "/usr/lib/debug//lib64/libc-2.12.so.debug" does not match "/lib64/libc.so.6" (CRC mismatch).
(no debugging symbols found)...done.
Reading symbols from /lib64/ld-linux-x86-64.so.2...Reading symbols from /usr/lib/debug/lib64/ld-2.12.so.debug...done.
done.
0x00000039b54aca20 in __nanosleep_nocancel () from /lib64/libc.so.6
(gdb)

I did notice that if you do the second or third attach without a
detach GDB asks "A program is being debugged already. Kill it?"
That's not what I'd expect (I'd expect GDB to offer to detach).
But that's a separate issue...

Joel, should I commit this patch? FAOD it's
https://sourceware.org/ml/gdb-patches/2015-06/msg00110.html

Thanks,
Gary

--