From: groman AT f2s DOT com Newsgroups: comp.os.msdos.djgpp Subject: Runtime entry point change... Possible? Date: Mon, 06 Nov 2000 20:27:31 GMT Organization: Deja.com - Before you buy. Lines: 45 Message-ID: <8u747a$rug$1@nnrp1.deja.com> NNTP-Posting-Host: 199.80.207.2 X-Article-Creation-Date: Mon Nov 06 20:27:31 2000 GMT X-Http-User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) X-Http-Proxy: 1.1 x71.deja.com:80 (Squid/1.1.22) for client 199.80.207.2 X-MyDeja-Info: XMYDJUIDgroman To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Hello, I am using DJGPP to write a small exokernel for i386(a hobby OS if you say). Well it's been monolithic up to now, but now I want to make it exo(or micro). I split it up in modules and managed to get GNU GRUB to load them. I want to simplify intermodule communication and execution, so I am wondering if there is a way to declare procedure so that I can change it's physical address entry point later at runtime. Is that possible. e.g. two ELF binaries loaded in the same address space. ELF1: void FunctionPrint(void) { DummyCode; // Never get's executed. } void main(void) { // Begin pseudocode Assign(FunctionPrint, GetELF2FuncPrintEntry()); FunctionPrint(); // Executes the function print from ELF2 // End pseudocode // Is this possible with DJGPP? Assuming I have GetELF2FuncPrintEntry } ELF2: void FunctionPrint(void) { Print; // Get's executed from ELF1 } ///// Is this possible? Or do I have to use inline assembly functions?(I don't mind, just, it would make me look bad if it's possible with DJGPP). Thank you very much in advance. Sent via Deja.com http://www.deja.com/ Before you buy.