emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: PURESIZE increased (again)


From: Eli Zaretskii
Subject: Re: PURESIZE increased (again)
Date: Thu, 27 Apr 2006 23:38:53 +0300

> From: Reiner Steib <address@hidden>
> Cc: address@hidden
> Date: Wed, 26 Apr 2006 15:50:12 +0200
> 
> Sorry for the late answer.  I still get an overflow on 64 bit with
> today's sources (I can do the same on 32 bit if it's useful):
> 
> --8<---------------cut here---------------start------------->8---
> $ cd [...]/emacs/cvs-HEAD/emacs/src$ grep define.BASE_PURESIZE puresize.h
> #define BASE_PURESIZE (1205000 + SYSTEM_PURESIZE_EXTRA + 
> SITELOAD_PURESIZE_EXTRA)
> $ cd [...]/emacs/cvs-HEAD/x86_64/src/; gdb ./temacs
> GNU gdb 6.2.1
> Copyright 2004 Free Software Foundation, Inc.
> [...]
> Breakpoint 1 at 0x556da0: file [...]/emacs/src/sysdep.c, line 1373.
> (gdb) break lread.c:717
> Breakpoint 2 at 0x5e79dc: file [...]/emacs/src/lread.c, line 717.
> (gdb) run -batch -l loadup dump
> Starting program: [...]/emacs/cvs-HEAD/x86_64/src/temacs -batch -l loadup dump
> [Thread debugging using libthread_db enabled]
> [New Thread 182940272320 (LWP 30412)]
> [Switching to Thread 182940272320 (LWP 30412)]
> [...]
> Loading tool-bar...
> $92 = 1991013
> Loading x-dnd...
> $93 = 3206
> Loading emacs-lisp/float-sup...
> $94 = 3864
> Loading vc-hooks...
> $95 = 785
> Loading jka-cmpr-hook...
> $96 = 774
> Loading ediff-hook...
> $97 = 1055
> Loading tooltip...
> $98 = 944
> $99 = 986
> 
> (gdb) continue 
> Continuing.
> Dumping under names emacs and emacs-22.0.50.7
> emacs:0:Pure Lisp storage overflow (approx. 2157456 bytes needed)

These results are very strange indeed.  I've built today's CVS on an
x86_64 box (Red Hat GNU/Linux) in 3 different ways: with GTK, with
Motif and with Lucid, and they all needed only 1881740 bytes, give or
take a few dozen bytes.  How come your build requires a whopping 275KB
more?

Comparison of your GDB session with mine shows that each time a .el
file is loaded, it uses up the exact same amount of pure storage in
your build as in mine.  But every .elc file takes more pure storage on
your machine, sometimes only by 1KB, sometimes by as much as 20KB.

Do you have some local changes on your system, or is this a plain
"make bootstrap" of the CVS checkout, with all the defaults wrt
compiler switches, libraries, etc.?  (Not that I see how local changes
to anything but the Lisp files themselves could produce such bloat.)

Does anyone have ideas as to what could cause such a significant
difference in pure storage use on two identical architectures?

I'm stumped.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]