This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Committed] Fix libstdc++ with SetJumpLongJump exceptions


Andreas Krebbel wrote:
On Wed, Jan 24, 2007 at 02:43:14PM -0800, Andrew_Pinski@PlayStation.Sony.Com wrote:
Hi, after http://gcc.gnu.org/ml/gcc-patches/2007-01/msg01778.html, read_uleb128 now takes a _uleb128_t instead of _Unwind_Word. There is code that is only enabled with SJLJ exceptions which were not fixed for this change. This patch fixes the case.

Applied as obvious after a build and test on spu-elf which uses SJLJ exceptions.

Thanks for fixing this and sorry for the breakage.

Unfortunately, this patch doesn't fix a build=Linux host=mingw target=mingw build. At least these files still fail:
- libstdc++-v3/libsupc++/eh_personality.cc
- gcc/unwind-c.c
- gcc/unwind-dw2-fde.c
- gcc/unwind-pe.h


I attached the individual error messages. Also, it's no longer enough to revert the changes done to eh_personality.cc. A new error will occur after reverting them (see eh_personality.error-new.txt). So I'm no longer able to finish compilation and thus don't know if "libjava/exception.cc" is also still broken as I reported yesterday.

I'm still here to test patches if someone needs to test anything for that rather uncommon compilation setup :-)


Marco
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:1: warning: -ffunction-sections may affect debugging on some targets
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc: In function '_Unwind_Reason_Code __cxxabiv1::__gxx_personality_sj0(int, _Unwind_Action, _Unwind_Exception_Class, _Unwind_Exception*, _Unwind_Context*)':
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:472: error: '_uleb128_t' was not declared in this scope
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:472: error: expected `;' before 'cs_lp'
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:475: error: 'cs_lp' was not declared in this scope
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:476: error: 'cs_action' was not declared in this scope
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:482: error: 'cs_lp' was not declared in this scope
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:483: error: 'cs_action' was not declared in this scope
make[4]: *** [eh_personality.lo] Error 1
/usr/local/src/gcc/libgcc/../gcc/unwind-c.c: In function 'parse_lsda_header':
/usr/local/src/gcc/libgcc/../gcc/unwind-c.c:53: error: '_uleb128_t' undeclared (first use in this function)
/usr/local/src/gcc/libgcc/../gcc/unwind-c.c:53: error: (Each undeclared identifier is reported only once
/usr/local/src/gcc/libgcc/../gcc/unwind-c.c:53: error: for each function it appears in.)
/usr/local/src/gcc/libgcc/../gcc/unwind-c.c:53: error: expected ';' before 'tmp'
/usr/local/src/gcc/libgcc/../gcc/unwind-c.c:69: error: 'tmp' undeclared (first use in this function)
/usr/local/src/gcc/libgcc/../gcc/unwind-c.c: In function '__gcc_personality_sj0':
/usr/local/src/gcc/libgcc/../gcc/unwind-c.c:178: error: '_uleb128_t' undeclared (first use in this function)
/usr/local/src/gcc/libgcc/../gcc/unwind-c.c:178: error: expected ';' before 'cs_lp'
/usr/local/src/gcc/libgcc/../gcc/unwind-c.c:181: error: 'cs_lp' undeclared (first use in this function)
/usr/local/src/gcc/libgcc/../gcc/unwind-c.c:182: error: 'cs_action' undeclared (first use in this function)
make[2]: *** [unwind-c.o] Error 1
/usr/local/src/gcc/libgcc/../gcc/unwind-dw2-fde.c: In function 'get_cie_encoding':
/usr/local/src/gcc/libgcc/../gcc/unwind-dw2-fde.c:269: error: '_uleb128_t' undeclared (first use in this function)
/usr/local/src/gcc/libgcc/../gcc/unwind-dw2-fde.c:269: error: (Each undeclared identifier is reported only once
/usr/local/src/gcc/libgcc/../gcc/unwind-dw2-fde.c:269: error: for each function it appears in.)
/usr/local/src/gcc/libgcc/../gcc/unwind-dw2-fde.c:269: error: expected ';' before 'utmp'
/usr/local/src/gcc/libgcc/../gcc/unwind-dw2-fde.c:270: error: '_sleb128_t' undeclared (first use in this function)
/usr/local/src/gcc/libgcc/../gcc/unwind-dw2-fde.c:270: error: expected ';' before 'stmp'
/usr/local/src/gcc/libgcc/../gcc/unwind-dw2-fde.c:277: error: 'utmp' undeclared (first use in this function)
/usr/local/src/gcc/libgcc/../gcc/unwind-dw2-fde.c:278: error: 'stmp' undeclared (first use in this function)
make[2]: *** [unwind-dw2-fde.o] Error 1
In file included from /usr/local/src/gcc/libgcc/../gcc/unwind-dw2.c:40:
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:133: error: expected declaration specifiers or '...' before '_uleb128_t'
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h: In function 'read_uleb128':
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:137: error: '_uleb128_t' undeclared (first use in this function)
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:137: error: (Each undeclared identifier is reported only once
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:137: error: for each function it appears in.)
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:137: error: expected ';' before 'result'
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:139: error: 'result' undeclared (first use in this function)
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:143: error: expected ')' before 'byte'
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:148: error: 'val' undeclared (first use in this function)
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h: At top level:
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:155: error: expected declaration specifiers or '...' before '_sleb128_t'
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h: In function 'read_sleb128':
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:159: error: '_uleb128_t' undeclared (first use in this function)
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:159: error: expected ';' before 'result'
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:161: error: 'result' undeclared (first use in this function)
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:165: error: expected ')' before 'byte'
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:172: error: expected ')' before numeric constant
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:174: error: 'val' undeclared (first use in this function)
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:174: error: '_sleb128_t' undeclared (first use in this function)
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:174: error: expected ';' before 'result'
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h: In function 'read_encoded_value_with_base':
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:218: error: '_uleb128_t' undeclared (first use in this function)
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:218: error: expected ';' before 'tmp'
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:219: error: 'tmp' undeclared (first use in this function)
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:219: error: too many arguments to function 'read_uleb128'
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:226: error: '_sleb128_t' undeclared (first use in this function)
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:226: error: expected ';' before 'tmp'
/usr/local/src/gcc/libgcc/../gcc/unwind-pe.h:227: error: too many arguments to function 'read_sleb128'
make[2]: *** [unwind-dw2.o] Error 1
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:1: warning: -ffunction-sections may affect debugging on some targets
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc: In function 'const unsigned char* parse_lsda_header(_Unwind_Context*, const unsigned char*, lsda_header_info*)':
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:59: error: '_uleb128_t' was not declared in this scope
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:59: error: expected `;' before 'tmp'
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:75: error: 'tmp' was not declared in this scope
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:84: error: 'tmp' was not declared in this scope
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc: At global scope:
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:213: error: '_uleb128_t' has not been declared
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:256: error: '_sleb128_t' has not been declared
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc: In function 'bool check_exception_spec(lsda_header_info*, const _throw_typet*, void*, int)':
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:263: error: '_uleb128_t' was not declared in this scope
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:263: error: expected `;' before 'tmp'
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:265: error: 'tmp' was not declared in this scope
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc: In function 'bool empty_exception_spec(lsda_header_info*, _Unwind_Sword)':
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:332: error: '_uleb128_t' was not declared in this scope
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:332: error: expected `;' before 'tmp'
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:334: error: 'tmp' was not declared in this scope
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc: In function '_Unwind_Reason_Code __cxxabiv1::__gxx_personality_sj0(int, _Unwind_Action, _Unwind_Exception_Class, _Unwind_Exception*, _Unwind_Context*)':
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:472: error: '_uleb128_t' was not declared in this scope
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:472: error: expected `;' before 'cs_lp'
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:475: error: 'cs_lp' was not declared in this scope
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:476: error: 'cs_action' was not declared in this scope
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:482: error: 'cs_lp' was not declared in this scope
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:483: error: 'cs_action' was not declared in this scope
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:538: error: '_sleb128_t' was not declared in this scope
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:538: error: expected `;' before 'ar_filter'
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:561: error: 'ar_filter' was not declared in this scope
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:562: error: 'ar_disp' was not declared in this scope
/usr/local/src/gcc/libstdc++-v3/libsupc++/eh_personality.cc:610: error: 'ar_filter' was not declared in this scope
make[4]: *** [eh_personality.lo] Error 1

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]