forked from len0rd/rockbox
Revert "Fix .ncbss from possibly overlapping .ncdata in plugins/codecs."
This reverts commit 5c2ad2fd36
.
The .ncbss bug is still showing up. Will try again shortly.
This commit is contained in:
parent
5c2ad2fd36
commit
2948cb42ae
1 changed files with 35 additions and 30 deletions
|
@ -249,6 +249,7 @@ SECTIONS
|
|||
#if defined(IRAMSIZE) && IRAMSIZE == 0
|
||||
*(.irodata)
|
||||
#endif
|
||||
. = ALIGN(0x4);
|
||||
} > PLUGIN_RAM
|
||||
|
||||
.data :
|
||||
|
@ -265,11 +266,15 @@ SECTIONS
|
|||
. = ALIGN(CACHEALIGN_SIZE);
|
||||
*(.ncdata*)
|
||||
. = ALIGN(CACHEALIGN_SIZE);
|
||||
} AT> PLUGIN_RAM
|
||||
. -= NOCACHE_BASE;
|
||||
/* EABI currently needs iramcopy defined here, otherwise .iram can sometimes
|
||||
have an incorrect load address, breaking codecs. */
|
||||
#if defined(IRAMSIZE)
|
||||
iramcopy = . - NOCACHE_BASE;
|
||||
#endif
|
||||
|
||||
#if defined(IRAMSIZE) && IRAMSIZE != 0
|
||||
} AT> PLUGIN_RAM
|
||||
/* This definition is used when NOCACHE_BASE is 0. The address offset bug only
|
||||
seems to occur when the empty .ncdata is present. */
|
||||
#elif defined(IRAMSIZE)
|
||||
iramcopy = .;
|
||||
#endif
|
||||
|
||||
|
@ -281,7 +286,27 @@ SECTIONS
|
|||
#endif
|
||||
}
|
||||
|
||||
.bss . (NOLOAD) :
|
||||
#if defined(IRAMSIZE) && IRAMSIZE != 0
|
||||
.iram IRAMORIG : AT ( iramcopy)
|
||||
{
|
||||
iramstart = .;
|
||||
*(.icode)
|
||||
*(.irodata)
|
||||
*(.idata)
|
||||
iramend = .;
|
||||
} > PLUGIN_IRAM
|
||||
|
||||
|
||||
.ibss (NOLOAD) :
|
||||
{
|
||||
iedata = .;
|
||||
*(.ibss)
|
||||
. = ALIGN(0x4);
|
||||
iend = .;
|
||||
} > PLUGIN_IRAM
|
||||
#endif
|
||||
|
||||
.bss (NOLOAD) :
|
||||
{
|
||||
plugin_bss_start = .;
|
||||
_plugin_bss_start = .;
|
||||
|
@ -300,35 +325,15 @@ SECTIONS
|
|||
*(.ncbss*)
|
||||
. = ALIGN(CACHEALIGN_SIZE);
|
||||
} AT> PLUGIN_RAM
|
||||
. -= NOCACHE_BASE;
|
||||
#endif
|
||||
|
||||
/* Final end of plugin after IRAM setup */
|
||||
.pluginend :
|
||||
/* Restore . */
|
||||
.pluginend . - NOCACHE_BASE :
|
||||
{
|
||||
_plugin_end_addr = .;
|
||||
plugin_end_addr = .;
|
||||
}
|
||||
|
||||
#if defined(IRAMSIZE) && IRAMSIZE != 0
|
||||
.iram IRAMORIG : AT (iramcopy)
|
||||
{
|
||||
iramstart = .;
|
||||
*(.icode)
|
||||
*(.irodata)
|
||||
*(.idata)
|
||||
iramend = .;
|
||||
} > PLUGIN_IRAM
|
||||
|
||||
.ibss (NOLOAD) :
|
||||
{
|
||||
iedata = .;
|
||||
*(.ibss)
|
||||
. = ALIGN(0x4);
|
||||
iend = .;
|
||||
} > PLUGIN_IRAM
|
||||
#endif
|
||||
|
||||
/* Special trick to avoid a linker error when no other sections are
|
||||
left after garbage collection (plugin not for this platform) */
|
||||
.comment 0 :
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue