Correct incorrect free in PE linker
ClosedPublic

Authored by Phyx on Aug 16 2017, 2:35 PM.

Details

Summary

The big-obj support (D3523) had introduced an early free on
the info structure. Because the pointer is not NULL'd
and the default of all the utility functions was to the
standard object format, it all kept working.

The one big-obj test that exists was subjected to a timing issue.
usually the test ran quickly enough that the allocator hasn't
had time to reclaim the memory yet, so it still passed.

This corrects it. Also as it so happens, static LLVM libraries
from mingw-w64 are compiled using big-obj.

Test Plan

./validate

Diff Detail

Repository
rGHC Glasgow Haskell Compiler
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
Phyx created this revision.Aug 16 2017, 2:35 PM
bgamari accepted this revision.Aug 18 2017, 9:31 AM

Wow, good catch.

This revision is now accepted and ready to land.Aug 18 2017, 9:31 AM
Phyx added a comment.Aug 19 2017, 2:27 AM

Thanks for the review!

This revision was automatically updated to reflect the committed changes.