[comp.unix.ultrix] vcc wastes disk space

eric@skatter.uucp (Eric Norum) (01/31/89)

Reply-to: eric@skatter.uucp (Eric Norum)

Recompiling a bunch of stuff with DEC's `vcc' made our disk free
space disappear.

Problem:
	DEC's VAX C compiler seems intended to help DEC sell disk drives.
	Uninitialized static variables end up in the data segment instead
	of the bss segment.

Software:
	Tested on ULTRIX 2.2 and ULTRIX 2.3

Hardware:
	Tested on MicroVAX II and VAX-11/750
	Problem probably exists on all VAX machines.

Repeat-By:
	Compile the following program with `cc' and 'vcc':

	static int foo[30000];
	main ()
	{
		printf ("Hello world.\n");
	}

	Check the difference in size:

	% cc foo.c
	% size a.out
	text    data    bss     dec     hex
	4096    1024    119476  124596  1e6b4
	% ls -l a.out
	-rwxr-xr-x  1 eric         8192 Jan 24 08:28 a.out

	% vcc foo.c
	% size a.out
	text    data    bss     dec     hex
	4096    120832  0       124928  1e800
	% ls -l a.out
	-rwxr-xr-x  1 eric       127083 Jan 24 08:29 a.out

Fix:
	I am hoping someone out there can tell me.......
Eric Norum                            eric@skatter.USask.ca
Electrical Engineer
Accelerator Laboratory                  UUCP: ...!alberta!dvinci!skatter!eric
University of Saskatchewan            BITNET: NORUME@SASK