2008-08-21 Aaron W. LaFramboise * sysdep/i386/backtrace.h (DONT_REFERENCE_MAIN) [_WIN32]: New. (fallback_backtrace) [DONT_REFERENCE_MAIN]: Don't generate references to main(). Index: sysdep/i386/backtrace.h =================================================================== --- sysdep/i386/backtrace.h (revision 139186) +++ sysdep/i386/backtrace.h (working copy) @@ -13,7 +13,13 @@ details. */ #include +#ifdef _WIN32 +#define DONT_REFERENCE_MAIN +#endif + +#ifndef DONT_REFERENCE_MAIN extern int main (int, char **); +#endif /* The context used to keep track of our position while unwinding through the call stack. */ @@ -104,7 +110,10 @@ fallback_backtrace (_Unwind_Trace_Fn tra const char **, bool))_Jv_RunMain; if (ctx.meth_addr == (_Jv_uintptr_t)jv_runmain || ctx.meth_addr == (_Jv_uintptr_t)_Jv_ThreadStart - || (ctx.meth_addr - (_Jv_uintptr_t)main) < 16) +#ifndef DONT_REFERENCE_MAIN + || (ctx.meth_addr - (_Jv_uintptr_t)main) < 16 +#endif + ) break; }