Typically the RAM region is defined to be the size of the available RAM on the target board.
You are in one of two scenarios:
- The size of RAM defined by the build is too small, there is actually more RAM available, and the board configuration needs to be updated to the true size
- You need more .bss than there is available RAM on the device, in which case you need to conserve RAM elsewhere or use a different board.
Unfortunately, the latter is the most likely.
What board is this?
If Arduino 101, RAM between ARC and x86 side is shared with different regions for each. The default is 55K for x86 and 24K for ARC, with 1K of shared space. 80K total available. If you don’t need the ARC you could claim its ram on the x86 side.