> As a temporary work around I simply redefined SYSBASE to 1GB which means > my modules are all within the 2GB limit. I'm not sure I want to go the > gcc route: I'd rather not introduce another flag etc. Can you think of > why GOT/PLT support within krtld is a bad idea? The effort in Linux is > minimal. The difficulty I see is allocating the GOT/PLT in storage near > to the executable and making sure it's the correct size (e.g. allocate a > page and expand as needed). > > Neale
It's not necessarily a bad idea per se, it's just more code in the linker in the kernel to write. If gcc doesn't have the right codegen options for what you need on this architecture, it should be relatively easy to add in terms of GOT/PLT to the ISA-specific krtld code. The major thing I would do is load-time binding of PLT entries, i.e. unlike userland where the PLT itself jumps into ld.so.1 lazily unless BIND_NOW is specified, you want to resolve all the kernel PLT references before the module load completes. This is needed for simplicity but also so that you don't need any further krtld/DTrace synchronization for code patching. -Mike -- Mike Shapiro, Solaris Kernel Development. blogs.sun.com/mws/ _______________________________________________ opensolaris-code mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/opensolaris-code
