Subject: ia64 stack unwind.
To: None <tech-kern@netbsd.org>
From: Cherry George Mathew <cherry@sdf.lonestar.org>
List: port-ia64
Date: 12/27/2005 20:17:10
Hi,

I'm trying to implement DDB's db_stack_trace_print() for ia64 with some
basic functionality ( like a call tracing for a start ). This really
doesn't require all of the stack unwind stuff, because I'm trying to add
support just for the kernel at the moment, and kernel call stacks are
really quite simple ( because we don't pass tremendous numbers of
arguments to functions within the kernel, and, we don't do floating
point stuff within the kernel ( am I right ? ) ).

FreeBSD uses  HP licensed code ( see
http://fxr.watson.org/fxr/source/contrib/ia64/libuwx/src/uwx.h )

So here's what I'm asking:

Would it be ok to carefully sync with the gcc version distributed with
NetBSD source and implement a slightly non-conformant ( to the IA64
run-time spec document ) but embarassingly simple stack unwind method
( very similar to how the  hppa port does this ), 

OR,

Should I just pull in HP's unwind library code just as FreeBSD

until we have our own BSD licensed unwind library in place ? 

Thanks for any comments,

Cherry.