hrydgard/ppsspp — pull request #3542 by unknownbrackets (2013-09-01 01:59:01+00:00)
Title: Track module imports and exports with a proper lifecycle

This makes a number of changes to the way module imports/exports are processed.

* Before, if a module was unloaded, its exports were still resolved when loading other modules (to garbage.)
* Similarly, if an unresolved import in an unloaded module was fulfilled, memory might be randomly overwritten.
* Exports are now "unresolved" (both var and func) when the module is unloaded (but only if the importer has not been unloaded.)
* Logging has been clarified to improve the distinction between a simple func import, and a syscall. Yet unknown modules no longer show in red as errors.

I haven't really had much success testing this on a PSP, but games that require either var and func imports still work fine. I'm hoping this will improve:

* Tales of the Word: Radiant Mythology 2/3, God Eater Burst 1/2 which I think have had problems in this area still.
* Potentially any of the games on these lists (although I'm mostly stabbing at the dark hoping some are affected):

http://report.ppsspp.org/logs/kind/280?status=any
http://report.ppsspp.org/logs/kind/281?status=any
http://report.ppsspp.org/logs/kind/283?status=any

-[Unknown]