emacs-devel
[Top][All Lists]
Advanced

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

Re: PURESIZE increased (again)


From: Reiner Steib
Subject: Re: PURESIZE increased (again)
Date: Fri, 28 Apr 2006 15:11:52 +0200
User-agent: Gnus/5.110005 (No Gnus v0.5) Emacs/22.0.50 (gnu/linux)

On Fri, Apr 28 2006, Eli Zaretskii wrote:

>> From: Reiner Steib <address@hidden>
>> Cc: address@hidden
>> Date: Thu, 27 Apr 2006 23:56:12 +0200
>> 
>> I've set MYCPPFLAGS='-DENABLE_CHECKING=1'.
>
> I don't think this should matter, as it only activates some assertions
> in the C code.
>
>> I use the same source tree for x86_64 and i686 with different
>> exec-prefix:
>> 
>>   configure --prefix=[...]/HEAD --with-gtk \
>>     --exec-prefix=[...]/HEAD-`uname -m`
>
> But you do compile in two different directories for each architecture,
> right?  That is, the source tree is common, but the build directories
> are different, yes?  

Yes, I use a common source tree and two separate build directories.
The source tree is in .../cvs-HEAD/emacs and the build directories are
.../cvs-HEAD/`uname -m` (-> i686 and x86_64).

> Or do you use the same directory, but clean it up between any two
> builds?  If the latter, how do you clean it?
>
>> I have some (minor, IMHO) local changes.  I will try tomorrow without
>> any local changes and report back again.

Okay, the following results are with an unmodified, clean source
tree[1] with configure ...  && make bootstrap.  I've put the complete
logs for each arch (i686 and x86_64) on the web [2] in the files
emacs-build-`date -I`-`uname -m`.log.gz (*.gz; 39K / 54K).

During "make bootstrap", I get:

,----[ x86_64 ]
| Finding pointers to doc strings...done
| Dumping under names emacs and emacs-22.0.50
| 108788 pure bytes used
| mv -f emacs bootstrap-emacs
| [...]
| Finding pointers to doc strings...done
| Dumping under names emacs and emacs-22.0.50.1
| emacs:0:Pure Lisp storage overflow (approx. 2159640 bytes needed)
| 1536 pure bytes used
| ./emacs -q -batch -f list-load-path-shadows
`----

,----[ i686 ]
| Finding pointers to doc strings...done
| Dumping under names emacs and emacs-22.0.50
| 75284 pure bytes used
| mv -f emacs bootstrap-emacs
| [...]
| Finding pointers to doc strings...done
| Dumping under names emacs and emacs-22.0.50.1
| emacs:0:Pure Lisp storage overflow (approx. 1345256 bytes needed)
| 608 pure bytes used
| ./emacs -q -batch -f list-load-path-shadows
`----

Here are the results for pure_bytes_used from running temacs under gdb
("run -batch -l loadup dump" with breakpoint in Fload) for both x86_64
and i686.  The full gdb logs are in temacs-gdb-`date -I`-`uname
-m`.log.gz on [2].  temacs-gdb-`date -I`-`uname -m`.pure.log.gz
contain the relevant parts [3] which I include here in this message:

--8<---------------cut here---------------start------------->8---
~/src/links/emacs/cvs-HEAD/x86_64/src$ gdb ./temacs 
GNU gdb 6.2.1
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-suse-linux"...Using host libthread_db 
library "/lib64/tls/libthread_db.so.1".

DISPLAY = localhost:11.0
TERM = xterm
Breakpoint 1 at 0x556da0: file 
/home/dept/ste/src/links/emacs/cvs-HEAD/emacs/src/sysdep.c, line 1373.
(gdb) break lread.c:717
Breakpoint 2 at 0x5e79dc: file 
/home/dept/ste/src/links/emacs/cvs-HEAD/emacs/src/lread.c, line 717.
(gdb) run -batch -l loadup dump
Starting program: 
/import/Archive/Groups/Productivity/Editors/Emacs/emacs/cvs-HEAD/x86_64/src/temacs
 -batch -l loadup dump
[Thread debugging using libthread_db enabled]
[New Thread 182940272320 (LWP 28159)]
[Switching to Thread 182940272320 (LWP 28159)]

Breakpoint 2, Fload (file=11077635, noerror=10658513, nomessage=10658513, 
nosuffix=10658513, must_suffix=10658513)
    at /home/dept/ste/src/links/emacs/cvs-HEAD/emacs/src/lread.c:718
718       register int fd = -1;
(gdb) print pure_bytes_used
$1 = 108747
$1 = 108747
(gdb) continue
Continuing.
Loading loadup.el (source)...
Loading loadup.el (source)...
Using load-path (/home/dept/ste/src/links/emacs/cvs-HEAD/emacs/lisp)

Breakpoint 2, Fload (file=11080355, noerror=10658513, nomessage=10658513, 
nosuffix=10658513, must_suffix=10658513)
    at /home/dept/ste/src/links/emacs/cvs-HEAD/emacs/src/lread.c:718
718       register int fd = -1;
(gdb) print pure_bytes_used
$2 = 108788
$2 = 108788
Loading emacs-lisp/byte-run...
$3 = 114536
Loading emacs-lisp/backquote...
$4 = 118000
Loading subr...
$5 = 205328
Loading version.el (source)...
$6 = 208625
Loading widget...
$7 = 209471
Loading custom...
$8 = 241496
Loading emacs-lisp/map-ynp...
$9 = 248473
Loading env...
$10 = 253068
Loading cus-start...
$11 = 255909
Loading international/mule...
$12 = 317596
Loading international/mule-conf.el (source)...
$13 = 327085
Loading format...
$14 = 350864
Loading bindings...
$15 = 388019
Loading files...
$16 = 537811
Loading cus-face...
$17 = 556913
Loading faces...
$18 = 638354
Loading loaddefs.el (source)...
$19 = 833869
Loading simple...
$20 = 975911
Loading help...
$21 = 1013912
Loading international/mule-cmds...
$22 = 1092096
Loading case-table...
$23 = 1097760
Loading international/utf-8...
$24 = 1123530
Loading international/utf-16...
$25 = 1176110
Loading international/characters...
$26 = 1178958
Loading international/latin-1 (source)...
$27 = 1178958
Loading international/latin-2 (source)...
$28 = 1179000
Loading international/latin-3 (source)...
$29 = 1179040
Loading international/latin-4 (source)...
$30 = 1179080
Loading international/latin-5 (source)...
$31 = 1179120
Loading international/latin-8 (source)...
$32 = 1179160
Loading international/latin-9 (source)...
$33 = 1179200
Loading language/chinese...
$34 = 1190587
Loading language/cyrillic...
$35 = 1202880
Loading language/indian...
$36 = 1207624
Loading language/devanagari (source)...
$37 = 1208048
Loading language/malayalam (source)...
$38 = 1208280
Loading language/tamil (source)...
$39 = 1208496
Loading language/kannada (source)...
$40 = 1208900
Loading language/english (source)...
$41 = 1209070
Loading language/ethiopic...
$42 = 1210719
Loading language/european...
$43 = 1230265
Loading language/czech (source)...
$44 = 1230606
Loading language/slovak (source)...
$45 = 1230943
Loading language/romanian (source)...
$46 = 1231297
Loading language/greek (source)...
$47 = 1232238
Loading language/hebrew (source)...
$48 = 1233839
Loading language/japanese (source)...
$49 = 1237937
Loading language/korean (source)...
$50 = 1240159
Loading language/lao (source)...
$51 = 1240888
Loading language/thai (source)...
$52 = 1242613
Loading language/tibetan...
$53 = 1289760
Loading language/vietnamese...
$54 = 1295398
Loading language/misc-lang (source)...
$55 = 1295570
Loading language/utf-8-lang (source)...
$56 = 1296355
Loading language/georgian (source)...
$57 = 1296673
Loading international/ucs-tables...
$58 = 1306507
Loading indent...
$59 = 1319816
Loading window...
$60 = 1344802
Loading frame...
$61 = 1379615
Loading term/tty-colors...
$62 = 1387104
Loading font-core...
$63 = 1394802
Loading facemenu...
$64 = 1413149
Loading emacs-lisp/syntax...
$65 = 1417976
Loading font-lock...
$66 = 1469488
Loading jit-lock...
$67 = 1483064
Loading mouse...
$68 = 1534775
Loading scroll-bar...
$69 = 1547197
Loading select...
$70 = 1558271
Loading emacs-lisp/timer...
$71 = 1574828
Loading isearch...
$72 = 1635896
Loading rfn-eshadow...
$73 = 1644164
Loading menu-bar...
$74 = 1685082
Loading paths.el (source)...
$75 = 1688572
Loading startup...
$76 = 1748922
Loading emacs-lisp/lisp...
$77 = 1765301
Loading textmodes/page...
$78 = 1767933
Loading register...
$79 = 1778450
Loading textmodes/paragraphs...
$80 = 1788259
Loading emacs-lisp/lisp-mode...
$81 = 1814516
Loading textmodes/text-mode...
$82 = 1818898
Loading textmodes/fill...
$83 = 1850601
Loading replace...
$84 = 1896328
Loading abbrev...
$85 = 1907316
Loading buff-menu...
$86 = 1928794
Loading fringe...
$87 = 1935824
Loading image...
$88 = 1948064
Loading international/fontset...
$89 = 1970371
Loading dnd...
$90 = 1975446
Loading mwheel...
$91 = 1984375
Loading tool-bar...
$92 = 1993357
Loading x-dnd...
$93 = 5574
Loading emacs-lisp/float-sup...
$94 = 6232
Loading vc-hooks...
$95 = 3081
Loading jka-cmpr-hook...
$96 = 3062
Loading ediff-hook...
$97 = 3343
Loading tooltip...
$98 = 3192
$99 = 3234
(gdb) continue
Continuing.
Dumping under names emacs and emacs-22.0.50.2
emacs:0:Pure Lisp storage overflow (approx. 2159640 bytes needed)
1536 pure bytes used

Program exited normally.
(gdb) 
--8<---------------cut here---------------end--------------->8---

--8<---------------cut here---------------start------------->8---
~/src/links/emacs/cvs-HEAD/i686/src$ gdb ./temacs 
GNU gdb 6.2.1
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i586-suse-linux"...Using host libthread_db library 
"/lib/tls/libthread_db.so.1".

DISPLAY = localhost:12.0
TERM = xterm
Breakpoint 1 at 0x8185989: file 
/home/dept/ste/src/links/emacs/cvs-HEAD/emacs/src/sysdep.c, line 1393.
(gdb) break lread.c:717
Breakpoint 2 at 0x821014c: file 
/home/dept/ste/src/links/emacs/cvs-HEAD/emacs/src/lread.c, line 717.
(gdb) run -batch -l loadup dump
Starting program: 
/import/Archive/Groups/Productivity/Editors/Emacs/emacs/cvs-HEAD/i686/src/temacs
 -batch -l loadup dump
[Thread debugging using libthread_db enabled]
[New Thread 1083362592 (LWP 12468)]
[Switching to Thread 1083362592 (LWP 12468)]

Breakpoint 2, Fload (file=138854739, noerror=138630009, nomessage=138630009, 
nosuffix=138630009, must_suffix=138630009)
    at /home/dept/ste/src/links/emacs/cvs-HEAD/emacs/src/lread.c:718
718       register int fd = -1;
(gdb) print pure_bytes_used
$1 = 75259
$1 = 75259
(gdb) continue
Continuing.
Loading loadup.el (source)...
Loading loadup.el (source)...
Using load-path (/home/dept/ste/src/links/emacs/cvs-HEAD/emacs/lisp)

Breakpoint 2, Fload (file=138858059, noerror=138630009, nomessage=138630009, 
nosuffix=138630009, must_suffix=138630009)
    at /home/dept/ste/src/links/emacs/cvs-HEAD/emacs/src/lread.c:718
718       register int fd = -1;
(gdb) print pure_bytes_used
$2 = 75284
$2 = 75284
Loading emacs-lisp/byte-run...
$3 = 78752
Loading emacs-lisp/backquote...
$4 = 80996
Loading subr...
$5 = 134560
Loading version.el (source)...
$6 = 136543
Loading widget...
$7 = 137055
Loading custom...
$8 = 156712
Loading emacs-lisp/map-ynp...
$9 = 161145
Loading env...
$10 = 164028
Loading cus-start...
$11 = 165893
Loading international/mule...
$12 = 205060
Loading international/mule-conf.el (source)...
$13 = 212149
Loading format...
$14 = 226984
Loading bindings...
$15 = 250075
Loading files...
$16 = 343443
Loading cus-face...
$17 = 354265
Loading faces...
$18 = 402666
Loading loaddefs.el (source)...
$19 = 536045
Loading simple...
$20 = 623551
Loading help...
$21 = 648524
Loading international/mule-cmds...
$22 = 696932
Loading case-table...
$23 = 700388
Loading international/utf-8...
$24 = 715498
Loading international/utf-16...
$25 = 744694
Loading international/characters...
$26 = 746662
Loading international/latin-1 (source)...
$27 = 746662
Loading international/latin-2 (source)...
$28 = 746688
Loading international/latin-3 (source)...
$29 = 746712
Loading international/latin-4 (source)...
$30 = 746736
Loading international/latin-5 (source)...
$31 = 746760
Loading international/latin-8 (source)...
$32 = 746784
Loading international/latin-9 (source)...
$33 = 746808
Loading language/chinese...
$34 = 754027
Loading language/cyrillic...
$35 = 762104
Loading language/indian...
$36 = 765160
Loading language/devanagari (source)...
$37 = 765432
Loading language/malayalam (source)...
$38 = 765576
Loading language/tamil (source)...
$39 = 765704
Loading language/kannada (source)...
$40 = 765956
Loading language/english (source)...
$41 = 766070
Loading language/ethiopic...
$42 = 767351
Loading language/european...
$43 = 781289
Loading language/czech (source)...
$44 = 781502
Loading language/slovak (source)...
$45 = 781711
Loading language/romanian (source)...
$46 = 781937
Loading language/greek (source)...
$47 = 782614
Loading language/hebrew (source)...
$48 = 783751
Loading language/japanese (source)...
$49 = 786649
Loading language/korean (source)...
$50 = 788231
Loading language/lao (source)...
$51 = 788736
Loading language/thai (source)...
$52 = 789949
Loading language/tibetan...
$53 = 818144
Loading language/vietnamese...
$54 = 821998
Loading language/misc-lang (source)...
$55 = 822098
Loading language/utf-8-lang (source)...
$56 = 822555
Loading language/georgian (source)...
$57 = 822769
Loading international/ucs-tables...
$58 = 829083
Loading indent...
$59 = 837056
Loading window...
$60 = 852034
Loading frame...
$61 = 873295
Loading term/tty-colors...
$62 = 877872
Loading font-core...
$63 = 882682
Loading facemenu...
$64 = 893621
Loading emacs-lisp/syntax...
$65 = 896756
Loading font-lock...
$66 = 928936
Loading jit-lock...
$67 = 937152
Loading mouse...
$68 = 969623
Loading scroll-bar...
$69 = 977069
Loading select...
$70 = 983919
Loading emacs-lisp/timer...
$71 = 994052
Loading isearch...
$72 = 1031464
Loading rfn-eshadow...
$73 = 1036460
Loading menu-bar...
$74 = 1062514
Loading paths.el (source)...
$75 = 1065212
Loading startup...
$76 = 1103578
Loading emacs-lisp/lisp...
$77 = 1113445
Loading textmodes/page...
$78 = 1115053
Loading register...
$79 = 1121610
Loading textmodes/paragraphs...
$80 = 1127723
Loading emacs-lisp/lisp-mode...
$81 = 1144212
Loading textmodes/text-mode...
$82 = 1146906
Loading textmodes/fill...
$83 = 1166169
Loading replace...
$84 = 1194136
Loading abbrev...
$85 = 1200676
Loading buff-menu...
$86 = 8962
Loading fringe...
$87 = 3236
Loading image...
$88 = 728
Loading international/fontset...
$89 = 4771
Loading dnd...
$90 = 7838
Loading mwheel...
$91 = 3199
Loading tool-bar...
$92 = 8501
Loading x-dnd...
$93 = 1606
Loading emacs-lisp/float-sup...
$94 = 2008
Loading vc-hooks...
$95 = 8281
Loading jka-cmpr-hook...
$96 = 4374
Loading ediff-hook...
$97 = 4535
Loading tooltip...
$98 = 600
$99 = 626
(gdb) continue
Continuing.
Dumping under names emacs and emacs-22.0.50.2
emacs:0:Pure Lisp storage overflow (approx. 1345256 bytes needed)
608 pure bytes used

Program exited normally.
(gdb)
--8<---------------cut here---------------end--------------->8---

Finally, in footnotes [4] and [5] there is some information about the
machines (CPU, gcc, gdb).  Both machine are running GNU/Linux (SuSE
9.2), 32 and 64 version respectively with all current security patches
available from SUSE.  glibc is glibc-2.3.3-118 on both machines.

Someone pointed out that the filenames (or the directory) might be
stored.  The real directory name is quite long, see [1].  Let me know
if other information might be useful.

Bye, Reiner.

[1]

$ cd ~/src/links/emacs/cvs-HEAD
$ /bin/pwd
/import/Archive/Groups/Productivity/Editors/Emacs/emacs/cvs-HEAD
$ cd emacs
$ cvs update

(on 2006-04-28 approx. at 12:43 CEST)

$ cvs diff -u  > ../rs-`date -I`.patch
$ patch -R -p0 < ../rs-`date -I`.patch
$ cd ..
$ find i686/ x86_64/ -name '*.o'|xargs -r rm
$ find emacs/ -name '*.elc'|xargs -r rm

On each host I run a shell script which basically does... (all details
in emacs-build-`date -I`-`uname -m`.log.gz on [2]

$ export MYCPPFLAGS='-DENABLE_CHECKING=1'
$ cd `uname -m`
$ ../emacs/configure --prefix=/import/xtra/emacs/HEAD --with-gtk \
  --exec-prefix=/import/xtra/emacs/HEAD-`uname -m` &&
  make bootstrap

[2] <URL:http://theotp1.physik.uni-ulm.de/~ste/tmp/emacs/>

[3]
$ sed -ne '1,35p;/^\$[0-9]* = /p;/^Loading/p;919,1000p' \
  < temacs-gdb-`date -I`-`uname -m`.log \
  > temacs-gdb-`date -I`-`uname -m`.pure.log

[4] The x86_64 machine has an AMD Athlon CPU:

$ cat /proc/cpuinfo 
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 31
model name      : AMD Athlon(tm) 64 Processor 3500+
stepping        : 0
cpu MHz         : 2202.859
cache size      : 512 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov 
pat pse36 clflush mmx fxsr sse sse2 pni syscall nx mmxext lm 3dnowext 3dnow ts
bogomips        : 4308.99
TLB size        : 1088 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

$ gcc -v
Reading specs from /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.4/specs
Configured with: ../configure --enable-threads=posix --prefix=/usr 
--with-local-prefix=/usr/local --infodir=/usr/share/info 
--mandir=/usr/share/man --enable-languages=c,c++,f77,objc,java,ada 
--disable-checking --libdir=/usr/lib64 --enable-libgcj 
--with-gxx-include-dir=/usr/include/g++ --with-slibdir=/lib64 
--with-system-zlib --enable-shared --enable-__cxa_atexit x86_64-suse-linux
Thread model: posix
gcc version 3.3.4 (pre 3.3.5 20040809)

$ gdb -v
GNU gdb 6.2.1
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".

[5] The "i686" machine has two Intel Xeon CPUs:

$ cat /proc/cpuinfo 
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 2
model name      : Intel(R) Xeon(TM) CPU 2.40GHz
stepping        : 9
cpu MHz         : 2400.431
cache size      : 512 KB
physical id     : 0
siblings        : 2
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov 
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe cid xtpr
bogomips        : 4751.36

processor       : 1
[...]
processor       : 2
[...]
processor       : 3
[...]

$ gcc -v
Reading specs from /usr/lib/gcc-lib/i586-suse-linux/3.3.4/specs
Configured with: ../configure --enable-threads=posix --prefix=/usr 
--with-local-prefix=/usr/local --infodir=/usr/share/info 
--mandir=/usr/share/man --enable-languages=c,c++,f77,objc,java,ada 
--disable-checking --libdir=/usr/lib --enable-libgcj 
--with-gxx-include-dir=/usr/include/g++ --with-slibdir=/lib --with-system-zlib 
--enable-shared --enable-__cxa_atexit i586-suse-linux
Thread model: posix
gcc version 3.3.4 (pre 3.3.5 20040809)
$ gdb -v
GNU gdb 6.2.1
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i586-suse-linux".





reply via email to

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