-largedata

Allows arrays and structures exceeding 2GB in size using the allocate statement (all platforms) and in uninitialized static (Linux only).
Restriction: Supported on 64-bit Windows and Linux platforms only.
All 64-bit platforms
Allows arrays and structures exceeding 2GB in size using the allocate statement.

Array bounds can be any values up to 2^63, and the following built-in functions return fixed-bin(63) values:

  • SIZE
  • STORAGE
  • HBOUND
  • LBOUND
  • DIMENSION

-largedata also enables -medium_model.

Data information files created by the -adt and -dc options do not support data items exceeding 2GB in size.

The Eclipse IDE does not fully support large data items; for example, Intellisense is not implemented when looking at data item sizes.

Linux 64-bit platforms only
In addition to allowing arrays and structures exceeding 2GB in size using the allocate statement, Linux platforms also support this in uninitialized static.

The 2GB total limit for uninitialized static does not apply when using -largedata.

On Linux, creating an object file with a .data (initialized static) or .bss (uninitialized static) section that exceeds 4GB in size requires the libelf library at v0.186 or later. You can download the latest release of libelf from https://sourceware.org/elfutils/.

-largedata is not compatible with -pic.