This is the mail archive of the gdb@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: Linux Kernel GDB tracepoint module 2010-8-30 release


On Sat, 2010-09-04 at 17:17 +0800, Hui Zhu wrote:
> On Sat, Sep 4, 2010 at 16:56, Steven <mqyoung@gmail.com> wrote:
> > On Sat, 2010-09-04 at 11:41 +0800, Hui Zhu wrote:
> >> BTW, looks GCC and GDB don't want handle the optimization debug
> >> trouble (all they want is rewrite the GCC in C++ :P).
> >> So I think make linux kernel can close optimization is better idea, do
> >> you know some way or some patch to do it?
> >>
> >
> > Just disable CONFIG_CC_OPTIMIZE_FOR_SIZE and modify the Makefile of
> > kernel:
> > KBUILD_CFLAGS   += -O2
> > to
> > KBUILD_CFLAGS   += -O0
> 
> Cool,  :)
> 
> I try just change the compile option of readdir.c to without -O2, it
> works OK.  I think maybe it's a GDB bug too.
> Could you try the second issue with gdb 7.2?

I have covered the two issues in the previous mail that I could collect
both global variables and locals(-O0 kernel + gdb7.2):

        --------
        (gdb) trace vfs_readdir 
        Tracepoint 3 at 0xc11756a0: file fs/readdir.c, line 24.
        (gdb) actions 
        Enter actions for tracepoint 3, one per line.
        End with a line saying just "end".
        >collect *file
        >end
        (gdb) trace fs/readdir.c:29
        Tracepoint 4 at 0xc11756ca: file fs/readdir.c, line 29.
        (gdb) actions 
        Enter actions for tracepoint 4, one per line.
        End with a line saying just "end".
        >collect res
        >end
        (gdb) tstart
        (gdb) tstop
        (gdb) tfind
        Found trace frame 0, tracepoint 3
        #0  0xc11756a1 in vfs_readdir (file=0xc7b2cf00, filler=0,
        buf=0x0)
            at fs/readdir.c:24
        24              struct inode *inode =
        file->f_path.dentry->d_inode;
        (gdb) p *file
        $4 = {f_u = {fu_list = {next = 0xc6dca500, prev = 0xc7ade480},
        fu_rcuhead = {
              next = 0xc6dca500, func = 0xc7ade480}}, f_path = {mnt =
        0xc6c05300, 
            dentry = 0xc761d440}, f_op = 0xc1709a20, f_lock = {{rlock =
        {raw_lock = {
                  slock = 0}}}}, f_count = {counter = 2}, f_flags =
        624640, 
          f_mode = 29, f_pos = 0, f_owner = {lock = {raw_lock = {lock =
        16777216}}, 
           = 0start = 0, size = 0, async_size = 0, 
            ra_pages = 32, mmap_miss = 0, prev_pos = -1}, f_version =
        0, 
          f_security = 0xc7b30120, private_data = 0x0, f_ep_links = {
            next = 0xc7b2cf74, prev = 0xc7b2cf74}, f_mapping =
        0xc761c74c}
        (gdb) p res
        $5 = 0
        (gdb) tfind
        Found trace frame 1, tracepoint 4
        0xc11756cb      29              res =
        security_file_permission(file, MAY_READ);
        (gdb) p res
        $6 = -20
        --------



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