aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2012-05-11 16:58:38 +0200
committerSverker Eriksson <[email protected]>2012-08-21 19:21:27 +0200
commit77d6845c94e75b6da1f7f995e39a6ce455e86de6 (patch)
tree2f64458952562270582da22fa0d18a4959d53a88 /lib
parent064b42237d891d5fdcb6c1a351980b8291437618 (diff)
downloadotp-77d6845c94e75b6da1f7f995e39a6ce455e86de6.tar.gz
otp-77d6845c94e75b6da1f7f995e39a6ce455e86de6.tar.bz2
otp-77d6845c94e75b6da1f7f995e39a6ce455e86de6.zip
kernel: Disable hipe compilation for hipe_unified_loader
Workaround for crash in code_server.
Diffstat (limited to 'lib')
-rw-r--r--lib/kernel/src/hipe_unified_loader.erl7
-rw-r--r--lib/kernel/test/code_SUITE.erl3
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/kernel/src/hipe_unified_loader.erl b/lib/kernel/src/hipe_unified_loader.erl
index 8b3aa0286d..514c002d87 100644
--- a/lib/kernel/src/hipe_unified_loader.erl
+++ b/lib/kernel/src/hipe_unified_loader.erl
@@ -34,6 +34,13 @@
-module(hipe_unified_loader).
+-compile(no_native).
+% 'no_native' is a workaround to avoid "The code server called unloaded module"
+% caused by Mod:module_info(exports) in patch_to_emu_step1() called by post_beam_load.
+% Reproducable with hipelibs and asn1_SUITE.
+% I think the real solution would be to let BIF erlang:load_module/2 redirect all
+% hipe calls to the module and thereby remove post_beam_load.
+
-export([chunk_name/1,
%% Only the code and code_server modules may call the entries below!
load_native_code/2,
diff --git a/lib/kernel/test/code_SUITE.erl b/lib/kernel/test/code_SUITE.erl
index 3e8bdaf1ff..827208b048 100644
--- a/lib/kernel/test/code_SUITE.erl
+++ b/lib/kernel/test/code_SUITE.erl
@@ -1550,7 +1550,8 @@ native_early_modules_1(Architecture) ->
true ->
?line true = lists:all(fun code:is_module_native/1,
[ets,file,filename,gb_sets,gb_trees,
- hipe_unified_loader,lists,os,packages]),
+ %%hipe_unified_loader, no_native as workaround
+ lists,os,packages]),
ok
end.