From owner-freebsd-alpha@FreeBSD.ORG Mon Aug 18 08:37:25 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 73C2B106564A for ; Mon, 18 Aug 2008 08:37:25 +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 30A348FC25 for ; Mon, 18 Aug 2008 08:37:25 +0000 (UTC) (envelope-from mexas@bristol.ac.uk) Received: from seis.bris.ac.uk ([137.222.10.93]) by dirg.bris.ac.uk with esmtp (Exim 4.69) (envelope-from ) id 1KV0En-0005bJ-RI; Mon, 18 Aug 2008 09:37:24 +0100 Received: from mech-cluster238.men.bris.ac.uk ([137.222.187.238]) by seis.bris.ac.uk with esmtp (Exim 4.67) (envelope-from ) id 1KV0Em-0001Ro-Q7; Mon, 18 Aug 2008 09:37:17 +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 m7I8bGCN001073; Mon, 18 Aug 2008 09:37:16 +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 m7I8bDLF001072; Mon, 18 Aug 2008 09:37:13 +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: Mon, 18 Aug 2008 09:37:12 +0100 From: Anton Shterenlikht To: ticso@cicely.de Message-ID: <20080818083712.GA1032@mech-cluster238.men.bris.ac.uk> References: <20080708120738.GA74833@mech-cluster238.men.bris.ac.uk> <20080712225929.GA22401@freebie.xs4all.nl> <20080731222442.GA35346@mech-cluster238.men.bris.ac.uk> <20080816161820.GG37139@cicely7.cicely.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080816161820.GG37139@cicely7.cicely.de> User-Agent: Mutt/1.5.18 (2008-05-17) X-Spam-Score: -1.3 X-Spam-Level: - Cc: freebsd-alpha@freebsd.org Subject: Re: firefox3 build fails on 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: Mon, 18 Aug 2008 08:37:25 -0000 On Sat, Aug 16, 2008 at 06:18:20PM +0200, Bernd Walter wrote: > On Sat, Aug 02, 2008 at 05:01:23PM +0000, Christian Weisgerber wrote: > > Anton Shterenlikht wrote: > > > > > I'm happy to test firefox3 on alpha, but need to learn about pathes. > > > > > > In this particular case it seems that (at least) 2 files > > > are missing from the distribution: > > > > > > xptcinvoke_freebsd_alpha.cpp > > > xptcstubs_freebsd_alpha.cpp > > > > Yes. These need to be created. > > > > You have stumbled on a dirty secret: the Mozilla family programs > > rely on a part that must be ported at the assembly(!) language level > > to each processor/compiler/(operating system) combination. > > > > > I think that whoever created the tar file simply forgot to add the freebsd > > > files. > > > > No, somebody needs to write them. > > I wrote them a few years back for mozilla and they were part of the port. > Don't know what happened in the meantime, because since alpha support is > removed I stopped spending time into it. > The whole xptcinvoke thing is completely breandead anyway. > The intention was to have a portable interfacing to modules, but in fact > they just read the C++ vtable using assembly, which the compiler can do > without any help. > The assembly calling functions need to know the compiler specific > vtable and not a fixed self defined, which is not what I expected to see. > It took me several days to understand that they want something senseless. Anyway, I seem to have fixed this. The build now passes this stage but fails at another. The mozilla developers 'don't know' how to fix it, and apparently lost the interest. Anybody here cares to comment? Something to do with incorrect alignment. Please see below the bugzilla thread. https://bugzilla.mozilla.org/show_bug.cgi?id=449373 "I'm building firefox3.0.1 on FreeBSD-6.3-stable Alpha. I get this error message: gmake[5]: Entering directory `/usr/ports/www/firefox3/work/mozilla/netwerk/cookie/src' nsCookieService.cpp c++ -o nsCookieService.o -c -DMOZILLA_INTERNAL_API -D_IMPL_NS_COM -DEXPORT_XPT_API -DEXPORT_XPTC_API -D_IMPL_NS_COM_OBSOLETE -D_IMPL_NS_GFX -D_IMPL_NS_WIDGET -DIMPL_XREAPI -DIMPL_NS_NET -DIMPL_THEBES -DOSTYPE=\"FreeBSD6\" -DOSARCH=FreeBSD -DIMPL_NS_NET -I. -I. -I../../../dist/include/xpcom -I../../../dist/include/string -I../../../dist/include/pref -I../../../dist/include/storage -I../../../dist/include -I../../../dist/include/necko -I/usr/local/include/nspr -I/usr/include -I../../../dist/sdk/include -I/usr/local/include -fPIC -I/usr/local/include -I/usr/local/include -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Woverloaded-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-aliasing -fshort-wchar -pipe -DNDEBUG -DTRIMMED -O -Werror -I/usr/local/include -I/usr/local/include -DMOZILLA_CLIENT -include ../../../mozilla-config.h nsCookieService.cpp ../../../dist/include/xpcom/nsTHashtable.h: In static member function `static PRBool nsTHashtable::s_MatchEntry(PLDHashTable*, const PLDHashEntryHdr*, const void*) [with EntryType = nsCookieEntry]': ../../../dist/include/xpcom/nsTHashtable.h:335: instantiated from `PRBool nsTHashtable::Init(PRUint32) [with EntryType = nsCookieEntry]' nsCookieService.cpp:418: instantiated from here ../../../dist/include/xpcom/nsTHashtable.h:368: warning: cast from `const PLDHashEntryHdr*' to `const nsCookieEntry*' increases required alignment of target type gmake[5]: *** [nsCookieService.o] Error 1 Reproducible: Always Steps to Reproduce: 1. get FreeBSD-6.3-Alpha 2. cd /usr/ports/www/firefox3 3. make Actual Results: ../../../dist/include/xpcom/nsTHashtable.h:368: warning: cast from `const PLDHashEntryHdr*' to `const nsCookieEntry*' increases required alignment of target type I believe this warning indicates a problem that leads to failure of compilation of nsCookieService.cpp Comment #1 [reply] Benjamin Smedberg [:bs] (bsmedberg) 2008-08-06 07:57:51 PDT This is an interesting bug, and it may be "real" in some sense. nsTHashtable is a wrapper around the pldhash code, which places entries (which begin with or are derived from PLDHashEntryHdr) in a contiguous array. It uses sizeof(entry) as the entry size, which may not be the same as the required alignment for the entry type. What is the required alignment of nsCookieEntry and PLDHashEntryHdr? Is there a way for the compiler to tell us what the required alignment is? If so, we may need to extend the entry size to the required alignment. In that case we "know" that the PLDHashEntryHdr* is of the required alignment, and this cast should be safe... then how do we tell the compiler that it's a safe cast? In an private mail from Anton he says that this worked in FF2 but broke in FF3 because previously we were using NS_REINTERPRET_CAST and we're now using reinterpret_cast<>(), but these should have been equivalent on any modern C++ compiler. Also, it seems like this could be a static_cast instead of a reinterpret_cast, since in nsTHashtable the entry types are always derivatives. I can provide a patch to that effect to see if it helps. Comment #2 [reply] Benjamin Smedberg [:bs] (bsmedberg) 2008-08-06 09:09:44 PDT Created an attachment (id=332545) [details] nsTHashtable use static_cast and not reinterpret_cast, rev. 1 Anton, please try this patch and let me know whether it helps. Comment #4 [reply] Anton Shterenlikht 2008-08-07 02:00:12 PDT I saved the patch into /usr/ports/www/firefox3/work/mozilla/xpcom/glue/ns/nsTHashtable.h.patch Then I did # patch < nsTHashtable.h.patch Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |diff --git a/xpcom/glue/nsTHashtable.h b/xpcom/glue/nsTHashtable.h |--- a/xpcom/glue/nsTHashtable.h |+++ b/xpcom/glue/nsTHashtable.h -------------------------- Patching file nsTHashtable.h using Plan A... Hunk #1 succeeded at 157 (offset -6 lines). Hunk #2 succeeded at 355 (offset -6 lines). Hunk #3 succeeded at 365 (offset -6 lines). Hunk #4 succeeded at 375 (offset -6 lines). Hunk #5 succeeded at 387 (offset -6 lines). Hunk #6 succeeded at 396 (offset -6 lines). Hunk #7 succeeded at 408 (offset -6 lines). Hmm... Ignoring the trailing garbage. done # The error message is very similar, if not the same: gmake[5]: Entering directory `/usr/ports/www/firefox3/work/mozilla/netwerk/cookie/src' nsCookieService.cpp c++ -o nsCookieService.o -c -DMOZILLA_INTERNAL_API -D_IMPL_NS_COM -DEXPORT_XPT_API -DEXPORT_XPTC_API -D_IMPL_NS_COM_OBSOLETE -D_IMPL_NS_GFX -D_IMPL_NS_WIDGET -DIMPL_XREAPI -DIMPL_NS_NET -DIMPL_THEBES -DOSTYPE=\"FreeBSD6\" -DOSARCH=FreeBSD -DIMPL_NS_NET -I. -I. -I../../../dist/include/xpcom -I../../../dist/include/string -I../../../dist/include/pref -I../../../dist/include/storage -I../../../dist/include -I../../../dist/include/necko -I/usr/local/include/nspr -I/usr/include -I../../../dist/sdk/include -I/usr/local/include -fPIC -I/usr/local/include -I/usr/local/include -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Woverloaded-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-aliasing -fshort-wchar -pipe -DNDEBUG -DTRIMMED -O -Werror -I/usr/local/include -I/usr/local/include -DMOZILLA_CLIENT -include ../../../mozilla-config.h nsCookieService.cpp ../../../dist/include/xpcom/nsTHashtable.h: In static member function `static PRBool nsTHashtable::s_MatchEntry(PLDHashTable*, const PLDHashEntryHdr*, const void*) [with EntryType = nsCookieEntry]': ../../../dist/include/xpcom/nsTHashtable.h:334: instantiated from `PRBool nsTHashtable::Init(PRUint32) [with EntryType = nsCookieEntry]' nsCookieService.cpp:418: instantiated from here ../../../dist/include/xpcom/nsTHashtable.h:367: warning: cast from `const PLDHashEntryHdr*' to `const nsCookieEntry*' increases required alignment of target type gmake[5]: *** [nsCookieService.o] Error 1 thanks anton Comment #5 [reply] Anton Shterenlikht 2008-08-07 05:08:01 PDT Also, in case it matters, the compiler versions are: # gcc -v Using built-in specs. Configured with: FreeBSD/alpha system compiler Thread model: posix gcc version 3.4.6 [FreeBSD] 20060305 # # gcc42 -v Using built-in specs. Target: alpha-portbld-freebsd6.3 Configured with: ./..//gcc-4.2-20080702/configure --disable-nls --with-system-zlib --with-libiconv-prefix=/usr/local --with-gmp=/usr/local --program-suffix=42 --libdir=/usr/local/lib/gcc-4.2.5 --with-gxx-include-dir=/usr/local/lib/gcc-4.2.5/include/c++/ --disable-libgcj --prefix=/usr/local --mandir=/usr/local/man --infodir=/usr/local/info/gcc42 alpha-portbld-freebsd6.3 Thread model: posix gcc version 4.2.5 20080702 (prerelease) # I believe freebsd3 port is being built with the system compiler, i.e. 3.4.6. anton Comment #6 [reply] Benjamin Smedberg [:bs] (bsmedberg) 2008-08-07 05:27:34 PDT In that case, I do not know how to fix this bug... I'm almost certain the error is bogus, since we know that the PLDHashEntryHdr* is the correct alignment (confirmed using sizeof()), but I don't know how to inform the compiler that this cast should be allowed. Comment #7 [reply] Mike Shaver 2008-08-07 05:42:08 PDT How do you confirm alignment with sizeof? Comment #8 [reply] Benjamin Smedberg [:bs] (bsmedberg) 2008-08-07 05:56:30 PDT >From experiments, it seems that sizeof(struct) is always a multiple of the necessary alignment for that struct. The pldhash entry store is malloced (which has perfect alignment) and entries are on sizeof(struct) boundaries within the allocation, so I believe that in reality they are always correctly aligned. Shaver says: "I guess you want to cast via void*"... which makes me sad! " -- 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 From owner-freebsd-alpha@FreeBSD.ORG Mon Aug 18 08:47:56 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 AF556106568F for ; Mon, 18 Aug 2008 08:47:56 +0000 (UTC) (envelope-from mexas@bristol.ac.uk) Received: from dirj.bris.ac.uk (dirj.bris.ac.uk [137.222.10.78]) by mx1.freebsd.org (Postfix) with ESMTP id 75BD68FC2A for ; Mon, 18 Aug 2008 08:47:56 +0000 (UTC) (envelope-from mexas@bristol.ac.uk) Received: from isis.bris.ac.uk ([137.222.10.63]) by dirj.bris.ac.uk with esmtp (Exim 4.69) (envelope-from ) id 1KV0Oz-0003jC-Ho; Mon, 18 Aug 2008 09:47:55 +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 1KV0Oy-0002EL-5w; Mon, 18 Aug 2008 09:47: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 m7I8llTg001202; Mon, 18 Aug 2008 09:47:47 +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 m7I8lkZi001201; Mon, 18 Aug 2008 09:47: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: Mon, 18 Aug 2008 09:47:46 +0100 From: Anton Shterenlikht To: Martin Matuska Message-ID: <20080818084746.GA1173@mech-cluster238.men.bris.ac.uk> References: <20080709164316.GA50703@mech-cluster238.men.bris.ac.uk> <20080710031113.15021tn1pjxnrs1d@mail.vx.sk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080710031113.15021tn1pjxnrs1d@mail.vx.sk> User-Agent: Mutt/1.5.18 (2008-05-17) X-Spam-Score: -1.4 X-Spam-Level: - Cc: freebsd-alpha@FreeBSD.org Subject: Re: ports/ImageMagick -> Magick++ -> 2 tests fail on FBSD 6.3 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: Mon, 18 Aug 2008 08:47:56 -0000 On Thu, Jul 10, 2008 at 03:11:13AM +0200, Martin Matuska wrote: > Hi, > > I am on a vacation abroad until July, 23. I will take care of my ports > after returning. > Hi Martin Just to let you know that the failures occur in ImageMagick-6.4.2.7 just the same. anton > Quoting "Anton Shterenlikht" : > > > Two ImageMagick tests fail with core dumps on my FBSD 6.3 alpha: > > > > FAIL: Magick++/tests/exceptions.sh > > FAIL: Magick++/tests/attributes.sh > > > > They pass on my FBSD 7.0 i386. > > > > exceptions.cpp actually warns: > > > > %vi exceptions.cpp > > > > [skip] > > > > 22 > > 23 cout << "Checking for working exceptions (may crash) ... "; > > 24 > > > > Is this to do with different c++ versions on FBSD 7 and 6? -- 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 From owner-freebsd-alpha@FreeBSD.ORG Mon Aug 18 09:39:37 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 8DAC2106564A for ; Mon, 18 Aug 2008 09:39:37 +0000 (UTC) (envelope-from ticso@cicely7.cicely.de) Received: from raven.bwct.de (raven.bwct.de [85.159.14.73]) by mx1.freebsd.org (Postfix) with ESMTP id 36D358FC14 for ; Mon, 18 Aug 2008 09:39:35 +0000 (UTC) (envelope-from ticso@cicely7.cicely.de) Received: from cicely5.cicely.de ([10.1.1.7]) by raven.bwct.de (8.13.4/8.13.4) with ESMTP id m7I9dN9n064575 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 18 Aug 2008 11:39:23 +0200 (CEST) (envelope-from ticso@cicely7.cicely.de) Received: from cicely7.cicely.de (cicely7.cicely.de [10.1.1.9]) by cicely5.cicely.de (8.14.2/8.14.2) with ESMTP id m7I9dJO0053925 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 18 Aug 2008 11:39:19 +0200 (CEST) (envelope-from ticso@cicely7.cicely.de) Received: from cicely7.cicely.de (localhost [127.0.0.1]) by cicely7.cicely.de (8.14.2/8.14.2) with ESMTP id m7I9dIT0008120; Mon, 18 Aug 2008 11:39:19 +0200 (CEST) (envelope-from ticso@cicely7.cicely.de) Received: (from ticso@localhost) by cicely7.cicely.de (8.14.2/8.14.2/Submit) id m7I9dIn0008119; Mon, 18 Aug 2008 11:39:18 +0200 (CEST) (envelope-from ticso) Date: Mon, 18 Aug 2008 11:39:18 +0200 From: Bernd Walter To: Anton Shterenlikht Message-ID: <20080818093918.GE6331@cicely7.cicely.de> References: <20080708120738.GA74833@mech-cluster238.men.bris.ac.uk> <20080712225929.GA22401@freebie.xs4all.nl> <20080731222442.GA35346@mech-cluster238.men.bris.ac.uk> <20080816161820.GG37139@cicely7.cicely.de> <20080818083712.GA1032@mech-cluster238.men.bris.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080818083712.GA1032@mech-cluster238.men.bris.ac.uk> X-Operating-System: FreeBSD cicely7.cicely.de 7.0-STABLE i386 User-Agent: Mutt/1.5.11 X-Spam-Status: No, score=-4.3 required=5.0 tests=ALL_TRUSTED=-1.8, AWL=0.086, BAYES_00=-2.599 autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on spamd.cicely.de Cc: ticso@cicely.de, freebsd-alpha@freebsd.org Subject: Re: firefox3 build fails on alpha X-BeenThere: freebsd-alpha@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ticso@cicely.de List-Id: Porting FreeBSD to the Alpha List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Aug 2008 09:39:37 -0000 On Mon, Aug 18, 2008 at 09:37:12AM +0100, Anton Shterenlikht wrote: > On Sat, Aug 16, 2008 at 06:18:20PM +0200, Bernd Walter wrote: > > On Sat, Aug 02, 2008 at 05:01:23PM +0000, Christian Weisgerber wrote: > > > Anton Shterenlikht wrote: > > > > > > > I'm happy to test firefox3 on alpha, but need to learn about pathes. > > > > > > > > In this particular case it seems that (at least) 2 files > > > > are missing from the distribution: > > > > > > > > xptcinvoke_freebsd_alpha.cpp > > > > xptcstubs_freebsd_alpha.cpp > > > > > > Yes. These need to be created. > > > > > > You have stumbled on a dirty secret: the Mozilla family programs > > > rely on a part that must be ported at the assembly(!) language level > > > to each processor/compiler/(operating system) combination. > > > > > > > I think that whoever created the tar file simply forgot to add the freebsd > > > > files. > > > > > > No, somebody needs to write them. > > > > I wrote them a few years back for mozilla and they were part of the port. > > Don't know what happened in the meantime, because since alpha support is > > removed I stopped spending time into it. > > The whole xptcinvoke thing is completely breandead anyway. > > The intention was to have a portable interfacing to modules, but in fact > > they just read the C++ vtable using assembly, which the compiler can do > > without any help. > > The assembly calling functions need to know the compiler specific > > vtable and not a fixed self defined, which is not what I expected to see. > > It took me several days to understand that they want something senseless. > > Anyway, I seem to have fixed this. The build now passes this stage but > fails at another. The mozilla developers 'don't know' how to fix it, and > apparently lost the interest. > > Anybody here cares to comment? Something to do with incorrect alignment. Just accept the warnings. Mozilla also always had some missaligned acces in it. Fortunately we can correct missaligned access in userland and they are not too much so you can live with them. Especially since they said that the pointer always has the required alignment. The real bug is that they cast pointers of completely different types. You can work around by increasing the alignemnt requirement of PLDHashEntryHdr's type, so the compiler knows that. -- B.Walter http://www.bwct.de Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm. From owner-freebsd-alpha@FreeBSD.ORG Mon Aug 18 11:06:46 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 40ECD1065684 for ; Mon, 18 Aug 2008 11:06:46 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 39ED28FC2B for ; Mon, 18 Aug 2008 11:06:46 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m7IB6kqM079728 for ; Mon, 18 Aug 2008 11:06:46 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m7IB6jGZ079724 for freebsd-alpha@FreeBSD.org; Mon, 18 Aug 2008 11:06:45 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 18 Aug 2008 11:06:45 GMT Message-Id: <200808181106.m7IB6jGZ079724@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-alpha@FreeBSD.org Cc: Subject: Current problem reports assigned to freebsd-alpha@FreeBSD.org 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: Mon, 18 Aug 2008 11:06:46 -0000 Current FreeBSD problem reports Critical problems Serious problems S Tracker Resp. Description -------------------------------------------------------------------------------- o alpha/61940 alpha [sysinstall] Can't disklabel new disk from FreeBSD/alp o alpha/61973 alpha Machine Check on boot-up of AlphaServer 2100A RM s alpha/67626 alpha X crashes an alpha machine, resulting reboot o alpha/85346 alpha PREEMPTION causes unstability in Alpha4000 SMP kernel o alpha/105134 alpha 'panic: lockmgr: thread ... not exclusive lock owner' 5 problems total. Non-critical problems S Tracker Resp. Description -------------------------------------------------------------------------------- o alpha/25284 alpha PC164 won't reboot with graphics console o alpha/38031 alpha osf1.ko not loaded during boot-time of linux-emu enabl o alpha/48676 alpha Changing the baud rate of serial consoles for Alpha sy o alpha/67903 alpha hw.chipset.memory: 1099511627776 - thats way to much : 4 problems total. From owner-freebsd-alpha@FreeBSD.ORG Mon Aug 18 15:35:13 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 7ED1B106566C for ; Mon, 18 Aug 2008 15:35:13 +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 36C408FC19 for ; Mon, 18 Aug 2008 15:35:13 +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 1KV6l9-000470-Pl; Mon, 18 Aug 2008 16:35:12 +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 1KV6l8-0000m2-Rg; Mon, 18 Aug 2008 16:35:07 +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 m7IFZ5BJ004935; Mon, 18 Aug 2008 16:35:05 +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 m7IFZ5UA004934; Mon, 18 Aug 2008 16:35:05 +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: Mon, 18 Aug 2008 16:35:04 +0100 From: Anton Shterenlikht To: ticso@cicely.de Message-ID: <20080818153504.GA4848@mech-cluster238.men.bris.ac.uk> References: <20080708120738.GA74833@mech-cluster238.men.bris.ac.uk> <20080712225929.GA22401@freebie.xs4all.nl> <20080731222442.GA35346@mech-cluster238.men.bris.ac.uk> <20080816161820.GG37139@cicely7.cicely.de> <20080818083712.GA1032@mech-cluster238.men.bris.ac.uk> <20080818093918.GE6331@cicely7.cicely.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080818093918.GE6331@cicely7.cicely.de> User-Agent: Mutt/1.5.18 (2008-05-17) X-Spam-Score: -1.4 X-Spam-Level: - Cc: freebsd-alpha@freebsd.org Subject: Re: firefox3 build fails on 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: Mon, 18 Aug 2008 15:35:13 -0000 On Mon, Aug 18, 2008 at 11:39:18AM +0200, Bernd Walter wrote: > On Mon, Aug 18, 2008 at 09:37:12AM +0100, Anton Shterenlikht wrote: > > On Sat, Aug 16, 2008 at 06:18:20PM +0200, Bernd Walter wrote: > > > On Sat, Aug 02, 2008 at 05:01:23PM +0000, Christian Weisgerber wrote: > > > > Anton Shterenlikht wrote: > > > > > > > > > I'm happy to test firefox3 on alpha, but need to learn about pathes. > > > > > > > > > > In this particular case it seems that (at least) 2 files > > > > > are missing from the distribution: > > > > > > > > > > xptcinvoke_freebsd_alpha.cpp > > > > > xptcstubs_freebsd_alpha.cpp > > > > > > > > Yes. These need to be created. > > > > > > > > You have stumbled on a dirty secret: the Mozilla family programs > > > > rely on a part that must be ported at the assembly(!) language level > > > > to each processor/compiler/(operating system) combination. > > > > > > > > > I think that whoever created the tar file simply forgot to add the freebsd > > > > > files. > > > > > > > > No, somebody needs to write them. > > > > > > I wrote them a few years back for mozilla and they were part of the port. > > > Don't know what happened in the meantime, because since alpha support is > > > removed I stopped spending time into it. > > > The whole xptcinvoke thing is completely breandead anyway. > > > The intention was to have a portable interfacing to modules, but in fact > > > they just read the C++ vtable using assembly, which the compiler can do > > > without any help. > > > The assembly calling functions need to know the compiler specific > > > vtable and not a fixed self defined, which is not what I expected to see. > > > It took me several days to understand that they want something senseless. > > > > Anyway, I seem to have fixed this. The build now passes this stage but > > fails at another. The mozilla developers 'don't know' how to fix it, and > > apparently lost the interest. > > > > Anybody here cares to comment? Something to do with incorrect alignment. > > The real bug is that they cast pointers of completely different types. > You can work around by increasing the alignemnt requirement of > PLDHashEntryHdr's type, so the compiler knows that. Could you please elaborate on this? I see in pldhash.h: typedef PRUint32 PLDHashNumber; struct PLDHashEntryHdr { PLDHashNumber keyHash; /* every entry must begin like this */ }; I also see in ../../nsprpub/pr/include/prtypes.h /************************************************************************ ** TYPES: PRUint32 ** PRInt32 ** DESCRIPTION: ** The int32 types are known to be 32 bits each. ************************************************************************/ #if PR_BYTES_PER_INT == 4 typedef unsigned int PRUint32; typedef int PRInt32; #define PR_INT32(x) x #define PR_UINT32(x) x ## U #elif PR_BYTES_PER_LONG == 4 typedef unsigned long PRUint32; typedef long PRInt32; #define PR_INT32(x) x ## L #define PR_UINT32(x) x ## UL #else #error No suitable type for PRInt32/PRUint32 #endif but I cannot see where PR_BYTES_PER_xxx are defined. I think on alpha unsigned int should be 32 bit, it that correct? Shall I try to redefine PRUint32 to 32 bit for certain? thanks anton 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 From owner-freebsd-alpha@FreeBSD.ORG Mon Aug 18 17:33:06 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 66F691065687 for ; Mon, 18 Aug 2008 17:33:06 +0000 (UTC) (envelope-from freebsd@sopwith.solgatos.com) Received: from parsely.rain.com (parsely.rain.com [199.26.172.196]) by mx1.freebsd.org (Postfix) with ESMTP id CB7538FC08 for ; Mon, 18 Aug 2008 17:33:05 +0000 (UTC) (envelope-from freebsd@sopwith.solgatos.com) Received: from sopwith.solgatos.com (uucp@localhost) by parsely.rain.com (8.11.4/8.11.4) with UUCP id m7IHWks51669; Mon, 18 Aug 2008 10:32:46 -0700 (PDT) (envelope-from freebsd@sopwith.solgatos.com) Received: from localhost by sopwith.solgatos.com (8.8.8/6.24) id RAA05832; Mon, 18 Aug 2008 17:31:26 GMT Message-Id: <200808181731.RAA05832@sopwith.solgatos.com> To: Anton Shterenlikht In-reply-to: Your message of "Mon, 18 Aug 2008 16:35:04 BST." <20080818153504.GA4848@mech-cluster238.men.bris.ac.uk> Date: Mon, 18 Aug 2008 10:31:26 +0100 From: Dieter Cc: freebsd-alpha@freebsd.org Subject: Re: firefox3 build fails on 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: Mon, 18 Aug 2008 17:33:06 -0000 > but I cannot see where PR_BYTES_PER_xxx are defined. find dir -name \*.h | xargs grep PR_BYTES_PER_ If that doesn't find it, leave out the -name \*.h > I think on alpha unsigned int should be 32 bit, it that correct? Should be. Easily verified: /* check_sizes.c * * Verify the size of various types. */ #include int main(int argc, char **argv) { printf("size of char = %ld\n", sizeof(char) ); printf("size of short = %ld\n", sizeof(short) ); printf("size of int = %ld\n", sizeof(int) ); printf("size of long = %ld\n", sizeof(long) ); printf("size of long long = %ld\n", sizeof(long long) ); printf("size of float = %ld\n", sizeof(float) ); printf("size of double = %ld\n", sizeof(double) ); return(0); } NetBSD/alpha and FreeBSD/amd64 both give: size of char = 1 size of short = 2 size of int = 4 size of long = 8 size of long long = 8 size of float = 4 size of double = 8 I would be very surprised if FreeBSD/alpha gives anything different. From owner-freebsd-alpha@FreeBSD.ORG Tue Aug 19 15:58:44 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 587E51065683 for ; Tue, 19 Aug 2008 15:58:44 +0000 (UTC) (envelope-from mexas@bristol.ac.uk) Received: from dirj.bris.ac.uk (dirj.bris.ac.uk [137.222.10.78]) by mx1.freebsd.org (Postfix) with ESMTP id 1D57F8FC16 for ; Tue, 19 Aug 2008 15:58:44 +0000 (UTC) (envelope-from mexas@bristol.ac.uk) Received: from seis.bris.ac.uk ([137.222.10.93]) by dirj.bris.ac.uk with esmtp (Exim 4.69) (envelope-from ) id 1KVTbV-0001PV-AD for freebsd-alpha@freebsd.org; Tue, 19 Aug 2008 16:58:42 +0100 Received: from mech-cluster238.men.bris.ac.uk ([137.222.187.238]) by seis.bris.ac.uk with esmtp (Exim 4.67) (envelope-from ) id 1KVTbU-0005C5-5u for freebsd-alpha@freebsd.org; Tue, 19 Aug 2008 16:58:40 +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 m7JFwd2J027846 for ; Tue, 19 Aug 2008 16:58:39 +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 m7JFwdJc027845 for freebsd-alpha@freebsd.org; Tue, 19 Aug 2008 16:58:39 +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: Tue, 19 Aug 2008 16:58:39 +0100 From: Anton Shterenlikht To: freebsd-alpha@freebsd.org Message-ID: <20080819155839.GA27817@mech-cluster238.men.bris.ac.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.18 (2008-05-17) X-Spam-Score: -1.4 X-Spam-Level: - Subject: firefox build fails on 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: Tue, 19 Aug 2008 15:58:44 -0000 On Mon, Aug 18, 2008 at 05:39:40PM +0000, freebsd@sopwith.solgatos.com wrote: > From: Dieter > > > but I cannot see where PR_BYTES_PER_xxx are defined. > > find dir -name \*.h | xargs grep PR_BYTES_PER_ well.. these are defined only in /usr/ports/www/firefox3/work/mozilla/nsprpub/pr/src/md/mac/prcpucfg.h that is for Mac, I think. But under unix this file doesn't appear: % cd /usr/ports/www/firefox3/work/mozilla/nsprpub/pr/src/md/ % ls Makefile.in mac prosdep.c windows beos os2 unix % % ls ./unix/*.h ls: No match. % I'm not sure what this means. > If that doesn't find it, leave out the -name \*.h > > > I think on alpha unsigned int should be 32 bit, it that correct? > > Should be. Easily verified: yes, int is 32 bit. Perhaps the problem is not in pldhash.h, but in nsCookieEntry: ../../../dist/include/xpcom/nsTHashtable.h: In static member function `static PRBool nsTHashtable::s_MatchEntry(PLDHashTable*, const PLDHashEntryHdr*, const void*) [with EntryType = nsCookieEntry]': ../../../dist/include/xpcom/nsTHashtable.h:334: instantiated from `PRBool nsTHashtable::Init(PRUint32) [with EntryType = nsCookieEntry]' nsCookieService.cpp:418: instantiated from here ../../../dist/include/xpcom/nsTHashtable.h:367: warning: cast from `const PLDHashEntryHdr*' to `const nsCookieEntry*' increases required alignment of target type I'm still not sure exactly what the 2 marked lines of code do: (extract from nsTHashtable.h) 361 template 362 PRBool 363 nsTHashtable::s_MatchEntry(PLDHashTable *table, 364 const PLDHashEntryHdr *entry, 365 const void *key) 366 { --> 367 return ((const EntryType*) entry)->KeyEquals( --> 368 static_cast(key)); 369 } but the error must be somewhere in these 2 lines, isn't it? 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