To be fair there isn't a nice library for it on x86-64. There
is libunwind on IA64, but afaik nobody ported it to x86-64 yet.
Just various projects have their own private unwind
implementation. The kernel including KDB has always lived with
imprecise backtraces and no argument printing. I don't think it has
been a show stopper so far. If you really want the arguments you can
always use kgdb.
However I'm not sure we really want libunwind in the kernel anyways
(not even in KDB ;-) If anything better something stripped down and simple which libunwind isn't.
Unfortunately dwarf2 is not exactly a simple spec so implementing
a new backtracer for the kernel is not a trivial task.