This option sets the maximum size of the area shared by the static data (both initialized and uninitialized) and the heap to size bytes.  This value is used by the system loader to set the soft ulimit.

The default setting is -bmaxdata=0.


Read syntax diagramSkip visual syntax diagram                  .-0------.
>>- -bmaxdata--=--+-number-+-----------------------------------><


Valid values for number are 0 and multiples of 0x10000000 (0x10000000, 0x20000000, 0x30000000, ...).  The maximum value allowed by the system is 0x80000000.

If the value of size is 0, a single 256MB (0x10000000 byte) data segment (segment 2) will be shared by the static data, the heap, and the stack.  If the value is non-zero, a data area of the specified size (starting in segment 3) will be shared by the static data and the heap, while a separate 256 MB data segment (segment 2) will be used by the stack.  So, the total data size when 0 is specified 0 is 256MB, and the total size when 0x10000000 is specified is 512MB, with 256MB for the stack and 256MB for static data and the heap.

Related information