Ah, maybe we used to special-case windows and only emit a response file for it, back then. That could explain why I fail to see it.
- Alon On Wed, Jun 12, 2019 at 9:34 AM Alon Zakai <[email protected]> wrote: > Thanks for the bug report! I think this should fix it, please test: > > https://github.com/emscripten-core/emscripten/pull/8784 > > However I am puzzled by this, since I don't think we changed this > behavior. Going back to 1.38.26 I don't see us emitting a response file > either - perhaps it depends on other specific arguments somehow? In any > case, the fix in the link above seems obvious. > > - Alon > > > On Wed, Jun 12, 2019 at 4:38 AM 'John Harvey' via emscripten-discuss < > [email protected]> wrote: > >> I am providing a large list of .bc files with a response file. >> >> cmd /c em++ --bind -s ALLOW_MEMORY_GROWTH=1 -s NO_EXIT_RUNTIME=1 -s >> FULL_ES2=1 --memory-init-file 0 -s ERROR_ON_UNDEFINED_SYMBOLS=1 -s >> DISABLE_EXCEPTION_CATCHING=0 -s EMBIND_STD_STRING_IS_UTF8=0 -s >> EXTRA_EXPORTED_RUNTIME_METHODS=[\'Pointer_stringify\'] -s >> AGGRESSIVE_VARIABLE_ELIMINATION=1 -O3 -s ASSERTIONS=0 -s DEMANGLE_SUPPORT=0 >> -DNDEBUG=1 -s DISABLE_EXCEPTION_CATCHING=0 --std=c++14 --llvm-lto 1 -o >> d:/scratch/pview_objects/vissrc_thingview1/js_wasm.o/js/ptc/thingview/libthingview_wasm.js >> @libthingview.tmp >> >> During the linking this now runs opt.exe with a long list of .bc files >> expanded from the response file (in 1.38.24 it passed a response file to >> opt.exe) which has too long a command line for windows to run. >> >> Traceback (most recent call last): >> File "d:\compilers\emscripten-1.38.34\fastcomp\emscripten\emcc.py", >> line 3391, in <module> >> sys.exit(run(sys.argv)) >> File "d:\compilers\emscripten-1.38.34\fastcomp\emscripten\emcc.py", >> line 1944, in run >> final = shared.Building.llvm_opt(final, link_opts, DEFAULT_FINAL) >> File >> "d:\compilers\emscripten-1.38.34\fastcomp\emscripten\tools\shared.py", line >> 2110, in llvm_opt >> run_process(cmd, stdout=PIPE) >> File >> "d:\compilers\emscripten-1.38.34\fastcomp\emscripten\tools\shared.py", line >> 178, in run_process >> proc = Popen(cmd, *args, **kw) >> File >> "d:\compilers\emscripten-1.38.34\python\2.7.13.1_64bit\python-2.7.13.amd64\lib\subprocess.py", >> line 390, in __init__ >> errread, errwrite) >> File >> "d:\compilers\emscripten-1.38.34\python\2.7.13.1_64bit\python-2.7.13.amd64\lib\subprocess.py", >> line 640, in _execute_child >> startupinfo) >> WindowsError: [Error 206] The filename or extension is too long >> >> >> EMCC_DEBUG output for this part of the linking in 1.38.34 is :- >> >> shared:DEBUG: considering archive >> d:\users\jpharvey\.emscripten_cache_1.38.34\asmjs\libcompiler_rt.a >> shared:DEBUG: adding object >> d:\users\jpharvey\appdata\local\temp\emscripten_temp_abyc_l_archive_contents\muldc3.c.o >> to link >> shared:DEBUG: adding object >> d:\users\jpharvey\appdata\local\temp\emscripten_temp_abyc_l_archive_contents\mulsc3.c.o >> to link >> shared:DEBUG: done running loop of archive >> d:\users\jpharvey\.emscripten_cache_1.38.34\asmjs\libcompiler_rt.a >> shared:DEBUG: adding object >> d:\users\jpharvey\.emscripten_cache_1.38.34\asmjs\libc++abi.bc to link >> emcc:DEBUG: emcc step "link" took 3.08 seconds >> emcc:DEBUG: saving intermediate processing steps to >> D:\Users\jpharvey\AppData\Local\Temp\emscripten_temp >> emcc:DEBUG: (not saving intermediate >> D:\Users\jpharvey\AppData\Local\Temp\emscripten_temp\emcc-0-basebc.bc >> because deferring linking) >> mp_ictraz_archive_contents\\operations.cpp.o'] - () >> run >> ['d:/compilers/emscripten-1.38.34/fastcomp/fastcomp/bin\\llvm-nm.exe', >> 'd:\\users\\jpharvey\\appdata\\local\\temp\\emscripten_temp_abyc_l_archive_contents\\divdc3.c.o'] >> - () >> run >> ['d:/compilers/emscripten-1.38.34/fastcomp/fastcomp/bin\\llvm-nm.exe', >> 'd:\\users\\jpharvey\\appdata\\local\\temp\\emscripten_temp_abyc_l_archive_contents\\divsc3.c.o'] >> - () >> run >> ['d:/compilers/emscripten-1.38.34/fastcomp/fastcomp/bin\\llvm-nm.exe', >> 'd:\\users\\jpharvey\\appdata\\local\\temp\\emscripten_temp_abyc_l_archive_contents\\muldc3.c.o'] >> - () >> run >> ['d:/compilers/emscripten-1.38.34/fastcomp/fastcomp/bin\\llvm-nm.exe', >> 'd:\\users\\jpharvey\\appdata\\local\\temp\\emscripten_temp_abyc_l_archive_contents\\mulsc3.c.o'] >> - () >> run ['d:/compilers/emscripten-1.38.34/fastcomp/fastcomp/bin\\opt.exe', >> 'd:\\scratch\\pview_objects\\vissrc_thingview1\\js_wasm.o\\src_js\\tvapi\\thingview\\html\\ThingView_html.bc', >> 'd:\\scratch\\pview_objects\\vissrc_thingview1\\js_wasm.o\\src_js\\tvapi\\tvapi\\html\\Appearance_html.bc', >> 'd:\\scratch\\pview_objects\\vissrc_thingview1\\js_wasm.o\\src_js\\tvapi\\tvapi\\html\\Application_html.bc', >> 'd:\\scratch\\pview_objects\\vissrc_thingview1\\js_wasm.o\\src_js\\tvapi\\tvapi\\html\\BoundMarker_html.bc', >> 'd:\\scratch\\pview_objects\\vissrc_thingview1\\js_wasm.o\\src_js\\tvapi\\tvapi\\html\\CVApplication_html.bc', >> 'd:\\scratch\\pview_objects\\vissrc_thingview1\\js_wasm.o\\src_js\\tvapi\\tvapi\\html\\CV_js_Interface.bc', >> 'd:\\scratch\\pview_objects\\vissrc_thingview1\\js_wasm.o\\src_js\\tvapi\\tvapi\\html\\DocumentScene_html.bc', >> 'd:\\scratch\\pview_objects\\vissrc_thingview1\\js_wasm.o\\src_js\\tvapi\\tvapi\\html\\DocumentView_html.bc', >> 'd:\\scratch\\pview_objects\\vissrc_thingview1\\js_wasm.o\\src_js\\tvapi\\tvapi\\html\\HttpRequest.bc', >> 'd:\\scratch\\pview_objects\\vissrc_thingview1\\js_wasm.o\\src_js\\tvapi\\tvapi\\html\\ItemsList_html.bc', >> 'd:\\scratch\\pview_objects\\vi ….. >> >> followed by the traceback above. >> >> For 1.38.26 it is :- >> >> >> shared:DEBUG: adding object >> d:\users\jpharvey\appdata\local\temp\emscripten_temp_knfx1d_archive_contents\muldc3_24e31f29.c.o >> to link >> shared:DEBUG: adding object >> d:\users\jpharvey\appdata\local\temp\emscripten_temp_knfx1d_archive_contents\mulsc3_0d7e9a2a.c.o >> to link >> shared:DEBUG: done running loop of archive >> d:\users\jpharvey\.emscripten_cache_1.38.26\asmjs\libcompiler_rt.a >> shared:DEBUG: adding object >> d:\users\jpharvey\.emscripten_cache_1.38.26\asmjs\libc++abi.bc to link >> shared:DEBUG: using response file for llvm-link >> emcc:DEBUG: emcc step "link" took 2.88 seconds >> emcc:DEBUG: saving intermediate processing steps to >> D:\Users\jpharvey\AppData\Local\Temp\emscripten_temp >> emcc:DEBUG: (not saving intermediate >> D:\Users\jpharvey\AppData\Local\Temp\emscripten_temp\emcc-0-basebc.bc >> because deferring linking) >> shared:DEBUG: successfully executed >> d:/compilers/emscripten-1.38.26/clang/e1.38.26_64bit\opt.exe >> @D:\Users\jpharvey\AppData\Local\Temp\emscripten_temp\tmp1tc4dj.response >> -strip-debug -disable-verify -internalize >> -internalize-public-api-list=main,malloc,free,__errno_location,__cxa_can_catch,__cxa_is_pointer_type,realloc,_get_environ,e,m,s,c,r,i,p,t,n,_,w,b,g,l,a,k,o,x,u >> -std-link-opts -disable-loop-vectorization -disable-slp-vectorization >> -vectorize-loops=false -vectorize-slp=false -o >> D:\Users\jpharvey\AppData\Local\Temp\emscripten_temp\libthingview_wasm.bc >> emcc:DEBUG: emcc step "post-link" took 102.98 seconds >> >> >> Thanks >> >> John >> >> -- >> You received this message because you are subscribed to the Google Groups >> "emscripten-discuss" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/emscripten-discuss/f3b085b7-6213-4dd5-9fb0-849c2233aae1%40googlegroups.com >> <https://groups.google.com/d/msgid/emscripten-discuss/f3b085b7-6213-4dd5-9fb0-849c2233aae1%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/emscripten-discuss/CAEX4NpRBNrfz2mxSQnur2%2Bapq%2BZjbrP6bWwRccM9-Qj6HgKm9A%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
