From owner-freebsd-alpha@FreeBSD.ORG Sun Aug 3 18:55:52 2008 Return-Path: Delivered-To: freebsd-alpha@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4F153106566C for ; Sun, 3 Aug 2008 18:55:52 +0000 (UTC) (envelope-from mexas@bristol.ac.uk) Received: from dirg.bris.ac.uk (dirg.bris.ac.uk [137.222.10.102]) by mx1.freebsd.org (Postfix) with ESMTP id 0B86F8FC15 for ; Sun, 3 Aug 2008 18:55:52 +0000 (UTC) (envelope-from mexas@bristol.ac.uk) Received: from isis.bris.ac.uk ([137.222.10.63]) by dirg.bris.ac.uk with esmtp (Exim 4.69) (envelope-from ) id 1KPik9-0007IT-Jp; Sun, 03 Aug 2008 19:55:51 +0100 Received: from mech-cluster238.men.bris.ac.uk ([137.222.187.238]) by isis.bris.ac.uk with esmtp (Exim 4.67) (envelope-from ) id 1KPik8-0002kv-00; Sun, 03 Aug 2008 19:55:48 +0100 Received: from mech-cluster238.men.bris.ac.uk (localhost.men.bris.ac.uk [127.0.0.1]) by mech-cluster238.men.bris.ac.uk (8.14.2/8.14.2) with ESMTP id m73Itkwe006832; Sun, 3 Aug 2008 19:55:46 +0100 (BST) (envelope-from mexas@bristol.ac.uk) Received: (from mexas@localhost) by mech-cluster238.men.bris.ac.uk (8.14.2/8.14.2/Submit) id m73ItkVR006831; Sun, 3 Aug 2008 19:55:46 +0100 (BST) (envelope-from mexas@bristol.ac.uk) X-Authentication-Warning: mech-cluster238.men.bris.ac.uk: mexas set sender to mexas@bristol.ac.uk using -f Date: Sun, 3 Aug 2008 19:55:46 +0100 From: Anton Shterenlikht To: Glen Nakamura Message-ID: <20080803185545.GA6782@mech-cluster238.men.bris.ac.uk> References: <20080803164656.GA5775@mech-cluster238.men.bris.ac.uk> <20080803171000.GA30383@modulo.internal> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080803171000.GA30383@modulo.internal> User-Agent: Mutt/1.5.18 (2008-05-17) X-Spam-Score: -1.4 X-Spam-Level: - Cc: freebsd-alpha@freebsd.org Subject: xptcinvoke and xptcstubs for firefox3 on FreeBSD Alpha X-BeenThere: freebsd-alpha@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the Alpha List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Aug 2008 18:55:52 -0000 On Sun, Aug 03, 2008 at 07:10:00AM -1000, Glen Nakamura wrote: > On Sun, Aug 03, 2008 at 05:46:56PM +0100, Anton Shterenlikht wrote: > > I'm trying to trace Glen Nakamura, a contributor to firefox, > > regarding some of his code. > > > > If it is the same Glen who holds the copyright to your site, > > please put me in touch with him. > > Aloha Anton, > > I contributed the Linux Alpha port of the xptcall interface > to the Mozilla project... What piece of code are you inquiring about? Glen, many thanks for a quick reply. (copied to freebsd-alpha mailing list) I'm trying to build firefox3 on FreeBSD Alpha. The build fails because files xptcinvoke_freebsd_alpha.cpp xptcstubs_freebsd_alpha.cpp (at least these 2, there might be more) are missing from the distribution. I understand you wrote the code in these files for firefox2. I've build firefox2 fine on the same machine, and I decided to just copy these 2 files from firefox2 source tree to firerox3 as is. The build fails with the following error: gmake[8]: Entering directory `/usr/ports/www/firefox3/work/mozilla/xpcom/reflect /xptcall/src/md/unix' xptcinvoke_freebsd_alpha.cpp c++ -o xptcinvoke_freebsd_alpha.o -c -DMOZILLA_INTERNAL_API -DOSTYPE=\"FreeBSD6 \" -DOSARCH=FreeBSD -DEXPORT_XPTC_API -D_IMPL_NS_COM -I./../.. -I./../../../../x ptinfo/src -I. -I. -I../../../../../../dist/include/string -I../../../../../../ dist/include -I../../../../../../dist/include/xpcom -I/usr/local/include/nspr -I/usr/include -I/usr/local/include -fPIC -I/usr/local/include -I/usr/loc al/include -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Woverlo aded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align - Wno-long-long -O -pipe -mcpu=ev6 -mieee -O2 -fno-strict-aliasing -fno-strict-ali asing -fshort-wchar -pipe -DNDEBUG -DTRIMMED -O -I/usr/local/include -I/usr/l ocal/include -DMOZILLA_CLIENT -include ../../../../../../mozilla-config.h xptcin voke_freebsd_alpha.cpp xptcstubs_freebsd_alpha.cpp c++ -o xptcstubs_freebsd_alpha.o -c -DMOZILLA_INTERNAL_API -DOSTYPE=\"FreeBSD6\ " -DOSARCH=FreeBSD -DEXPORT_XPTC_API -D_IMPL_NS_COM -I./../.. -I./../../../../xp tinfo/src -I. -I. -I../../../../../../dist/include/string -I../../../../../../d ist/include -I../../../../../../dist/include/xpcom -I/usr/local/include/nspr -I/usr/include -I/usr/local/include -fPIC -I/usr/local/include -I/usr/loca l/include -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Woverloa ded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -W no-long-long -O -pipe -mcpu=ev6 -mieee -O2 -fno-strict-aliasing -fno-strict-alia sing -fshort-wchar -pipe -DNDEBUG -DTRIMMED -O -I/usr/local/include -I/usr/lo cal/include -DMOZILLA_CLIENT -include ../../../../../../mozilla-config.h xptcstu bs_freebsd_alpha.cpp xptcstubs_freebsd_alpha.cpp: In function `nsresult PrepareAndDispatch(nsXPTCStub Base*, uint32, PRUint64*)': xptcstubs_freebsd_alpha.cpp:59: error: `nsIInterfaceInfo' was not declared in th is scope xptcstubs_freebsd_alpha.cpp:59: error: `iface_info' was not declared in this sco pe xptcstubs_freebsd_alpha.cpp:67: error: 'class nsXPTCStubBase' has no member name d 'GetInterfaceInfo' xptcstubs_freebsd_alpha.cpp:131: error: 'class nsXPTCStubBase' has no member nam ed 'CallMethod' xptcstubs_freebsd_alpha.cpp:59: warning: unused variable 'nsIInterfaceInfo' gmake[8]: *** [xptcstubs_freebsd_alpha.o] Error 1 gmake[8]: Leaving directory `/usr/ports/www/firefox3/work/mozilla/xpcom/reflect/ xptcall/src/md/unix' gmake[7]: *** [libs] Error 2 So, it seems xptcinvoke compiles fine, but xptcstubs fails. Could you please give brief explanation of what the code in these files actually does, or point to a manual/doc if possible. I'm not a programmer myself, particularly not an assembler person, so reading the files didn't give me much insight. I had a very brief look at the distribution tree and I believe these 2 files are generated during configure stage from ./files/patch-xptcall-alpha, which is also missing in firefox3 distribution. Please comment on this as well if you can. Finally, how much work do you think is needed to port these 2 files from firefox2 to firefox3? Is it really just 2 files, or there is much more work to be done? many thanks anton -- Anton Shterenlikht Room 2.6, Queen's Building Mech Eng Dept Bristol University University Walk, Bristol BS8 1TR, UK Tel: +44 (0)117 928 8233 Fax: +44 (0)117 929 4423