When I build C apps with mingwbuilds 4.8.1-win32-sjlj, the built artifacts have 
a runtime dependency on
`libgcc_s_sjlj-1.dll`. This is not the case when I use the rubenvb toolchains.

My understanding is that the `libgcc_s_sjlj-1.dll` dependency is only required 
for C++, not C, apps due
to exception handling support. As I don't spend much time with C++, I'd like to 
better understand the build
and runtime tradeoffs with SJLJ.

Specifically:

1) Is minimizing toolchain build complexity the main benefit of an extra SJLJ 
DLL dependency for C apps?

2) What toolchain build setting(s) allows rubenvb builds to *not* create the 
SJLJ DLL dependency for C apps?

3) When using the mingwbuilds toolchain, is there a gcc option (eg. 
-Wl,--static-sjlj-lib) to suppress
   the SJLJ DLL dependency? Something lovely like `-Wl,-Bstatic -lgcc_s_sjlj 
-Wl,-Bdynamic ...`? 

4) What are the downsides of toolchains behaving like the rubenvb toolchains 
wrt SJLJ?

5) Any other important tradeoffs to be aware of? (no SEH vs Dwarf vs SJLJ 
discussion please ;))

Jon

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to