Thanks Vojteck, i have solved the problem by splitting symtab.h, as per your suggestion. I am attaching a full patch for this ticket, it is over revision no. 1534. Please review it and let me know if there is any space for improvement :)
On Fri, Jun 29, 2012 at 12:38 PM, Vojtech Horky <[email protected]> wrote: > > Hello Sandeep Kumar, > sorry for replying so late. I hope you are still with us :-). > > 2012/6/10 Sandeep Ruhil <[email protected]>: > > Hey, > > > > I am encountering a small problem in working on second point of this ticket. > > > > I need an object of indev_t inside the function symtab_compl of file > > kernel/generic/src/debug/symtab.c but when i include the header file > > <console/chardev.h> (containing the definition of indev_t) in the file > > kernel/generic/include/symtab.h (containing the prototype of symtab_compl > > function), i get the following compilation error : > > > > In file included from generic/include/console/chardev.h:40:0, > > from generic/include/symtab.h:39, > > from generic/include/debug.h:39, > > from generic/include/synch/spinlock.h:42, > > from generic/include/proc/scheduler.h:38, > > from arch/ia32/src/proc/scheduler.c:35: > > generic/include/synch/waitq.h:56:2: error: expected specifier-qualifier-list > > before 'IRQ_SPINLOCK_DECLARE' > > > > When i inspected the reason, it turned out that : > > spinlock.h includes debug.h > > debug.h includes symtab.h > > symtab.h includes chardev.h (my include) > > chardev.h includes waitq.h > > waitq.h uses IRQ_SPINLOCK_DECLARE, which is declared in spinlock.h but > > spinlock.h is not fully included as the compiler is following an inclusion > > of spinlock.h file and hence compiler cannot find the definition of > > IRQ_SPINLOCK_DECLARE macro. > > > > What can i do to resolve this error? > I would go for splitting the symtab.h into two files. Keep the lookup > functionality in one and move printing functions (symtab_print_search > and symtab_compl) to another one. > > This would not break any files except those under console/*.c so it > shall be pretty painless. The only problem is that these functions > require the symtab_search_one() function that is private (i.e. static) > to symtab.c. But I think that it is okay to make this function public > and move it to symtab.h. > > Hope this helps. > > Regards, > - Vojta > > > > > > > > -- > > Regards, > > Sandeep Kumar > > > > > > _______________________________________________ > > HelenOS-devel mailing list > > [email protected] > > http://lists.modry.cz/cgi-bin/listinfo/helenos-devel > > > > _______________________________________________ > HelenOS-devel mailing list > [email protected] > http://lists.modry.cz/cgi-bin/listinfo/helenos-devel -- Regards, Sandeep Kumar
ticket50.diff
Description: Binary data
_______________________________________________ HelenOS-devel mailing list [email protected] http://lists.modry.cz/cgi-bin/listinfo/helenos-devel
