Mail Archives: djgpp/2000/11/06/16:00:20
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.
- Raw text -