xptcall Porting Status

##
xptcall Porting Status

### What is this?

This is a status page for the multiplatform porting of xptcall. xptcall has a FAQ and a Porting Guide.

This is being maintained by John Bandhauer <jband@netscape.com>. Feel free to email me with questions or to volunteer to contribute xptcall code for any platform.

### Status

Status | Platform | Contributors and ? Possible Contributors | Notes
--- | --- | --- | ---
Done | Win32 x86 | John Bandhauer <jband@netscape.com> | win32
Done | Linux x86 | John Bandhauer <jband@netscape.com> | unix (could be better without inline asm overhead)
Done | FreeBSD and NetBSD x86 | Christoph Toshok <toshok@hungry.com>, John Bandhauer <jband@netscape.com> | unix (same as Linux 86 code)
Done | BSD/OS x86 | Bert Driehuis <bert_driehuis@nl.compuware.com> | unix (same as Linux 86 code) Bert contributed patches that *should* do the right thing for all the unixish-x86 versions of this code for GCC 2.7 or 2.8 vs. EGCS 1.1. He notes that the vtbl scheme is different. He is hoping that others will help test the changes using these two compilers on the various platforms where this same code is used. Bert's details
Done | Mac PPC | Roger Lawrence <rogerl@netscape.com>, Patrick Beard <beard@netscape.com> | mac (passing tests and checked in)
Done | Solaris Sparc | Roger Lawrence <rogerl@netscape.com>, Chris McAfee <mcafee@netscape.com> | unix This is checked in and working.
Coded | OS/2 | John Fairhurst <mjf35@cam.ac.uk> | Henry Sobotka <sobotka@axess.com> wrote: This is just to let you know that John Fairhurst's port of xptcinvoke and xptcstubs for our emx+gcc and pgcc builds has been done since March 27th (based on the timestamps of the two *_emx files in my copy of md/os2). While I haven't tested it yet (just started working through build breaks that occur with ENABLE_TESTS on), knowing John, I expect he has. Don't know what the status of the port is for our VAC++ build. John?
Done | OpenVMS Alpha | Colin R. Blake <colin@theblakes.com> | Colin says this is passing all the tests on OpenVMS Alpha!
Done | NT Alpha | bob meader <bob@guiduck.com> | bob writes: Enclosed is xptcall for alpha/nt target.. It is a variation of the IRIS port (only targeted for win32). Notice the last 2 files (the change to mozilla\xpcom\build\makefile.win and mozilla\xpcom\build) are needed because I was unable to figure how to do a "declspecexport" from the assembler ASAXP ... if some knows how to do that then those last 2 files won't be needed. I have had someone look over this code at bridge.com (the entry point to compaq/gem compiler team) and this code was given the OK. I consider it "done". This code lives in the files where the name includes 'alpha' in the win32 directory.
Done | Linux ARM | Stefan Hanske<sh990154@mail.uni-greifswald.de> ? Matthew Wilcox <willy@bofh.ai> | Stefan's code is checked in and he says it is working.
Done | Linux Sparc | Anton Blanchard <anton@progsoc.uts.edu.au>, Roger Lawrence <rogerl@netscape.com>, Brandon Ehle <ehle.3@osu.edu> | Anton contributed patches to Roger's Sparc code. Anton says it works and passes the tests! (24-Aug-1999) Brandon writes: I've finished testing XPTCALL Sparc Linux on 12 different Sparc machines and it checks out good.
HELP! | Linux PPC | ? Jason Y. Sproul <jsproul@condor.fddi.wesleyan.edu> ? Sean Chitwood <darkmane@w-link.net> | Mac PPC code ought to be a very good starting point
Working | Linux Alpha | Glen Nakamura <glen.nakamura@usa.net> Dan Morril <morrildl@nycap.rr.com> | Glen writes: I am attaching a patch which contains my Linux Alpha xptcall code. It passes TestXPTCInvoke and TestXPC on my machine which runs kernel 2.2.7, glibc 2.1.1, and egcs 1.1.2. I have not tested it with older GNU compilers such as gcc 2.8.x. From looking at the Linux x86 code, I gather that the vtable layout is a little different for those compilers and the code will need minor modifications in order to work properly. I am not sure how much of the code can be used for OpenVMS Alpha and/or Digital UNIX. Currently the code is dependent on the g++ name mangling convention and a few GNU extensions so I'm not sure how useful it will be for the other systems. Hopefully the comments in the code are detailed enough to help people attempting a port.
HELP! | SunOS x86 | ? Philip Pokorny <ppokorny@mindspring.com> | -
Done | HP-UX | Thomas Wang <wang@cup.hp.com> Mike Gleeson <mgleeson1@netscape.com> | I hear that this code is checked in and working!
Working | AIX PPC | Jim Dunn <jdunn@netscape.com> | Jim writes: I have checked in the AIX PPC code for xptcall xpcom/reflect/xptcall/src/md/unix. I have tested it on both the AIX 4.2 & 4.3.2 and TestXPTCInvoke runs on both. I haven't verified is the 'stubs' code is working... I need a test for that... but eventually I will verify.
Done | Irix | Jason Heirtzler <jasonh@m7.engr.sgi.com> | Jason has declared this done!
Done | BeOS x86 | Duncan Wilcox <duncan@be.com> | unix (yet another reuse of the Linux 86 code!) Duncan says this is all working. He did the code for old cfront style 'this' adjustment for others to use too!
HELP! | BeOS PPC | - | -
Investigating | Compaq Tru64 UNIX (Digital UNIX) | Steve Streeter <streeter@zk3.dec.com> | -
Working | Neutrio x86 | Jerry L. Kirk <Jerry.Kirk@Nexwarecorp.com> | Patches for xptc*_unixish_x86.cpp checked in. Waiting for verification that this is really finished.
Investigating | SCO UW7 and OSR5 | Evan Hunt <evanh@sco.com> Cynthia Hertzer <chertzer@sco.com> | -
Works | NetBSD/m68k | Dave Huang <khym@bga.com> | Dave's changes are in the tree. Waiting for verification that it is really finished.
HELP! | All others! | - | -

Note: I've used the symbol (?) to indicate people who have expressed an interest in possibly contributing code. Just because these people are listed here does not mean that they have commited themselves to do the work. If you would like to contribute then let me know. Feel free to email these folks and offer to help or find out what's going on. We're all in this together.

Author: John Bandhauer <jband@netscape.com>
Last modified: 14 June 1999