Subject: Re: Virtual memory exhausted?
To: Collin Baillie <sanac@optushome.com.au>
From: Joel Reicher <joel@panacea.null.org>
List: port-pmax
Date: 04/19/2002 14:35:55
> So soft limits are 33MB and hard limits are 288MB. But I cannot seem to
> change soft limits. ulimit -m unlimited worked so I tried compiling it
> again. Same error. Tried compiling it in csh after running unlimit. Memory
> usage went up to 125MB! Then it dropper to &) then got to the assembler
> stage and was using about 5MB and I got those same assembler errors:
> 
> /tmp/ccmIM6X3.s: Assembler messages:
> /tmp/ccmIM6X3.s:28764: Error: Branch out of range
> 
> 
> So, unlimit gave it the memory to go thru the high optimization, but once it
> gets to the assembler stage, it fails.
> 
> Is this likely to be an issue with the package I am compiling, or a problem
> with the gcc/assembler for pmax?

Inadequacy/bug in gcc. The assembly it generates does not cope with large
functions. The easiest fix is probably to split the function up in the
source. The more tedious, but potentially more straightforward fix is to
compile with -S, manually hack the branches in the assembly, and then
assemble. I've done both - they both work.

Cheers,

	- Joel