From owner-freebsd-alpha Fri Oct 13 1:50:37 2000 Delivered-To: freebsd-alpha@freebsd.org Received: from finch-post-12.mail.demon.net (finch-post-12.mail.demon.net [194.217.242.41]) by hub.freebsd.org (Postfix) with ESMTP id 51ABE37B503 for ; Fri, 13 Oct 2000 01:50:34 -0700 (PDT) Received: from nlsys.demon.co.uk ([158.152.125.33] helo=herring.nlsystems.com) by finch-post-12.mail.demon.net with esmtp (Exim 2.12 #1) id 13k0Xs-00014p-0C; Fri, 13 Oct 2000 08:50:28 +0000 Received: from salmon.nlsystems.com (salmon.nlsystems.com [10.0.0.3]) by herring.nlsystems.com (8.9.3/8.8.8) with ESMTP id JAA04883; Fri, 13 Oct 2000 09:51:55 +0100 (BST) (envelope-from dfr@nlsystems.com) Date: Fri, 13 Oct 2000 09:49:33 +0100 (BST) From: Doug Rabson To: Andrew Gallatin Cc: freebsd-alpha@freebsd.org Subject: Re: size problems with INVARIANTS/DIAGNOSTIC -current kernels In-Reply-To: <14822.12356.324350.157484@grasshopper.cs.duke.edu> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Thu, 12 Oct 2000, Andrew Gallatin wrote: > > Doug Rabson writes: > > > Errm. Dumb question. How do we find the size of the globals table to > > > confirm this? Is this the same thing as the .got section in objdump's > > > --headers output? > > > > Thats right. > > You might be onto something -- For a non-booting kernel the .got size > is over 64k (0x159c0), for a booting kernel, the .got size is less > than 64k (0xf8c0). > > This is just what I have laying around & is not terribly scientific. > > > > > > > Next dumb question -- is there any way around this, other than > > > reducing the sheer number of globals? > > > > I'm not sure. Lets see if its the problem first. Just to make sure, try > > moving the call_pal halt to the beginning of trap(). You can use the > > inline alpha_pal_halt() for this. > > It still never makes it to trap. It still halts with a PC in the data > segment & the RA in XentMM. Now that I can remember some of this stuff, I recall that it is possible to have multiple .got subsections and the linker handles this with the relocations for 'ldgp' pseudo instructions. Possibly the code in exception.s has been linked to use a different gp from locore.s (where pal_kgp is set). Try adding something like: br pv,1f 1: LDGP(pv) after the PALVECT macro. -- Doug Rabson Mail: dfr@nlsystems.com Phone: +44 20 8348 6160 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message