HP aC++ Release Notes Version A.03.95 (5900-1789; September 2011)

HP aC++ Release Notes
New Features in Version A.03.33
Chapter 138
instead of
699 Error limit reached: halting compilation
For example, the following increases the maximum to 100 errors:
$export aCC_MAXERR=100
$aCC -c buggy.c
Small Block Allocator for malloc
The aC++ runtime now automatically enables mallocs Small Block Allocator (SBA) after the aCC
runtime patch and libc patch appropriate for your system are installed. (See the Required Patches section
above.) This improves heap performance.
For more information see malloc(3) and mallopt(3) manpages.
The default values are:
M_MXFAST = 512 bytes
M_NLBLKS = 100
M_GRAIN = 8 bytes
If you want to change the defaults, the environment variable _M_SBA_OPTS can be used. The format is:
export _M_SBA_OPTS=<maxfast>:<numlblks>:<grain>
If your existing application is already calling mallopt, then mallopt will likely return an error because
libCsup will have already called mallopt and allocated a small block by the time the application calls
mallopt.
If the above defaults are acceptable or you are already using _M_SBA_OPTS then the error should just be
ignored. If the defaults degrade performance, then either set _M_SBA_OPTS with the values used by the
application or disable this new feature by using the following:
export _M_SBA_OPTS=0:0:0
Applications with latent memory leaks may fail. If the application allocates a block that is too small while
SBA is disabled, the block may be padded such that a overrun of the end of the allocated block might not
cause a failure. But with SBA enabled, the next contiguous bytes may have been used for control
information and an overrun would corrupt the heap and cause various aborts.