aboutsummaryrefslogtreecommitdiffstats
path: root/erts
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2014-06-17 11:06:52 +0200
committerBjörn Gustavsson <[email protected]>2014-06-17 11:06:52 +0200
commitef1a60edd1cb8f1fffc4fa3b1995914efff5393d (patch)
tree62815b12dcb69906b2145a54b17d383438d4a213 /erts
parentefcd03504202c288047311368a729bc83f71ecaa (diff)
parenta182917681b28ec7129adf73d863fa6b11670c10 (diff)
downloadotp-ef1a60edd1cb8f1fffc4fa3b1995914efff5393d.tar.gz
otp-ef1a60edd1cb8f1fffc4fa3b1995914efff5393d.tar.bz2
otp-ef1a60edd1cb8f1fffc4fa3b1995914efff5393d.zip
Merge branch 'maint'
* maint: Fix handling of latin1 characters in false ifdef branches add_abstract_code: Remove 'from_asm' option Remove documentation and stub for non-exist file:file_info/1
Diffstat (limited to 'erts')
-rw-r--r--erts/preloaded/src/add_abstract_code14
1 files changed, 12 insertions, 2 deletions
diff --git a/erts/preloaded/src/add_abstract_code b/erts/preloaded/src/add_abstract_code
index e670156d21..211a60c930 100644
--- a/erts/preloaded/src/add_abstract_code
+++ b/erts/preloaded/src/add_abstract_code
@@ -27,8 +27,18 @@
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})}),
+ Chunks1 = lists:keyreplace("Abst", 1, Chunks0,
+ {"Abst",term_to_binary({raw_abstract_v1,Abstr})}),
+ {"CInf",CInf0} = lists:keyfind("CInf", 1, Chunks1),
+ CInf = fix_options(CInf0),
+ Chunks = lists:keyreplace("CInf", 1, Chunks1, {"CInf",CInf}),
{ok,Module} = beam_lib:build_module(Chunks),
ok = file:write_file(BeamFile, Module),
init:stop().
+
+fix_options(CInf0) ->
+ CInf1 = binary_to_term(CInf0),
+ {options,Opts0} = lists:keyfind(options, 1, CInf1),
+ Opts = Opts0 -- [from_asm],
+ CInf = lists:keyreplace(options, 1, CInf1, {options,Opts}),
+ term_to_binary(CInf).