Commit 84631e02 authored by Mart Lubbers's avatar Mart Lubbers

Merge commit '215682d0' into support-only-using-gcc

parents abf0de80 215682d0
Pipeline #17653 passed with stage
in 55 seconds
...@@ -150,7 +150,7 @@ CompilePersistent cocl write_module_times errwin typewin compileOrCheckSyntax md ...@@ -150,7 +150,7 @@ CompilePersistent cocl write_module_times errwin typewin compileOrCheckSyntax md
= abort ("read failed "+++toString r +++ "\n") = abort ("read failed "+++toString r +++ "\n")
# exitcode = parse_result_number 0 result_string # exitcode = parse_result_number 0 result_string
# dummy_slot = 0 # dummy_slot = 0
# (path,mess,env) = CompileHandleExitCode exitcode cocl startupdir dummy_slot errwin typewin mdn listTypes env # (path,mess,env) = CompileHandleExitCode exitcode cocl startupdir dummy_slot errwin typewin mdn listTypes env
= (compiling_info,(env,path,mess)) = (compiling_info,(env,path,mess))
...@@ -162,7 +162,7 @@ parse_result_number i result_string ...@@ -162,7 +162,7 @@ parse_result_number i result_string
| c=='-' | c=='-'
= 0 - parse_result_number (i+1) result_string = 0 - parse_result_number (i+1) result_string
= abort "parse_result_number failed\n" = abort "parse_result_number failed\n"
where where
parse_result_number2 i n result_string parse_result_number2 i n result_string
| i<size result_string | i<size result_string
# c=result_string.[i] # c=result_string.[i]
...@@ -240,7 +240,7 @@ QuitCleanCompiler async compiler_process_ids world ...@@ -240,7 +240,7 @@ QuitCleanCompiler async compiler_process_ids world
| async | async
= exit_compilers compiler_process_ids world = exit_compilers compiler_process_ids world
= world = world
where where
exit_compilers [compiler:compilers] world exit_compilers [compiler:compilers] world
= exit_compilers compilers (exit_clean_compiler compiler world) = exit_compilers compilers (exit_clean_compiler compiler world)
exit_compilers [] world exit_compilers [] world
...@@ -291,7 +291,7 @@ CodeGen cgen used_compiler_process_ids wf genAsmOrCode abc_path obj_path timepro ...@@ -291,7 +291,7 @@ CodeGen cgen used_compiler_process_ids wf genAsmOrCode abc_path obj_path timepro
# ((_, errors_not_empty, error_text),ps) = accFiles (readErrorsAndWarnings errors_file_name) ps # ((_, errors_not_empty, error_text),ps) = accFiles (readErrorsAndWarnings errors_file_name) ps
ps = if errors_not_empty ps = if errors_not_empty
(wf (StrictListToList error_text) ps) (wf (StrictListToList error_text) ps)
(if (exit_code <> 0) (if (exit_code <> 0)
(wf ["Error: Code generator failed for '"+++abc_path+++"' with exit code: "+++toString exit_code,(quoted_string path_without_suffix)] ps) (wf ["Error: Code generator failed for '"+++abc_path+++"' with exit code: "+++toString exit_code,(quoted_string path_without_suffix)] ps)
ps ps
...@@ -347,7 +347,7 @@ wait_for_finished_code_generator process_ids ps ...@@ -347,7 +347,7 @@ wait_for_finished_code_generator process_ids ps
| wtermsig<>0 | wtermsig<>0
= abort "code generator exited abnormally\n" = abort "code generator exited abnormally\n"
= (process_n,result,ps) = (process_n,result,ps)
where where
find_process_id_index i w_pid pids find_process_id_index i w_pid pids
| i<size pids | i<size pids
| pids.[i]==w_pid | pids.[i]==w_pid
...@@ -361,7 +361,7 @@ finish_code_generator process_handle {scg_abc_path,scg_path_without_suffix,scg_s ...@@ -361,7 +361,7 @@ finish_code_generator process_handle {scg_abc_path,scg_path_without_suffix,scg_s
= abort "close failed\n" = abort "close failed\n"
# ((_, errors_not_empty, error_text),ps) = accFiles (readErrorsAndWarnings scg_errors_file_name) ps # ((_, errors_not_empty, error_text),ps) = accFiles (readErrorsAndWarnings scg_errors_file_name) ps
ps = if errors_not_empty ps = if errors_not_empty
(wf (StrictListToList error_text) ps) (wf (StrictListToList error_text) ps)
(if (exit_code <> 0) (if (exit_code <> 0)
(wf ["Error: Code generator failed for '" +++ scg_abc_path +++ "' with exit code: "+++toString exit_code,(quoted_string scg_path_without_suffix)] ps) (wf ["Error: Code generator failed for '" +++ scg_abc_path +++ "' with exit code: "+++toString exit_code,(quoted_string scg_path_without_suffix)] ps)
ps) ps)
...@@ -400,114 +400,114 @@ Link linker winfun path ...@@ -400,114 +400,114 @@ Link linker winfun path
where where
//First call the optimizing linker to generate an intermediate optimized object file which is then passed to gcc //First call the optimizing linker to generate an intermediate optimized object file which is then passed to gcc
linkOptimizingGCC linker object_paths options1 options2 ps linkOptimizingGCC linker object_paths options1 options2 ps
# temp_file_name = "/tmp/linkerXXXXXX" +++ "\0" // +++ because modified by mkstemp # temp_file_name = "/tmp/linkerXXXXXX" +++ "\0" // +++ because modified by mkstemp
# fd = mkstemp temp_file_name # fd = mkstemp temp_file_name
| fd== -1 | fd== -1
= abort "mkstemp failed\n" = abort "mkstemp failed\n"
# r = close fd # r = close fd
| r== -1 | r== -1
= abort "close failed\n" = abort "close failed\n"
//Call optimized linker //Call optimized linker
# linker_args = add_options_string_to_args 0 options1 [temp_file_name:object_paths] # linker_args = add_options_string_to_args 0 options1 [temp_file_name:object_paths]
# (argv,args_memory) = make_argv [linker:linker_args] # (argv,args_memory) = make_argv [linker:linker_args]
# linker_pid = fork # linker_pid = fork
| linker_pid<0 | linker_pid<0
= abort "fork failed\n" = abort "fork failed\n"
| linker_pid==0 | linker_pid==0
| execv (linker+++"\0") argv<0 | execv (linker+++"\0") argv<0
= abort "execv failed\n" = abort "execv failed\n"
= abort "execution continued after execv\n" = abort "execution continued after execv\n"
# (w_pid,status) = wait_pid linker_pid 0 # (w_pid,status) = wait_pid linker_pid 0
| w_pid <> -1 && w_pid<>linker_pid | w_pid <> -1 && w_pid<>linker_pid
= abort "waitpid failed\n" = abort "waitpid failed\n"
# exit_code = (status >> 8) bitand 0xff # exit_code = (status >> 8) bitand 0xff
# wtermsig = status bitand 0x7f # wtermsig = status bitand 0x7f
| wtermsig<>0 | wtermsig<>0
= abort "linker exited abnormally\n" = abort "linker exited abnormally\n"
| free args_memory<0 | free args_memory<0
= abort "free failed\n" = abort "free failed\n"
# link_ok = exit_code==0 # link_ok = exit_code==0
| not link_ok | not link_ok
| unlink (temp_file_name+++"\0")<>0 | unlink (temp_file_name+++"\0")<>0
= (ps,link_ok) = (ps,link_ok)
= (ps,link_ok) = (ps,link_ok)
//Call gcc //Call gcc
= linkGCC [temp_file_name] options2 ps = linkGCC [temp_file_name] options2 ps
//Just link with gcc //Just link with gcc
linkGCC object_paths gccOptions ps linkGCC object_paths gccOptions ps
# gcc_options = add_options_string_to_args 0 gccOptions (StrictListToList (Append library_file_names "-lm")) # gcc_options = add_options_string_to_args 0 gccOptions (StrictListToList (Append library_file_names "-lm"))
# ld_args = ["-o", path : object_paths ] ++ gcc_options # ld_args = ["-o", path : object_paths ] ++ gcc_options
ld_args = IF_MACOSX ld_args (IF_INT_64_OR_32 ["-no-pie":ld_args] ld_args) ld_args = IF_MACOSX ld_args (IF_INT_64_OR_32 ["-no-pie":ld_args] ld_args)
ld_args = if gen_symbol_table ld_args ["-s":ld_args] ld_args = if gen_symbol_table ld_args ["-s":ld_args]
# ld = "/usr/bin/gcc" # ld = "/usr/bin/gcc"
# (argv,args_memory) = make_argv [ld:ld_args] # (argv,args_memory) = make_argv [ld:ld_args]
# ld_pid = fork # ld_pid = fork
| ld_pid<0 | ld_pid<0
= abort "fork failed\n" = abort "fork failed\n"
| ld_pid==0 | ld_pid==0
| execv (ld+++"\0") argv<0 | execv (ld+++"\0") argv<0
= abort "execv failed\n" = abort "execv failed\n"
= abort "execution continued after execv\n" = abort "execution continued after execv\n"
| free args_memory<0 | free args_memory<0
= abort "free failed\n" = abort "free failed\n"
# (w_pid,status) = wait_pid ld_pid 0 # (w_pid,status) = wait_pid ld_pid 0
| w_pid <> -1 && w_pid<>ld_pid | w_pid <> -1 && w_pid<>ld_pid
= abort "waitpid failed\n" = abort "waitpid failed\n"
# wtermsig = status bitand 0x7f # wtermsig = status bitand 0x7f
# exit_code = (status >> 8) bitand 0xff; # exit_code = (status >> 8) bitand 0xff;
| wtermsig<>0 | wtermsig<>0
= abort "ld exited abnormally\n" = abort "ld exited abnormally\n"
# link_ok = exit_code==0 # link_ok = exit_code==0
= (ps,link_ok) = (ps,link_ok)
//Call other/additional linker //Call other/additional linker
linkOther linker object_paths ps linkOther linker object_paths ps
# linkopts = # linkopts =
{ exe_path = path { exe_path = path
, res_path = resource_path , res_path = resource_path
, open_console = o <> NoConsole , open_console = o <> NoConsole
, static_link = static , static_link = static
, gen_relocs = gen_relocs , gen_relocs = gen_relocs
, gen_symbol_table = gen_symbol_table , gen_symbol_table = gen_symbol_table
, gen_linkmap = gen_linkmap , gen_linkmap = gen_linkmap
, link_resources = link_resources , link_resources = link_resources
, object_paths = ListToStrictList object_paths , object_paths = ListToStrictList object_paths
, dynamic_libs = RemoveDup library_file_names , dynamic_libs = RemoveDup library_file_names
, static_libs = RemoveDup static_libraries , static_libs = RemoveDup static_libraries
, stack_size = ss , stack_size = ss
, gen_dll = gen_dll , gen_dll = gen_dll
, dll_names = dll_syms , dll_names = dll_syms
, dynamics_path = startupdir +++. DirSeparatorString +++. dynlstr , dynamics_path = startupdir +++. DirSeparatorString +++. dynlstr
, lib_name_obj_path = MakeFullPathname tooltempdir "lib_name.o" , lib_name_obj_path = MakeFullPathname tooltempdir "lib_name.o"
} }
# linkoptspath = MakeFullPathname tooltempdir "linkopts" # linkoptspath = MakeFullPathname tooltempdir "linkopts"
# linkerrspath = MakeFullPathname tooltempdir "linkerrs" # linkerrspath = MakeFullPathname tooltempdir "linkerrs"
# (err,ps) = accFiles (WriteLinkOpts linkoptspath linkopts) ps # (err,ps) = accFiles (WriteLinkOpts linkoptspath linkopts) ps
| isJust err | isJust err
= (winfun (fromJust err) ps,False) = (winfun (fromJust err) ps,False)
# linker_args = ["-I",linkoptspath,"-O",linkerrspath] # linker_args = ["-I",linkoptspath,"-O",linkerrspath]
# (argv,args_memory) = make_argv [linker:linker_args] # (argv,args_memory) = make_argv [linker:linker_args]
# linker_pid = fork # linker_pid = fork
| linker_pid<0 | linker_pid<0
= abort "fork failed\n" = abort "fork failed\n"
| linker_pid==0 | linker_pid==0
| execv (linker+++"\0") argv<0 | execv (linker+++"\0") argv<0
= abort "execv failed\n" = abort "execv failed\n"
= abort "execution continued after execv\n" = abort "execution continued after execv\n"
# (w_pid,status) = wait_pid linker_pid 0 # (w_pid,status) = wait_pid linker_pid 0
| w_pid <> -1 && w_pid<>linker_pid | w_pid <> -1 && w_pid<>linker_pid
= abort "waitpid failed\n" = abort "waitpid failed\n"
# exit_code = (status >> 8) bitand 0xff # exit_code = (status >> 8) bitand 0xff
# wtermsig = status bitand 0x7f # wtermsig = status bitand 0x7f
| wtermsig<>0 | wtermsig<>0
= abort "linker exited abnormally\n" = abort "linker exited abnormally\n"
| free args_memory<0 | free args_memory<0
= abort "free failed\n" = abort "free failed\n"
# link_ok = exit_code==0 # link_ok = exit_code==0
= (ps,link_ok) = (ps,link_ok)
DelayEventLoop :: !.ps -> .ps DelayEventLoop :: !.ps -> .ps
DelayEventLoop ps DelayEventLoop ps
...@@ -527,13 +527,13 @@ CompilePollCompleted compiler_process_ids ps ...@@ -527,13 +527,13 @@ CompilePollCompleted compiler_process_ids ps
= (NoFinishedCompiler,ps) = (NoFinishedCompiler,ps)
# compiler_id = find_fd_index 0 fda # compiler_id = find_fd_index 0 fda
# results_fd = (compiler_process_ids !! compiler_id).results_fd # results_fd = (compiler_process_ids !! compiler_id).results_fd
# result_string = createArray 6 '\0' # result_string = createArray 6 '\0'
# r = read results_fd result_string 6; # r = read results_fd result_string 6;
| r<=1 | r<=1
= abort ("read failed "+++toString r+++ "\n") = abort ("read failed "+++toString r+++ "\n")
# exit_code = parse_result_number 0 result_string # exit_code = parse_result_number 0 result_string
= (FinishedCompiler compiler_id exit_code,ps) = (FinishedCompiler compiler_id exit_code,ps)
where where
fill_fda :: !CompilerProcessIds !Int !*{#Int} -> *{#Int} fill_fda :: !CompilerProcessIds !Int !*{#Int} -> *{#Int}
...@@ -756,7 +756,7 @@ add_options_string_to_args i s args ...@@ -756,7 +756,7 @@ add_options_string_to_args i s args
= args = args
# end_i = skip_to_space_or_tab (i+1) s # end_i = skip_to_space_or_tab (i+1) s
= [s % (first_i,end_i-1) : add_options_string_to_args end_i s args] = [s % (first_i,end_i-1) : add_options_string_to_args end_i s args]
where where
skip_spaces_and_tabs i s skip_spaces_and_tabs i s
| i<size s | i<size s
# c=s.[i] # c=s.[i]
...@@ -856,7 +856,7 @@ where ...@@ -856,7 +856,7 @@ where
sSize Nil = 0 sSize Nil = 0
sSize (string :! Nil) = size string sSize (string :! Nil) = size string
sSize (string :! rest) = size string + 1 + sSize rest sSize (string :! rest) = size string + 1 + sSize rest
sUpdate i s Nil = s sUpdate i s Nil = s
sUpdate i s (string :! Nil) sUpdate i s (string :! Nil)
# (_,s) = sU (size string) i 0 s string # (_,s) = sU (size string) i 0 s string
...@@ -865,7 +865,7 @@ where ...@@ -865,7 +865,7 @@ where
# (i,s) = sU (size string) i 0 s string # (i,s) = sU (size string) i 0 s string
# i = inc i # i = inc i
= sUpdate i s rest = sUpdate i s rest
sU l i j s h sU l i j s h
| j >= l = (i,s) | j >= l = (i,s)
# s = update s i h.[j] # s = update s i h.[j]
...@@ -889,26 +889,26 @@ where ...@@ -889,26 +889,26 @@ where
create_args_string args_size argv_list create_args_string args_size argv_list
# s = createArray args_size '\0' # s = createArray args_size '\0'
= copy_args argv_list 0 s = copy_args argv_list 0 s
where where
copy_args [a:as] i s copy_args [a:as] i s
# s = copy_chars 0 a i s # s = copy_chars 0 a i s
= copy_args as (i+((size a+4) bitand -4)) s = copy_args as (i+((size a+4) bitand -4)) s
copy_args [] i s copy_args [] i s
= s = s
copy_chars :: !Int !{#Char} !Int !*{#Char} -> *{#Char} copy_chars :: !Int !{#Char} !Int !*{#Char} -> *{#Char}
copy_chars ai a si s copy_chars ai a si s
| ai<size a | ai<size a
# s = {s & [si]=a.[ai]} # s = {s & [si]=a.[ai]}
= copy_chars (ai+1) a (si+1) s = copy_chars (ai+1) a (si+1) s
= s = s
create_argv argv_list args_memory create_argv argv_list args_memory
# n_args = length argv_list # n_args = length argv_list
# argv = createArray (n_args+1) 0; # argv = createArray (n_args+1) 0;
= fill_argv 0 argv_list argv args_memory = fill_argv 0 argv_list argv args_memory
where where
fill_argv :: !Int ![{#Char}] !*{#Int} !Int -> *{#Int} fill_argv :: !Int ![{#Char}] !*{#Int} !Int -> *{#Int}
fill_argv arg_n [a:as] argv args_memory fill_argv arg_n [a:as] argv args_memory
# argv = {argv & [arg_n]=args_memory} # argv = {argv & [arg_n]=args_memory}
args_memory = args_memory + ((size a+4) bitand -4) args_memory = args_memory + ((size a+4) bitand -4)
...@@ -920,23 +920,23 @@ ApplicationOptionsToFlags :: !ApplicationOptions -> Int ...@@ -920,23 +920,23 @@ ApplicationOptionsToFlags :: !ApplicationOptions -> Int
ApplicationOptionsToFlags {sgc,pss,marking_collection,set,o,memoryProfiling,write_stderr_to_file,disable_rts_flags} ApplicationOptionsToFlags {sgc,pss,marking_collection,set,o,memoryProfiling,write_stderr_to_file,disable_rts_flags}
= showgc+printstacksize+showexectime+cons+marking_collection_mask+memory_profiling_mask+write_stderr_to_file_mask+disable_rts_flags_mask = showgc+printstacksize+showexectime+cons+marking_collection_mask+memory_profiling_mask+write_stderr_to_file_mask+disable_rts_flags_mask
where where
showgc showgc
| sgc = 2 | sgc = 2
= 0 = 0
printstacksize printstacksize
| pss = 4 | pss = 4
= 0 = 0
showexectime showexectime
| set = 8 | set = 8
= 0 = 0
write_stderr_to_file_mask write_stderr_to_file_mask
| write_stderr_to_file = 128 | write_stderr_to_file = 128
= 0
marking_collection_mask
| marking_collection = 64
= 0 = 0
marking_collection_mask
| marking_collection = 64
= 0
memory_profiling_mask memory_profiling_mask
| memoryProfiling = 32 | memoryProfiling = 32
= 0 = 0
cons cons
= case o of = case o of
...@@ -954,7 +954,7 @@ where ...@@ -954,7 +954,7 @@ where
write_options_file :: !{#.Char} !.Int !.Int !.Int !.Int !.Int !.Int !Bool !*Files -> *(!Bool,!*Files) write_options_file :: !{#.Char} !.Int !.Int !.Int !.Int !.Int !.Int !Bool !*Files -> *(!Bool,!*Files)
write_options_file options_file_name flags heap_size stack_size initial_heap_size heap_size_multiple min_write_heap_size use_64_bit_processor files write_options_file options_file_name flags heap_size stack_size initial_heap_size heap_size_multiple min_write_heap_size use_64_bit_processor files
# (opened,file,files) # (opened,file,files)
= fopen options_file_name FWriteData files = fopen options_file_name FWriteData files
| not opened | not opened
= (False,files) = (False,files)
...@@ -991,7 +991,7 @@ write_options_file options_file_name flags heap_size stack_size initial_heap_siz ...@@ -991,7 +991,7 @@ write_options_file options_file_name flags heap_size stack_size initial_heap_siz
0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000068 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000068 FWI
0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI
0x00000000 FWI 0x00000004 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000004 FWI 0x00000000 FWI 0x00000000 FWI
0x00000000 FWI 0x00000000 FWI
0x00000011 FWI 0x00000003 FWI 0x00000000 FWI 0x00000011 FWI 0x00000003 FWI 0x00000000 FWI
0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000068 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000068 FWI
0x00000000 FWI 0x0000002c FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x0000002c FWI 0x00000000 FWI 0x00000000 FWI
...@@ -1006,25 +1006,25 @@ write_options_file options_file_name flags heap_size stack_size initial_heap_siz ...@@ -1006,25 +1006,25 @@ write_options_file options_file_name flags heap_size stack_size initial_heap_siz
0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x0000032c FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x0000032c FWI
0x00000000 FWI 0x00000044 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000044 FWI 0x00000000 FWI 0x00000000 FWI
0x00000000 FWI 0x00000001 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000001 FWI 0x00000000 FWI 0x00000000 FWI
0x00000000 FWI 0x00000000 FWI
0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI
0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI
0x00000000 FWI 0x00000000 FWI
0x00010003 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00010003 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI
0x00000000 FWI 0x00000000 FWI
0x00000000 FWI 0x00020003 FWI 0x00000000 FWI 0x00000000 FWI 0x00020003 FWI 0x00000000 FWI
0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI
0x00000000 FWI 0x00000000 FWI
0x00030003 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00030003 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI
0x00000000 FWI 0x00000000 FWI
0x00000001 FWI 0x00020011 FWI 0x00000000 FWI 0x00000001 FWI 0x00020011 FWI 0x00000000 FWI
0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI
0x0000000b FWI 0x0000000b FWI
0x00020011 FWI 0x00000008 FWI 0x00000000 FWI 0x00000000 FWI 0x00020011 FWI 0x00000008 FWI 0x00000000 FWI 0x00000000 FWI
0x00000000 FWI 0x00000000 FWI
0x00000019 FWI 0x00020011 FWI 0x00000010 FWI 0x00000019 FWI 0x00020011 FWI 0x00000010 FWI
0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI 0x00000000 FWI
0x0000001f FWI 0x0000001f FWI
0x00020011 FWI 0x00000018 FWI 0x00000000 FWI 0x00000000 FWI 0x00020011 FWI 0x00000018 FWI 0x00000000 FWI 0x00000000 FWI
0x00000000 FWI 0x00000000 FWI
0x00000032 FWI 0x00020011 FWI 0x00000020 FWI 0x00000032 FWI 0x00020011 FWI 0x00000020 FWI
...@@ -1074,7 +1074,7 @@ write_options_file options_file_name flags heap_size stack_size initial_heap_siz ...@@ -1074,7 +1074,7 @@ write_options_file options_file_name flags heap_size stack_size initial_heap_siz
0x657a6973 FWI 0x616c6600 FWI 0x68007367 FWI 0x5f706165 FWI 0x657a6973 FWI 0x616c6600 FWI 0x68007367 FWI 0x5f706165 FWI
0x657a6973 FWI 0x6c756d5f FWI 0x6c706974 FWI 0x6e690065 FWI 0x657a6973 FWI 0x6c756d5f FWI 0x6c706974 FWI 0x6e690065 FWI
0x61697469 FWI 0x65685f6c FWI 0x735f7061 FWI 0x00657a69) 0x61697469 FWI 0x65685f6c FWI 0x735f7061 FWI 0x00657a69)
# (close_ok,files) # (close_ok,files)
= fclose file files = fclose file files
= (close_ok,files) = (close_ok,files)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment