This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v3 3/3] btrace, vdso: add vdso target sections


On 05/29/2014 05:54 PM, Pedro Alves wrote:
> Hi Markus,
> 
> On 05/21/2014 08:01 AM, Markus Metzger wrote:
>> When loading symbols for the vdso, also add its sections to target_sections.
>>
>> This fixes an issue with record btrace where vdso instructions could not be
>> disassembled during replay.
>>
>> 2014-05-21  Markus Metzger  <markus.t.metzger@intel.com>
>>
>> 	* symfile-mem.c (symbol_file_add_from_memory): Add BFD sections.
> 
> Unfortunately this caused regressions in break-interp.exp:
> 
>  Running ../../../src/gdb/testsuite/gdb.base/break-interp.exp ...
>  ERROR: Process no longer exists
> 
> That is GDB crashing.
> 
> 589fdceb99db9868e34bc976b7e234dbfaf327e2 is the first bad commit
> commit 589fdceb99db9868e34bc976b7e234dbfaf327e2
> Author: Markus Metzger <markus.t.metzger@intel.com>
> Date:   Wed Apr 2 09:54:11 2014 +0200
> 
>     btrace, vdso: add vdso target sections
> 
>     When loading symbols for the vdso, also add its sections to target_sections.
> 
>     This fixes an issue with record btrace where vdso instructions could not be
>     disassembled during replay.
> 
>         * symfile-mem.c (symbol_file_add_from_memory): Add BFD sections.
> 
>     testsuite/
>         * gdb.btrace/vdso.c: New.
>         * gdb.btrace/vdso.exp: New.
> 
> 
> Core was generated by `/home/pedro/gdb/mygit/build/gdb/testsuite/../../gdb/gdb -nw -nx -data-directory'.
> Program terminated with signal SIGSEGV, Segmentation fault.
> #0  0x0000000000647bce in exec_set_section_address (filename=0x27bb1f0 "/home/pedro/gdb/mygit/build/gdb/testsuite/gdb.base/break-interp-LDprelinkNOdebugNO", index=0,
>     address=139930618982856) at ../../src/gdb/exec.c:919
> 919           if (filename_cmp (filename, p->the_bfd_section->owner->filename) == 0

'p', a target section, points at garbage.

Hmm, wait, nothing is removing the vdso symbols target sections, like ever,
not even when the process dies, isn't it?  I guess that's it.

-- 
Pedro Alves


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]