Don't include the .bss section in the archos rockboy overlay as well. Explicitly add common symbols to .bss section for plugins and codecs.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8309 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Jens Arnold 2006-01-08 23:45:29 +00:00
parent 07c4254135
commit a991de3730
3 changed files with 11 additions and 7 deletions

View file

@ -113,6 +113,7 @@ SECTIONS
#endif
{
*(.bss*)
*(COMMON)
} > PLUGIN_RAM
/* Special trick to avoid a linker error when no other sections are

View file

@ -69,10 +69,12 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
" overlay doesn't fit into memory.");
return PLUGIN_ERROR;
}
rb->memset(header.start_addr, 0, header.end_addr - header.start_addr);
rb->lseek(fh, 0, SEEK_SET);
readsize = rb->read(fh, header.start_addr, header.end_addr - header.start_addr);
rb->close(fh);
if (readsize != header.end_addr - header.start_addr)
if (readsize <= sizeof(header))
{
rb->splash(2*HZ, true, "Error loading " OVL_DISPLAYNAME " overlay.");
return PLUGIN_ERROR;

View file

@ -28,18 +28,19 @@ SECTIONS
*(.text)
} > OVERLAY_RAM
.rodata : {
*(.rodata)
*(.rodata.str1.1)
*(.rodata.str1.4)
} > OVERLAY_RAM
.data : {
*(.data)
} > OVERLAY_RAM
.bss : {
*(.bss)
} > OVERLAY_RAM
.rodata : {
*(.rodata)
*(.rodata.str1.1)
*(.rodata.str1.4)
*(COMMON)
. = ALIGN(0x4);
_ovl_end_addr = .;
} > OVERLAY_RAM