Hello: I checked the crt0_x.S in the crtx package and find something interesting. In the crt0_x.S the main function is named __main() but not main() normally. But in the normal function we still use main() but not main() i want to know where to address with the symbol __main() by the address of main() in the real application. I look around the crtx package, mk directory and libgendep.so unluckily i don't find it. thanks a lot. Cheng Guanghui
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi Cheng,
sorry, but I don't get your question here. Could you please rephrase your problem?
Kind regards, Bjoern
On Wednesday 09 September 2009 04:00:40 pm you wrote:
Hi Cheng,
sorry, but I don't get your question here. Could you please rephrase your problem?
Thanks for your kind reply. I have resolved this problem. I posted my problem and solution here and it may help others playing with Fiasco.
Now in my application there are two main functions existing at the same time. One main function is for starting this application and this is a real functional main function. But another needs have the name like this : main(int argc, char ** argv) and it is only a function with main name. But normally the main function is as the entry of one application, too. So there is only one not two. So i tried to trace the booting sequence when loading a l4 application and the last mail is only about the __main function in the crt0.S. I trace the code from crt0.s first and find L4 application is started like this: crt0.s -> __main (/home/cheng/tudos/l4/pkg/crtx/lib/src/ARCH-x86/crt0_x.S) This calling happend in the crtx package.
And then __main -> main (/home/cheng/tudos/l4/pkg/l4env/lib/src/startup.c) So i could fix the main name (startup.c) as other name like pmain. So in my application pmain is the first function to be called when running and main function is only a name like other normal function.
That's all. Thanks. Cheng Guanghui
l4-hackers@os.inf.tu-dresden.de