diff options
author | Björn Gustavsson <[email protected]> | 2009-11-29 18:06:30 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2009-11-29 18:17:23 +0100 |
commit | a12141712c91b6225348749fea5f729a747260c2 (patch) | |
tree | a9a74f0566f601ed34e6d452b7b13a228aec180b | |
parent | 6448c56ecc7c6584a983c5173fd0748068820698 (diff) | |
download | otp-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.c | 1 |
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; /* |