diff options
Diffstat (limited to 'backends/plugins/elf/mips-loader.cpp')
-rw-r--r-- | backends/plugins/elf/mips-loader.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/backends/plugins/elf/mips-loader.cpp b/backends/plugins/elf/mips-loader.cpp index 53ffc2f01b..b25017af98 100644 --- a/backends/plugins/elf/mips-loader.cpp +++ b/backends/plugins/elf/mips-loader.cpp @@ -281,7 +281,7 @@ bool MIPSDLObject::loadSegment(Elf32_Phdr *phdr) { // We need to take account of non-allocated segment for shorts if (phdr->p_flags & PF_X) { // This is a relocated segment // Attempt to allocate memory for segment - _segment = (byte *)allocSegment(phdr->p_align, phdr->p_memsz); + _segment = (byte *)memalign(phdr->p_align, phdr->p_memsz); if (!_segment) { warning("elfloader: Out of memory."); @@ -328,7 +328,10 @@ bool MIPSDLObject::loadSegment(Elf32_Phdr *phdr) { // Unload all objects from memory void MIPSDLObject::unload() { DLObject::unload(); - + freeShortsSegment(); +} + +void MIPSDLObject::freeShortsSegment() { if (_shortsSegment) { ShortsMan.deleteSegment(_shortsSegment); _shortsSegment = 0; |