(Take #2)
If .bss wasn't large enough, and .ncdata was empty, .ncbss would be
at an address overlapping the alignment-padded end of .ncdata and
and linking would fail with an overlap error.
Adds plugin load end address that accounts for IRAM going past
the final .bss sections, making IRAM overlay compatible. load_code
could also use this instead of the file size.
The .lds becomes a bit more straightforward and explicit when
assigning addresses.
Change-Id: Id0c33f257710e97ece2c831e0feaaa32c1a14e05
Overlay plugins got broken because ovl_offset.pl assumes the audio buffer
ends where the plugin buffer starts. Buflib however keeps its handle table
there, so there are a few hundred bytes fewer available, so loading the
overlay fails. We work around this by linking the overlay at a slightly
lower address (1024 bytes lower). If the handle table ever grows more than
that, overlays will start failing again and we either need a different
solution or increase the margin a bit.
Change-Id: Id98cb52da2c8c4a4bc773362a46f646774112f85