Subject: ia64 unwind section: Loader implementation
To: None <tech-ports@netbsd.org>
From: Cherry George Mathew <cherry@sdf.lonestar.org>
List: tech-kern
Date: 12/30/2005 13:05:36
Hello,

I'm thinking of various clean ways to get .IA_64.unwind sections loaded
into memory at boot.

These sections are essential for stack unwinding, which is used to
implement the 'trace' command in DDB.

a) Add a #ifdef within lib/libsa/loadfile_elf32.c
b) Hack the kernel linker script to be part of a PT_LOAD ed segment.
c) Use something similar to sys/dev/kloader.c

a) Adds a line of ugliness within MI code. On the other hand, its quick
and easy
b) This is a hack which breaks the ia64 ABI suppliment spec, and I don't
like that very much.But it doesn't require any modification to NetBSD
bootloader code.
c) Slightly more involved, and uses kern/vfs_vnode.c: vn_rdrw() etc.
which I'm not very happy about ( I'd like the DDB backend to be as
isolated from the rest of the kernel as possible )

There was a similar thread about .stab section on tech-kern in 2000.
See: http://mail-index.netbsd.org/tech-kern/2000/07/25/0000.html

I assume the loader stuff was MD at that point and was later cleaned up
and made MI.

Thanks for any pointers on this one.

Cherry