|
|
|
Re: Reduced call graph | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
Hi,
On Fri, Nov 18, 2011 at 5:12 AM, Christopher Li <sparse@xxxxxxxxxxx> wrote:
> In order to find out all the call graphs, you need to at least run
> very file in sparse. Then for each function, after linearization, you
> can find out all the "call" instruction. A easier but not so precise
> way is examine the "access" list in the entry point. That will
> include every symbol rather than just function called.
>
> e.g.
>
> struct entrypoint *ep;
> pseudo_t p;
>
> expand_symbol(sym);
> ep = linearize_symbol(sym);
>
> FOR_EACH_PTR(ep->accesses, p) {
> printf(" pseudo: %p type %d %s\n", p, p->type, show_pseudo(p));
> } END_FOR_EACH_PTR(p);
>
> You just filter out the non-function symbols. However you need to write
> some code to do that recursively.
Thanks. Can I trace function callbacks too? I think it involves
keeping track of callbacks until they are called..
--
Duy
--
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Newbies FAQ] [Kernel List] [Site Home] [IETF Annouce] [DCCP] [Netdev] [Networking] [Security] [Bugtraq] [Photo] [Yosemite] [MIPS Linux] [ARM Linux] [Linux Security] [Linux RAID] [Linux SCSI] [DDR & Rambus] [Trinity Fuzzer Tool]