aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2009-11-29 18:06:30 +0100
committerBjörn Gustavsson <[email protected]>2009-11-29 18:17:23 +0100
commita12141712c91b6225348749fea5f729a747260c2 (patch)
treea9a74f0566f601ed34e6d452b7b13a228aec180b
parent6448c56ecc7c6584a983c5173fd0748068820698 (diff)
downloadotp-a12141712c91b6225348749fea5f729a747260c2.tar.gz
otp-a12141712c91b6225348749fea5f729a747260c2.tar.bz2
otp-a12141712c91b6225348749fea5f729a747260c2.zip
Fix glitches when native code modules are used
The erlang:make_stub_module/3 BIF (which is only used for loading native code) does not zero the word that points out an on_load routine (if any). As that word most proably will contain a non-zero value, the erlang:module_loaded/1 BIF will think that the module has an on_load routine which has not returned and will always return 'false'. That in turns causes various problems for the native code test cases.
-rw-r--r--erts/emulator/beam/beam_load.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/erts/emulator/beam/beam_load.c b/erts/emulator/beam/beam_load.c
index 47dd98117d..99fab28dce 100644
--- a/erts/emulator/beam/beam_load.c
+++ b/erts/emulator/beam/beam_load.c
@@ -5090,6 +5090,7 @@ erts_make_stub_module(Process* p, Eterm Mod, Eterm Beam, Eterm Info)
code[MI_COMPILE_PTR] = 0;
code[MI_COMPILE_SIZE_ON_HEAP] = 0;
code[MI_NUM_BREAKPOINTS] = 0;
+ code[MI_ON_LOAD_FUNCTION_PTR] = 0;
ci = MI_FUNCTIONS + n + 1;
/*