> 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

Reply via email to