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
|
#if defined(IRAMSIZE) && IRAMSIZE == 0
|
||||||
*(.irodata)
|
*(.irodata)
|
||||||
#endif
|
#endif
|
||||||
|
. = ALIGN(0x4);
|
||||||
} > PLUGIN_RAM
|
} > PLUGIN_RAM
|
||||||
|
|
||||||
.data :
|
.data :
|
||||||
|
@ -265,11 +266,15 @@ SECTIONS
|
||||||
. = ALIGN(CACHEALIGN_SIZE);
|
. = ALIGN(CACHEALIGN_SIZE);
|
||||||
*(.ncdata*)
|
*(.ncdata*)
|
||||||
. = ALIGN(CACHEALIGN_SIZE);
|
. = ALIGN(CACHEALIGN_SIZE);
|
||||||
} AT> PLUGIN_RAM
|
/* EABI currently needs iramcopy defined here, otherwise .iram can sometimes
|
||||||
. -= NOCACHE_BASE;
|
have an incorrect load address, breaking codecs. */
|
||||||
|
#if defined(IRAMSIZE)
|
||||||
|
iramcopy = . - NOCACHE_BASE;
|
||||||
#endif
|
#endif
|
||||||
|
} AT> PLUGIN_RAM
|
||||||
#if defined(IRAMSIZE) && IRAMSIZE != 0
|
/* 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 = .;
|
iramcopy = .;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -281,7 +286,27 @@ SECTIONS
|
||||||
#endif
|
#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 = .;
|
||||||
_plugin_bss_start = .;
|
_plugin_bss_start = .;
|
||||||
|
@ -300,35 +325,15 @@ SECTIONS
|
||||||
*(.ncbss*)
|
*(.ncbss*)
|
||||||
. = ALIGN(CACHEALIGN_SIZE);
|
. = ALIGN(CACHEALIGN_SIZE);
|
||||||
} AT> PLUGIN_RAM
|
} AT> PLUGIN_RAM
|
||||||
. -= NOCACHE_BASE;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Final end of plugin after IRAM setup */
|
/* Restore . */
|
||||||
.pluginend :
|
.pluginend . - NOCACHE_BASE :
|
||||||
{
|
{
|
||||||
_plugin_end_addr = .;
|
_plugin_end_addr = .;
|
||||||
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
|
/* Special trick to avoid a linker error when no other sections are
|
||||||
left after garbage collection (plugin not for this platform) */
|
left after garbage collection (plugin not for this platform) */
|
||||||
.comment 0 :
|
.comment 0 :
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue