summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--toplevel/expunge.ml14
1 files changed, 7 insertions, 7 deletions
diff --git a/toplevel/expunge.ml b/toplevel/expunge.ml
index cb36eedba..8f6a9d998 100644
--- a/toplevel/expunge.ml
+++ b/toplevel/expunge.ml
@@ -30,12 +30,6 @@ let expunge_map tbl =
(fun id -> StringSet.mem (Ident.name id) !to_keep)
tbl
-let openflags =
- match Sys.os_type with
- | "MacOS" -> [Open_wronly; Open_trunc; Open_creat]
- | _ -> [Open_wronly; Open_trunc; Open_creat; Open_binary]
-;;
-
let main () =
let input_name = Sys.argv.(1) in
let output_name = Sys.argv.(2) in
@@ -58,8 +52,14 @@ let main () =
if header <> Config.exec_magic_number then begin
prerr_endline "Wrong magic number"; exit 2
end;
+ if Sys.os_type = "MacOS" then begin
+ (* Create it as a text file for bytecode scripts *)
+ let c = open_out_gen [Open_wronly; Open_creat] 0o777 output_name in
+ close_out c
+ end;
let oc =
- open_out_gen openflags 0o777 output_name in
+ open_out_gen [Open_wronly; Open_creat; Open_trunc; Open_binary] 0o777
+ output_name in
(* Copy the file up to the symbol section as is *)
seek_in ic 0;
copy_file_chunk ic oc (pos_trailer - symbol_size - debug_size);