david@actsn.fay.ar.us (David Summers) (04/15/90)
Well, thanks to Glenn Geers at the University of Sydney (glenn@extro.ucc.su.oz.au) I got some Binaries for GCC under Xenix 386 last night (via FTP)! From what little I've played with it, it seems to actually generate 8086 OMF (?) compatible object code that the regular Xenix 386 ld program can link. Hooray! This is what I've been waiting for! Now comes the interesting part. Can anyone tell me what the system calling conventions are for Xenix 386 (or 286 for that matter (I assume they are the same)). Since I have only the 286 Software Developement System I can't link the 386 code that GCC produces into the SDS libraries. I am more than willing to buckle down and produce my own GCC compiled system libraries if someone can just tell me what the calling convention(s) is. I'm not talking about calling (for example) the 'read' routine, but actually the calling sequence (probably best stated in assembly language) that the normal 'read' (or any) routine uses to interface with (call) the Xenix 386 OS. For example, I've used 'adb' to trace through some 'system' calls such as 'stat', and noticed that for one thing, the calling routine seems to put it's own address into a variable called '__Syspc' (I hope I got it right) and save some registers and load some registers from the stack and then 'call far 0x7:0x0' or something similar to that. That's the kind of info. I need. If someone could post or email that then I would be happy to use that info. to generate my own libraries and then I would be able to re-compile GCC myself and boot-strap GCC and away we go! Or has all this rambling I've talked about already been done? Pointers please! I DO have FTP capability. Also, I am willing to make what I've obtained available to anyone via anonymous FTP to our BBS at uafcseg.uark.edu (130.184.64.202) if there are any requests for it. You can also call our BBS at (501) 575-7280 or telnet and login as 'bbs'. Also, do I need to be able to run 'ranlib' on archive libraries just like normal? I tried it using the GCC produced .o files which were stuffed into a library using the normal Xenix 'ar' command and 'ranlib' didn't like one or more of the entries in the .o file. Help? Thanks alot! - David Summers (The Happy GCC Hacker) -- David Summers "Be Original! Drink Dr. Pepper like everyone else!" (David.Summers@actsn.fay.ar.us)