aboutsummaryrefslogtreecommitdiffstats
path: root/erts/preloaded/src/add_abstract_code
diff options
context:
space:
mode:
authorFredrik Gustafsson <[email protected]>2013-06-03 16:11:15 +0200
committerFredrik Gustafsson <[email protected]>2013-06-03 16:11:15 +0200
commit46c45db2558cda8e36dc7d977db722b1b8d8c86f (patch)
tree65c03ebbb51bce37721aefb8ffd7aab122ae0552 /erts/preloaded/src/add_abstract_code
parent7628e12e131be700af0b695d03e4cd1d73d03d6b (diff)
parent833600ed0a140983eaa87810131356739f8484ff (diff)
downloadotp-46c45db2558cda8e36dc7d977db722b1b8d8c86f.tar.gz
otp-46c45db2558cda8e36dc7d977db722b1b8d8c86f.tar.bz2
otp-46c45db2558cda8e36dc7d977db722b1b8d8c86f.zip
Merge branch 'nox/erl_eval-receive/OTP-11137' into maint
* nox/erl_eval-receive/OTP-11137: Updated primary bootstrap for erl_eval Added preloaded prim_eval Fix receive support in erl_eval with a BEAM module
Diffstat (limited to 'erts/preloaded/src/add_abstract_code')
-rw-r--r--erts/preloaded/src/add_abstract_code34
1 files changed, 34 insertions, 0 deletions
diff --git a/erts/preloaded/src/add_abstract_code b/erts/preloaded/src/add_abstract_code
new file mode 100644
index 0000000000..e670156d21
--- /dev/null
+++ b/erts/preloaded/src/add_abstract_code
@@ -0,0 +1,34 @@
+#!/usr/bin/env escript
+%% -*- erlang -*-
+
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2013. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+
+-mode(compile).
+
+-export([main/1]).
+
+main([BeamFile,AbstrFile]) ->
+ {ok,_,Chunks0} = beam_lib:all_chunks(BeamFile),
+ {ok,Abstr} = file:consult(AbstrFile),
+ Chunks = lists:keyreplace("Abst", 1, Chunks0,
+ {"Abst",term_to_binary({raw_abstract_v1,Abstr})}),
+ {ok,Module} = beam_lib:build_module(Chunks),
+ ok = file:write_file(BeamFile, Module),
+ init:stop().