More fixes to psp-prxgen

This commit is contained in:
Arthur Blot
2012-02-29 14:57:54 +01:00
parent 390df965ea
commit a3f9a622bb

View File

@@ -596,17 +596,11 @@ int calculate_outsize(void)
mem_size = top_addr;
}
out_sects++;
str_size += strlen(g_elfsections[i].szName) + 1;
}
else if((g_elfsections[i].iType == SHT_REL) || (g_elfsections[i].iType == SHT_PRXRELOC))
{
/* Check this is a reloc for an allocated section */
if(g_elfsections[g_elfsections[i].iInfo].iFlags & SHF_ALLOC)
{
reloc_size += g_elfsections[i].iSize;
out_sects++;
}
str_size += strlen(g_elfsections[i].szName) + 1;
}
else
@@ -620,9 +614,9 @@ int calculate_outsize(void)
mem_size = top_addr;
}
out_sects++;
str_size += strlen(g_elfsections[i].szName) + 1;
}
out_sects++;
}
}
@@ -762,11 +756,13 @@ void output_sh(unsigned char *data)
SW(&shdr->sh_addralign, g_elfsections[i].iAddralign);
SW(&shdr->sh_entsize, g_elfsections[i].iEntsize);
if(((g_elfsections[i].iType == SHT_REL) || (g_elfsections[i].iType == SHT_PRXRELOC))
&& (g_elfsections[g_elfsections[i].iInfo].iFlags & SHF_ALLOC))
if((g_elfsections[i].iType == SHT_REL) || (g_elfsections[i].iType == SHT_PRXRELOC))
{
SW(&shdr->sh_type, SHT_PRXRELOC);
if (g_elfsections[i].pRef)
SW(&shdr->sh_info, g_elfsections[i].pRef->iIndex);
else
SW(&shdr->sh_info, 0);
SW(&shdr->sh_offset, reloc_ofs);
reloc_ofs += g_elfsections[i].iSize;
}