bert@opusc.CS.SCAROLINA.EDU (Bert Still) (06/02/89)
I compiled the X11R3 (all 9 patches, and Purdue 2++ speedups)
with GCC1.35 using -g -O -fwritable-strings -fpcc-struct-return
-fcombine-regs on my Sun 4/260, running Sun Sys4-3.2 (OS3.2). I got
binaries that were **much** larger than the ones produced by Sun's
cc -O.
Below I have listed the binaries taken from /usr/bin/X11
after doing ``make World; make install''. the numbers inside of
parentheses are the sizes taken from using Sun's compiler.
total 101991 (17367)
1 (1) X 3496 (312) x10tox11 3496 (400) xlogo
2864 (936) Xsun 3624 (416) xbiff 1536 (192) xlsfonts
56 (48) atobm 2016 (264) xcalc 976 (160) xlswins
136 (88) bdftosnf 656 (656) xchess 1832 (216) xmag
2032 (240) bitmap 4640 (528) xclipboard 5336 (608) xman
120 (72) bmtoa 3720 (448) xclock 464 (464) xmandel
24 (24) constype 4040 (448) xcutsel 5568 (648) xmh
1264 (192) ico 3880 (448) xdm 1168 (192) xmodmap
48 (48) kbd_mode 3 (3) xdpr 184 (144) xpr
1352 (168) maze 864 (144) xdpyinfo 1680 (208) xprop
1 (1) mkXsunfonts 1328 (1328) xdvi 1464 (192) xpseudoroot
88 (56) mkfontdir 4936 (568) xedit 544 (544) xqix
984 (160) muncher 1128 (168) xev 896 (152) xrdb
1008 (144) plaid 3584 (448) xeyes 992 (152) xrefresh
1712 (232) puzzle 2008 (224) xfd 1224 (152) xset
112 (96) resize 504 (504) xgif 1368 (176) xsetroot
96 (56) showsnf 952 (144) xhost 5384 (616) xterm
2 (2) startx 840 (144) xinit 1520 (192) xwd
320 (320) twm 1200 (176) xkill 1504 (192) xwininfo
3296 (280) uwm 3584 (432) xload 1728 (192) xwud
Needless to say, I am confused/disappointed... I was
expecting the reverse situation given the responses I had seen
from various people about GCC1.34 and X11R3.
I can also report two bugs with GCC1.35 that I noticed in
the process of doing the compiles. If I compile the ``rgb'' program
with gcc (same options as above), and the run ``rgb rgb < rgb.txt''
as in the Makefile, I get a core dump (Segmentation fault). Invoking
``dbx'' gives:
% dbx a.out core
Reading symbolic information...
Read 343 symbols
(dbx) where
calchash() at 0x35c0
store() at 0x2948
main(), line 110 in "rgb.c"
(dbx) list
110 if (store (key, content)) {
111 fprintf (stderr, "store of %s failed\n", name);
112 fflush (stderr);
113 }
114 }
115 }
(dbx) quit
I am looking into this, but do not yet have any real guesses...
The second bug is more straightforward. ``gcc-cc1'' dumps
core when gcc is invoked on certain files from X11R3. For example,
% gcc -g -O -fwritable-strings -fpcc-struct-return \
-fstrength-reduce -c -I. -I../../. -I../.././X11 \
-DTCPCONN -DUNIXCONN XStrKeysym.c
gcc: Program cc1 got fatal signal 4.
% dbx gcc-cc1 core
Reading symbolic information...
Read 43339 symbols
(dbx) where
abort() at 0x95908
insn_extract(), line 1372 in "insn-extract.c"
regclass(), line 402 in "regclass.c"
rest_of_compilation(), line 1437 in "toplev.c"
finish_function(), line 3647 in "c-decl.c"
yyparse(), line 249 in "bison.simple"
compile_file(), line 1009 in "toplev.c"
main(), line 1795 in "toplev.c"
(dbx) list
1372 if (INSN_CODE (insn) == -1) abort ();
1373 (*insn_extract_fn[INSN_CODE (insn)]) (PATTERN (insn));
1374 }
(dbx) quit
Again, if I get some time, I may try to figure out what happened here.
Does anyone who have any ideas whether this will happen under SunOS4.0.1?
We are planning a migration here shortly, but that may yet be a few weeks
off...
Comments/Suggestions/Ideas/Sympathy solicited... :-) As always,
thanks in advance (aren't you so glad I didn't get cute and type
aTdHvAaNnKcSe...?)
bert@cs.scarolina.edu
"Don't even try the (R)eply command... most mailers seem to route my
e-mail through the Twilight Zone..."
--
Domain: bert%opus@cs.scarolina.edu ##### BITNET: T410119@UNIVSCVM
LarynxNet: Bert Still
AcadNet: Computer Services Division, University Of South Carolinabarry@confusion.ADS.COM (Barry Lustig) (06/03/89)
In article <195@opusc.CS.SCAROLINA.EDU> bert@cs.scarolina.edu (Bert Still) writes:
I compiled the X11R3 (all 9 patches, and Purdue 2++ speedups)
with GCC1.35 using -g -O -fwritable-strings -fpcc-struct-return
-fcombine-regs on my Sun 4/260, running Sun Sys4-3.2 (OS3.2). I got
binaries that were **much** larger than the ones produced by Sun's
cc -O.
...
total 101991 (17367)
1 (1) X 3496 (312) x10tox11 3496 (400) xlogo
2864 (936) Xsun 3624 (416) xbiff 1536 (192) xlsfonts
56 (48) atobm 2016 (264) xcalc 976 (160) xlswins
....
When you compile a file with the "-g" flag turned on, the compiler
produces symbol table information for the binary. Try running the Sun
C compiler with the "-g" flag turned on or, try running gcc with "-g"
turned off.
barry