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 Carolina
barry@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