Port-ia64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

ia64 unwind section: Loader implementation


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.


Home | Main Index | Thread Index | Old Index