arm: Fix PortalPlayer linker scripts with binutils 2.21+

For reasons that are still unclear, the 'ncbss' region was overlapping
the "audiobuffer" when linked with 2.21, but okay with 2.20.

Fixed it by making the audiobuffer explcitly use the current position
instead of relying on it being implicit.

With this change, portalplayer-based targets generate working binaries
when built with binutils 2.21 or newer.

This bug also theoretically affects imx233/imx31 targets as they
also have NOCACHE_BASE games in their linker scripts, but I lack
access to one to test with.

Change-Id: Idb38ab20f03599b9ed3d4bc0eafe519f38677438
This commit is contained in:
Solomon Peachy 2020-07-03 17:39:39 -04:00
parent 905e19905b
commit cd9906847b
5 changed files with 7 additions and 7 deletions

View file

@ -116,7 +116,7 @@ SECTIONS
_end = .;
} > DRAM
.audiobuf (NOLOAD) :
.audiobuf _end (NOLOAD) :
{
_audiobuffer = .;
audiobuffer = .;

View file

@ -90,7 +90,7 @@ SECTIONS
. = ALIGN(CACHEALIGN_SIZE);
} AT> DRAM
.bssendadr (NOLOAD) :
.bssendadr . (NOLOAD) :
{
_end = .;
} > DRAM

View file

@ -122,7 +122,7 @@ SECTIONS
*(COMMON)
. = ALIGN(0x4);
} > DRAM
.ncbss . + NOCACHE_BASE (NOLOAD) :
{
. = ALIGN(CACHEALIGN_SIZE); /* >= Cache line boundary */
@ -135,7 +135,7 @@ SECTIONS
_end = .;
} > DRAM
.audiobuf (NOLOAD) :
.audiobuf _end (NOLOAD) :
{
_audiobuffer = .;
audiobuffer = .;

View file

@ -93,7 +93,7 @@ SECTIONS
*(COMMON)
. = ALIGN(0x4);
} > DRAM
.ncbss . + NOCACHE_BASE (NOLOAD) :
{
. = ALIGN(CACHEALIGN_SIZE); /* >= Cache line boundary */
@ -106,7 +106,7 @@ SECTIONS
_end = .;
} > DRAM
.qharray (NOLOAD) :
.qharray _end (NOLOAD) :
{
_qharray = .;
*(.qharray)

View file

@ -169,7 +169,7 @@ SECTIONS
_end = .;
} > DRAM
.audiobuf (NOLOAD) :
.audiobuf _end (NOLOAD) :
{
_audiobuffer = .;
. = ALIGN(0x4);