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.

Mike Shaver <shaver@mozilla.org> is the best contact regarding 'nix (Unix, Linux, Finux, etc.) ports of xptcall.

Status

Status Platform Contributors and <font color="red">?</font> Possible Contributors Notes
<font color="white">Done</font> Win32 x86 Contributed code! John Bandhauer <jband@netscape.com> win32
<font color="white">Done</font> Linux x86 Contributed code! John Bandhauer <jband@netscape.com>
Contributed code! Ulrich Drepper <drepper@cygnus.com>
unix
<font color="white">Done</font> FreeBSD and NetBSD x86 Contributed code! Christoph Toshok <toshok@hungry.com>,
Contributed code! John Bandhauer <jband@netscape.com>
unix (same as Linux 86 code)
<font color="white">Done</font> BSD/OS x86 Contributed code! 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
<font color="white">Done</font> Mac PPC Contributed code! Roger Lawrence <rogerl@netscape.com>,
Contributed code! Patrick Beard <beard@netscape.com>
mac (passing tests and checked in)
<font color="white">Done</font> Solaris Sparc Contributed code! Roger Lawrence <rogerl@netscape.com>,
Contributed code! Chris McAfee <mcafee@netscape.com>
unix This is checked in and working.
<font color="white">Done</font> Solaris Sparc v9 (64bit) Contributed code! Stuart Parmenter <pavlov@netscape.com>,
Contributed code! Chris Seawood <cls@seawood.org>
unix This is checked in and (pavlov claims!) working.
<font color="white">Done</font> OS/2 Contributed code! John Fairhurst <mjf35@cam.ac.uk> I never heard exactly who did what. But mozilla has been working on OS/2 for a long time now.
<font color="white">Done</font> OpenVMS Alpha Contributed code! Colin R. Blake <colin@theblakes.com> Colin says this is passing all the tests on OpenVMS Alpha!
<font color="white">Done</font> NT Alpha Contributed code! 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.

<font color="white">Done</font> Linux ARM Started Stefan Hanske<sh990154@mail.uni-greifswald.de>
<font color="red">?</font> Matthew Wilcox <willy@bofh.ai>
Stefan's code is checked in and he says it is working.
<font color="white">Done</font> Linux Sparc Contributed code! Anton Blanchard <anton@progsoc.uts.edu.au>,
Contributed code! Roger Lawrence <rogerl@netscape.com>,
Maybe 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.
<font color="white">Done</font> Linux PPC Contributed code! Patrick Beard <beard@netscape.com>
Contributed code! Chris Waterson <waterson@netscape.com>
Contributed code! Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
<font color="red">?</font> Jason Y. Sproul <jsproul@condor.fddi.wesleyan.edu>
<font color="red">?</font> Sean Chitwood <darkmane@w-link.net>
waterson said: Mozilla runs on Linux/PPC
<font color="white">Done</font> Linux Alpha Contributed code! Glen Nakamura <glen.nakamura@usa.net>
Contributed code! 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.

<font color="white">Done</font> SunOS x86 Contributed code! Arthur Jones <aljones@lbl.gov>
<font color="red">?</font> Philip Pokorny <ppokorny@mindspring.com>
The word I hear is that this is working and done
<font color="white">Done</font> HP-UX Contributed code! Thomas Wang <wang@cup.hp.com>
Contributed code! Mike Gleeson <mgleeson1@netscape.com>
I hear that this code is checked in and working. Though, there is some doubt - see bug #17997
<font color="white">Done</font> AIX PPC Contributed code! Jim Dunn <jdunn@netscape.com> Philip K. Warren writes:
We have gone through several releases of AIX without any problems.
<font color="white">Done</font> Irix Contributed code! Jason Heirtzler <jasonh@m7.engr.sgi.com> Jason has declared this done. Jason is no longer working at SGI and will not be maintaining this code. There is some doubt as to whether or not this is working for everyone - see bug #10061. Mike Shaver <shaver@mozilla.org> is the interim maintainer until someone more suitable can be found.
<font color="white">Done</font> BeOS x86 Contributed code! 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!
<font color="white">HELP!</font> BeOS PPC - -
<font color="white">Done</font> Compaq Tru64 UNIX (Digital UNIX) Contributed code! Steve Streeter <streeter@zk3.dec.com> Code passes the tests and is checked in.
<font color="black">Working</font> Neutrio x86 Contributed code! Jerry L. Kirk <Jerry.Kirk@Nexwarecorp.com> Patches for xptc*_unixish_x86.cpp checked in. Waiting for verification that this is really finished.
<font color="black">Investigating</font> SCO UW7 and OSR5 Investigating J. Kean Johnston <jkj@sco.com>
Investigating Evan Hunt <evanh@sco.com>
Recent (Feb-2001) email from jkj@sco.com suggests that work will be occuring soon.
<font color="black">Works</font> NetBSD/m68k Contributed code! Dave Huang <khym@bga.com> Dave's changes are in the tree. Waiting for verification that it is really finished.
<font color="black">Partially Working</font> NetBSD/arm32 Investigating Mike Pumford <mpumford@black-star.demon.co.uk> Mike writes:
I have started porting to the platform based on the code for Linux ARM. The InvokeByIndex code works correctly when used with TestXPTCInvoke. I am currently working on making TestXPC function correctly.

I am doing the porting work with egcs-1.1.2 on NetBSD 1.4P (NetBSD-current snapshot from a couple of days ago).

<font color="white">Done</font> Linux ia64 Contributed code! HP
Contributed code! Ulrich Drepper <drepper@redhat.com>
bug 40950 comment 15
<font color="white">HELP!</font> All others! - -

Note: I've used the symbol (<font color="red">?</font>) 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.

Original Author: John Bandhauer, 3 Feb 1999.