A good first step would be to add `--profiling`, which will preserve
function names and not minify the JS.

On Fri, Nov 1, 2019 at 10:21 AM Shi Yan <[email protected]> wrote:

> I'm trying to compile llvm into wasm, so that I can compile and run c++
> code directly from the browser.
>
> I'm using another project as a reference: https://github.com/tbfleming/cib
>
> This project worked well, but haven't been updated for 2 years.
>
> I'm basically repeating the same, but with llvm9.
>
>
>
> I got llvm compiled into wasm, and I made a simple program to test it.
> (similar to https://github.com/tbfleming/cib/blob/master/src/clang.cpp)
>
> But as soon as I include a clang header:
>
> #include "clang/CodeGen/CodeGenAction.h"
>
> I will see a runtime error
>
> RuntimeError: function signature mismatch
> RuntimeError: function signature mismatch
>
> /home/shiy/cib/cib/src/build/clang.js:1
> var Module=typeof Module!=="undefined"?Module:{};var
> moduleOverrides={};var key;for(key in
> Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var
> arguments_=[];var thisProgram="./this.program";var
> quit_=function(status,toThrow){throw toThrow};var
> ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var
> ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var
> ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof
> window==="object";ENVIRONMENT_IS_WORKER=typeof
> importScripts==="function";ENVIRONMENT_HAS_NODE=typeof
> process==="object"&&typeof process.versions==="object"&&typeof
> process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw
> new Error("Module.ENVIRONMENT has been deprecated. To force the
> environment, use the ENVIRONMENT compile-time option (for example, -s E
> abort(RuntimeError: function signature mismatch) at Error
>     at jsStackTrace (/home/shiy/cib/cib/src/build/clang.js:1:25243)
>     at stackTrace (/home/shiy/cib/cib/src/build/clang.js:1:25414)
>     at process.abort (/home/shiy/cib/cib/src/build/clang.js:1:22376)
>     at process.emit (events.js:209:13)
>     at processPromiseRejections (internal/process/promises.js:201:33)
>     at processTicksAndRejections (internal/process/task_queues.js:86:32)
>
>
>
> the error message says nothing, it doesn't tell me which function has
> mismatched signature and what the signature should be.
>
> I tried
>
> "-s SAFE_HEAP=1"
> "-s ASSERTIONS=1"
>
> when compiling, but they don't give an extra messages.         #"-s
> SAFE_HEAP=1" will crash the program at a different place saying memory
> alignment issue.
>
>
> I also tried the node js option node --async-stack-traces ./clang.js
>
> This gives nothing too.
>
> How can I debug this issue?
>
>
>
> --
> 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/36ad539f-1582-45a2-9e47-851e15cbb780%40googlegroups.com
> <https://groups.google.com/d/msgid/emscripten-discuss/36ad539f-1582-45a2-9e47-851e15cbb780%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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/CAJZD_EXSFHWg-SSDLh3izn6veZOsgfQmV_5GBSxxeBH3jaEh2A%40mail.gmail.com.

Reply via email to