Handle unaligned .bss on sparc64.

Current code improperly assumes that both __bss_start and _end are
	aligned to 8-bytes. Eliminating this assumption and explicitly align
	modules.
This commit is contained in:
Vladimir Serbinenko 2013-12-04 20:05:24 +01:00
parent 4a73746a04
commit e5ed2f6947
5 changed files with 49 additions and 10 deletions

View file

@ -1356,6 +1356,11 @@ SUFFIX (load_image) (const char *kernel_path, size_t *exec_size,
else
*bss_size = 0;
if (image_target->id == IMAGE_SPARC64_AOUT
|| image_target->id == IMAGE_SPARC64_RAW
|| image_target->id == IMAGE_SPARC64_CDCORE)
*kernel_sz = ALIGN_UP (*kernel_sz, image_target->mod_align);
if (image_target->id == IMAGE_EFI)
{
symtab_section = NULL;