ncc KEYS ======== Some times, it is useful to pass additional information to the ncc output. For example resolving handlers or providing the call flow of assembly code. This can be done with the -nckey option. With this option ncc will scan the string literals of the source file for the ones starting with "ncc-key" and print everything the rest of this string to the output. An example, in linux kernel, every one jiffie, the do_timers() is called which marks the timers bottom half handler active. Then, the next time the scheduler will run, it will run do_bottom_half(). do_bottom_half() will then call timer_bh() which will call update_times(), etc. Here is the text resolving that and adding it to the ncc output nicely for nccnav format. /* somewhere inside sched.c .... */ #ifdef __NCC__ char some_unused_name [] = "ncc-key" " D: do_bottom_half() F: timer_bh() "; #endif ------ keys can have names. For instance, -nckey-special-assembly-output-3D will search for the strings starting with: "ncc-key-special-assembly-output-3D" ----- This feature is a bit irrelevant with the compiler and on the other hand can be greatly improved. We keep it as a "hack" to join manually nodes in the call flow graph.