* elf32-spu.c (spu_elf_auto_overlay): Use the maximum possible

if --fixed-space request is too large.
This commit is contained in:
Alan Modra 2008-08-04 13:01:42 +00:00
parent 413a266c4f
commit e5e6a5ff6e
2 changed files with 13 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2008-08-04 Alan Modra <amodra@bigpond.net.au>
* elf32-spu.c (spu_elf_auto_overlay): Use the maximum possible
if --fixed-space request is too large.
2008-08-04 Alan Modra <amodra@bigpond.net.au>
* Makefile.am (SRC-POTFILES.in, BLD-POTFILES.in): Set LC_ALL=C.

View File

@ -3608,14 +3608,18 @@ spu_elf_auto_overlay (struct bfd_link_info *info,
(bfd_vma) mos_param.max_overlay_size);
/* Now see if we should put some functions in the non-overlay area. */
if (fixed_size < htab->overlay_fixed
&& htab->overlay_fixed + mos_param.max_overlay_size < htab->local_store)
else if (fixed_size < htab->overlay_fixed)
{
unsigned int lib_size = htab->overlay_fixed - fixed_size;
unsigned int max_fixed, lib_size;
max_fixed = htab->local_store - mos_param.max_overlay_size;
if (max_fixed > htab->overlay_fixed)
max_fixed = htab->overlay_fixed;
lib_size = max_fixed - fixed_size;
lib_size = auto_ovl_lib_functions (info, lib_size);
if (lib_size == (unsigned int) -1)
goto err_exit;
fixed_size = htab->overlay_fixed - lib_size;
fixed_size = max_fixed - lib_size;
}
/* Build an array of sections, suitably sorted to place into