Sam Clegg
Sam Clegg
Can you point me to the declaration of one of these duplicate symbols. It does seem it could well be common symbols that use of common symbols. Lets take one...
I have no idea how to read that :) Does that file produce C code as output somehow? If variables are declared as `static` they should never be reported as...
Looking at the declaration of `insertsrcspecialeverymath` for example I see: `EXTERN boolean insertsrcspecialeverymath ;` So it depends what `EXTERN` is defined as but my guess its that this is declaring...
I can only find declarations of `EXTERN boolean writeopen[18]` in those files you attached and never a definition. Is there a place where `writeopen` is declared static? Or is `EXTERN`...
This is exactly what `-fcommon` is for, which make me think that your gcc build must be using `-fcommon`. ``` $ cat test1.c int writeopen[18]; $ cat test2.c int writeopen[18];...
In they are only ever `extern` the would show up as undefined .. somebody needs to define them. Add a reference to writeopen to your main function: ``` $ cat...
`extern` does not produce a definition so they must be defined as something other than `extern` in both the object files.
The empty modifier is not static its global. Unless you have `-fcommon` that would result in duplicate definition.
`-fno-common` is also now the default for gcc 10 and above apparently (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85678). So on my machine you need to opt into this with `-fcommon` Opting into `-fcommon` will fail...
I guess we should make a `CLOSURE_ARGS` internal setting (in settings_internal.js) and have the `--closure-args` add to that setting. Then you can extend `settings.CLOSURE_ARGS` here.