ia64 unwind section: Loader implementation
Cherry George Mathew <[email protected]> Fri, 30 Dec 2005 13:05:36 +0530
| Newsgroups | gmane.os.netbsd.ports.ia64,gmane.os.netbsd.devel.ports,gmane.os.netbsd.devel.toolchain,gmane.os.netbsd.devel.kernel |
|---|---|
| Message-ID | <[email protected]> |
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