From mboxrd@z Thu Jan 1 00:00:00 1970 To: 9fans@cse.psu.edu Subject: Re: [9fans] dhog the corruptor! In-Reply-To: Your message of "Tue, 13 Nov 2001 18:04:46 EST." <20011113230455.25131199B9@mail.cse.psu.edu> From: Quinn Dunkan Message-Id: <20011113232842.C7CAC9C404@barf.ugcs.caltech.edu> Date: Tue, 13 Nov 2001 15:28:37 -0800 Topicbox-Message-UUID: 21bd9090-eaca-11e9-9e20-41e7f4b1d025 > Brucee's implementation just patches the call to point to the > correct destination. You don't have to walk any machine code. > The (modified) linker emits a known call instruction, and relocation > information which says where it is and what symbol to patch > it with. Symbol lookup is done in a highly controlled way. This is just for kernel drivers, right? While plan9's non-support of dynamic linking for arbitrary C programs works just fine, it doesn't seem to work so well for languages that only load libraries at run time, such as python or perl (or limbo?). If the linker can write relocation information, would that make it easier to write a dlopen()-like function?