* Re: [patch] C6X unwinding/exception handling [not found] ` <201109131348.13087.paul@codesourcery.com> @ 2011-10-09 11:10 ` Matthias Klose 2011-10-10 10:33 ` Andrew Haley 0 siblings, 1 reply; 10+ messages in thread From: Matthias Klose @ 2011-10-09 11:10 UTC (permalink / raw) To: Paul Brook; +Cc: gcc-patches, GCC Java, Nicola Pero This did break libobjc and libjava on arm-linux-gnueabi. libobjc now has an undefined reference to _Unwind_decode_target2, which can be avoided with --- libobjc/exception.c.orig 2011-07-21 15:33:57.000000000 +0000 +++ libobjc/exception.c 2011-10-09 10:53:12.554940776 +0000 @@ -182,7 +182,7 @@ _Unwind_Ptr ptr; ptr = (_Unwind_Ptr) (info->TType - (i * 4)); - ptr = _Unwind_decode_target2 (ptr); + ptr = _Unwind_decode_typeinfo_ptr (info->ttype_base, (_Unwind_Word) ptr); /* NULL ptr means catch-all. Note that if the class is not found, this will abort the program. */ libjava fails to build, the same change doesn't work for libjava/exception.cc, because the struct lsda_header_info in exception.cc is missing the ttype_base member. Any suggestions? On 09/13/2011 02:48 PM, Paul Brook wrote: >> C6X uses an unwinding/exception handling echeme very similar to that >> defined by the ARM EABI. The core of the unwinder is the same, so I've >> pulled it out into a common file. >> >> Other than the obvious target specific bits, the main compiler visible >> difference is that the C6X assembler generates the unwinding tables from >> DWARF .cfi directives, rather than the separate set of directives used by >> the ARM assembler. >> >> The libstdc++ changes probably deserve a bit of explanation. The ttype_base >> field was clearly used in an early draft of the ARM EABI, and the current >> ARM definition is a compatible subset of that used by C6X. >> _GLIBCXX_OVERRIDE_TTYPE_ENCODING is an unfortunate hack because when doing >> the ARM implementation I failed to realise ttype_encoding was the same >> thing as R_ARM_TARGET2. We now have a lot of ARM binaries floating around >> with that field set incorrectly, so it's either this or an ABI bump. > > I've updated the patch to accomodate the move to libgcc/, done a quick sanity > recheck of arm-linux and c6x-elf and applied to svn. > > P.S. in case it's not clear from my description, the libstdc++ changes aren't > really a new hack, it's just making an old one more obvious. > > Paul > > 2011-09-13 Paul Brook <paul@codesourcery.com> > > gcc/ > * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Define. > (ARM_TARGET2_DWARF_FORMAT): Provide default definition. > * config/arm/linux-eabi.h (ARM_TARGET2_DWARF_FORMAT): Define. > * config/arm/symbian.h (ARM_TARGET2_DWARF_FORMAT): Define. > * config/arm/uclinux-eabi.h(ARM_TARGET2_DWARF_FORMAT): Define. > * config/arm/t-bpabi (EXTRA_HEADERS): Add unwind-arm-common.h. > * config/arm/t-symbian (EXTRA_HEADERS): Add unwind-arm-common.h. > * config/c6x/c6x.c (c6x_output_file_unwind): Don't rely on dwarf2 code > enabling unwind tables. > (c6x_debug_unwind_info): New function. > (TARGET_ARM_EABI_UNWINDER): Define. > (TARGET_DEBUG_UNWIND_INFO): Define. > * config/c6x/c6x.h (DWARF_FRAME_RETURN_COLUMN): Define. > (TARGET_EXTRA_CFI_SECTION): Remove. > * config/c6x/t-c6x-elf (EXTRA_HEADERS): Set. > * ginclude/unwind-arm-common.h: New file. > > libgcc/ > * config.host (tic6x-*-*): Add c6x/t-c6x-elf. Set unwind_header. > * unwind-c.c (PERSONALITY_FUNCTION): Use UNWIND_POINTER_REG. > * unwind-arm-common.inc: New file. > * config/arm/unwind-arm.c: Use unwind-arm-common.inc. > * config/arm/unwind-arm.h: Use unwind-arm-common.h. > (_GLIBCXX_OVERRIDE_TTYPE_ENCODING): Define. > * config/c6x/libunwind.S: New file. > * config/c6x/pr-support.c: New file. > * config/c6x/unwind-c6x.c: New file. > * config/c6x/unwind-c6x.h: New file. > * config/c6x/t-c6x-elf: New file. > > > libstdc++-v3/ > * libsupc++/eh_arm.cc (__cxa_end_cleanup): Add C6X implementation. > * libsupc++/eh_call.cc (__cxa_call_unexpected): Set rtti_base. > * libsupc++/eh_personality.cc (NO_SIZE_OF_ENCODED_VALUE): Remove > __ARM_EABI_UNWINDER__ check. > (parse_lsda_header): Check _GLIBCXX_OVERRIDE_TTYPE_ENCODING. > (get_ttype_entry): Use generic implementation on ARM EABI. > (check_exception_spec): Use _Unwind_decode_typeinfo_ptr and > UNWIND_STACK_REG. > (PERSONALITY_FUNCTION): Set ttype_base. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch] C6X unwinding/exception handling 2011-10-09 11:10 ` [patch] C6X unwinding/exception handling Matthias Klose @ 2011-10-10 10:33 ` Andrew Haley 2011-10-10 11:27 ` Matthias Klose 0 siblings, 1 reply; 10+ messages in thread From: Andrew Haley @ 2011-10-10 10:33 UTC (permalink / raw) To: Matthias Klose; +Cc: Paul Brook, gcc-patches, GCC Java, Nicola Pero On 10/09/2011 12:09 PM, Matthias Klose wrote: > This did break libobjc and libjava on arm-linux-gnueabi. > > libobjc now has an undefined reference to _Unwind_decode_target2, which can be > avoided with > > --- libobjc/exception.c.orig 2011-07-21 15:33:57.000000000 +0000 > +++ libobjc/exception.c 2011-10-09 10:53:12.554940776 +0000 > @@ -182,7 +182,7 @@ > _Unwind_Ptr ptr; > > ptr = (_Unwind_Ptr) (info->TType - (i * 4)); > - ptr = _Unwind_decode_target2 (ptr); > + ptr = _Unwind_decode_typeinfo_ptr (info->ttype_base, (_Unwind_Word) ptr); > > /* NULL ptr means catch-all. Note that if the class is not found, > this will abort the program. */ > > libjava fails to build, the same change doesn't work for libjava/exception.cc, > because the struct lsda_header_info in exception.cc is missing the ttype_base > member. Any suggestions? Is this fixable without backing out Paul Brooks' patch? Andrew. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch] C6X unwinding/exception handling 2011-10-10 10:33 ` Andrew Haley @ 2011-10-10 11:27 ` Matthias Klose 2011-10-10 12:23 ` Paul Brook 0 siblings, 1 reply; 10+ messages in thread From: Matthias Klose @ 2011-10-10 11:27 UTC (permalink / raw) To: Andrew Haley; +Cc: Paul Brook, gcc-patches, GCC Java, Nicola Pero On 10/10/2011 12:32 PM, Andrew Haley wrote: > On 10/09/2011 12:09 PM, Matthias Klose wrote: >> This did break libobjc and libjava on arm-linux-gnueabi. >> >> libobjc now has an undefined reference to _Unwind_decode_target2, which can be >> avoided with with this patch, the libobjc testsuite results looks as before this change. >> >> --- libobjc/exception.c.orig 2011-07-21 15:33:57.000000000 +0000 >> +++ libobjc/exception.c 2011-10-09 10:53:12.554940776 +0000 >> @@ -182,7 +182,7 @@ >> _Unwind_Ptr ptr; >> >> ptr = (_Unwind_Ptr) (info->TType - (i * 4)); >> - ptr = _Unwind_decode_target2 (ptr); >> + ptr = _Unwind_decode_typeinfo_ptr (info->ttype_base, (_Unwind_Word) ptr); >> >> /* NULL ptr means catch-all. Note that if the class is not found, >> this will abort the program. */ >> >> libjava fails to build, the same change doesn't work for libjava/exception.cc, >> because the struct lsda_header_info in exception.cc is missing the ttype_base >> member. Any suggestions? > > Is this fixable without backing out Paul Brooks' patch? currently testing Index: libjava/exception.cc =================================================================== --- libjava/exception.cc (revision 179739) +++ libjava/exception.cc (working copy) @@ -135,6 +135,7 @@ { _Unwind_Ptr Start; _Unwind_Ptr LPStart; + _Unwind_Ptr ttype_base; const unsigned char *TType; const unsigned char *action_table; unsigned char ttype_encoding; @@ -184,7 +185,7 @@ _Unwind_Ptr ptr; ptr = (_Unwind_Ptr) (info->TType - (i * 4)); - ptr = _Unwind_decode_target2(ptr); + ptr = _Unwind_decode_typeinfo_ptr (info->ttype_base, (_Unwind_Word) ptr); return reinterpret_cast<void **>(ptr); } @@ -325,6 +326,7 @@ // Parse the LSDA header. p = parse_lsda_header (context, language_specific_data, &info); + info.ttype_base = base_of_encoded_value (info.ttype_encoding, context); #ifdef HAVE_GETIPINFO ip = _Unwind_GetIPInfo (context, &ip_before_insn); #else ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch] C6X unwinding/exception handling 2011-10-10 11:27 ` Matthias Klose @ 2011-10-10 12:23 ` Paul Brook 2011-10-17 11:01 ` Matthias Klose 0 siblings, 1 reply; 10+ messages in thread From: Paul Brook @ 2011-10-10 12:23 UTC (permalink / raw) To: Matthias Klose; +Cc: Andrew Haley, gcc-patches, GCC Java, Nicola Pero > Index: libjava/exception.cc > =================================================================== > --- libjava/exception.cc (revision 179739) > +++ libjava/exception.cc (working copy) > @@ -135,6 +135,7 @@ > { > _Unwind_Ptr Start; > _Unwind_Ptr LPStart; > + _Unwind_Ptr ttype_base; > const unsigned char *TType; > const unsigned char *action_table; > unsigned char ttype_encoding; > @@ -184,7 +185,7 @@ > _Unwind_Ptr ptr; > > ptr = (_Unwind_Ptr) (info->TType - (i * 4)); > - ptr = _Unwind_decode_target2(ptr); > + ptr = _Unwind_decode_typeinfo_ptr (info->ttype_base, (_Unwind_Word) > ptr); > > return reinterpret_cast<void **>(ptr); > } > @@ -325,6 +326,7 @@ > > // Parse the LSDA header. > p = parse_lsda_header (context, language_specific_data, &info); > + info.ttype_base = base_of_encoded_value (info.ttype_encoding, context); > #ifdef HAVE_GETIPINFO > ip = _Unwind_GetIPInfo (context, &ip_before_insn); > #else No. The purpose of my patch was to remove the arm specific code. The only difference I can see in this bit of code is that libstdc++ uses base_of_encoded_value/read_encoded_value_with_base whereas libjava uses context/read_encoded_value. I expect you want something like the patch below (completely untested). Paul Index: exception.cc =================================================================== --- exception.cc (revision 178906) +++ exception.cc (working copy) @@ -161,6 +161,11 @@ parse_lsda_header (_Unwind_Context *cont info->ttype_encoding = *p++; if (info->ttype_encoding != DW_EH_PE_omit) { +#if _GLIBCXX_OVERRIDE_TTYPE_ENCODING + /* Older ARM EABI toolchains set this value incorrectly, so use a + hardcoded OS-specific format. */ + info->ttype_encoding = _GLIBCXX_OVERRIDE_TTYPE_ENCODING; +#endif p = read_uleb128 (p, &tmp); info->TType = p + tmp; } @@ -176,21 +181,6 @@ parse_lsda_header (_Unwind_Context *cont return p; } -#ifdef __ARM_EABI_UNWINDER__ - -static void ** -get_ttype_entry(_Unwind_Context *, lsda_header_info* info, _uleb128_t i) -{ - _Unwind_Ptr ptr; - - ptr = (_Unwind_Ptr) (info->TType - (i * 4)); - ptr = _Unwind_decode_target2(ptr); - - return reinterpret_cast<void **>(ptr); -} - -#else - static void ** get_ttype_entry (_Unwind_Context *context, lsda_header_info *info, long i) { @@ -202,8 +192,6 @@ get_ttype_entry (_Unwind_Context *contex return reinterpret_cast<void **>(ptr); } -#endif - // Using a different personality function name causes link failures // when trying to mix code using different exception handling models. #ifdef SJLJ_EXCEPTIONS ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch] C6X unwinding/exception handling 2011-10-10 12:23 ` Paul Brook @ 2011-10-17 11:01 ` Matthias Klose 2011-10-17 11:21 ` Andrew Haley 2011-10-17 13:49 ` Paul Brook 0 siblings, 2 replies; 10+ messages in thread From: Matthias Klose @ 2011-10-17 11:01 UTC (permalink / raw) To: Paul Brook; +Cc: Andrew Haley, gcc-patches, GCC Java, Nicola Pero [-- Attachment #1: Type: text/plain, Size: 1549 bytes --] On 10/10/2011 02:23 PM, Paul Brook wrote: >> Index: libjava/exception.cc >> =================================================================== >> --- libjava/exception.cc (revision 179739) >> +++ libjava/exception.cc (working copy) >> @@ -135,6 +135,7 @@ >> { >> _Unwind_Ptr Start; >> _Unwind_Ptr LPStart; >> + _Unwind_Ptr ttype_base; >> const unsigned char *TType; >> const unsigned char *action_table; >> unsigned char ttype_encoding; >> @@ -184,7 +185,7 @@ >> _Unwind_Ptr ptr; >> >> ptr = (_Unwind_Ptr) (info->TType - (i * 4)); >> - ptr = _Unwind_decode_target2(ptr); >> + ptr = _Unwind_decode_typeinfo_ptr (info->ttype_base, (_Unwind_Word) >> ptr); >> >> return reinterpret_cast<void **>(ptr); >> } >> @@ -325,6 +326,7 @@ >> >> // Parse the LSDA header. >> p = parse_lsda_header (context, language_specific_data, &info); >> + info.ttype_base = base_of_encoded_value (info.ttype_encoding, context); >> #ifdef HAVE_GETIPINFO >> ip = _Unwind_GetIPInfo (context, &ip_before_insn); >> #else > > No. The purpose of my patch was to remove the arm specific code. > > The only difference I can see in this bit of code is that libstdc++ uses > base_of_encoded_value/read_encoded_value_with_base whereas libjava uses > context/read_encoded_value. > > I expect you want something like the patch below (completely untested). I checked the attached patch, test results at http://gcc.gnu.org/ml/gcc-testresults/2011-10/msg01377.html which are the same as with my suggested patch. Ok for the trunk? Matthias [-- Attachment #2: exc.diff --] [-- Type: text/plain, Size: 3070 bytes --] libjava/ 2011-10-17 Paul Brook <paul@codesourcery.com> * exception.cc (parse_lsda_header): hardcode ttype_encoding for older ARM EABI toolchains. (get_ttype_entry) Remove __ARM_EABI_UNWINDER__ variant. libobjc/ 2011-10-17 Paul Brook <paul@codesourcery.com> Matthias Klose <doko@ubuntu.com> * exception.c (parse_lsda_header): hardcode ttype_encoding for older ARM EABI toolchains. (get_ttype_entry) Remove __ARM_EABI_UNWINDER__ variant. Index: libjava/exception.cc =================================================================== --- libjava/exception.cc (revision 180086) +++ libjava/exception.cc (working copy) @@ -161,6 +161,11 @@ info->ttype_encoding = *p++; if (info->ttype_encoding != DW_EH_PE_omit) { +#if _GLIBCXX_OVERRIDE_TTYPE_ENCODING + /* Older ARM EABI toolchains set this value incorrectly, so use a + hardcoded OS-specific format. */ + info->ttype_encoding = _GLIBCXX_OVERRIDE_TTYPE_ENCODING; +#endif p = read_uleb128 (p, &tmp); info->TType = p + tmp; } @@ -176,22 +181,7 @@ return p; } -#ifdef __ARM_EABI_UNWINDER__ - static void ** -get_ttype_entry(_Unwind_Context *, lsda_header_info* info, _uleb128_t i) -{ - _Unwind_Ptr ptr; - - ptr = (_Unwind_Ptr) (info->TType - (i * 4)); - ptr = _Unwind_decode_target2(ptr); - - return reinterpret_cast<void **>(ptr); -} - -#else - -static void ** get_ttype_entry (_Unwind_Context *context, lsda_header_info *info, long i) { _Unwind_Ptr ptr; @@ -202,8 +192,6 @@ return reinterpret_cast<void **>(ptr); } -#endif - // Using a different personality function name causes link failures // when trying to mix code using different exception handling models. #ifdef SJLJ_EXCEPTIONS Index: libobjc/exception.c =================================================================== --- libobjc/exception.c (revision 180086) +++ libobjc/exception.c (working copy) @@ -159,6 +159,11 @@ info->ttype_encoding = *p++; if (info->ttype_encoding != DW_EH_PE_omit) { +#if _GLIBCXX_OVERRIDE_TTYPE_ENCODING + /* Older ARM EABI toolchains set this value incorrectly, so use a + hardcoded OS-specific format. */ + info->ttype_encoding = _GLIBCXX_OVERRIDE_TTYPE_ENCODING; +#endif p = read_uleb128 (p, &tmp); info->TType = p + tmp; } @@ -174,27 +179,7 @@ return p; } -#ifdef __ARM_EABI_UNWINDER__ - static Class -get_ttype_entry (struct lsda_header_info *info, _uleb128_t i) -{ - _Unwind_Ptr ptr; - - ptr = (_Unwind_Ptr) (info->TType - (i * 4)); - ptr = _Unwind_decode_target2 (ptr); - - /* NULL ptr means catch-all. Note that if the class is not found, - this will abort the program. */ - if (ptr) - return objc_getRequiredClass ((const char *) ptr); - else - return 0; -} - -#else - -static Class get_ttype_entry (struct lsda_header_info *info, _Unwind_Word i) { _Unwind_Ptr ptr; @@ -211,8 +196,6 @@ return 0; } -#endif - /* Using a different personality function name causes link failures when trying to mix code using different exception handling models. */ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch] C6X unwinding/exception handling 2011-10-17 11:01 ` Matthias Klose @ 2011-10-17 11:21 ` Andrew Haley 2011-10-17 11:27 ` Matthias Klose 2011-10-17 13:49 ` Paul Brook 1 sibling, 1 reply; 10+ messages in thread From: Andrew Haley @ 2011-10-17 11:21 UTC (permalink / raw) To: java On 10/17/2011 12:01 PM, Matthias Klose wrote: > On 10/10/2011 02:23 PM, Paul Brook wrote: >>> Index: libjava/exception.cc >>> =================================================================== >>> --- libjava/exception.cc (revision 179739) >>> +++ libjava/exception.cc (working copy) >>> @@ -135,6 +135,7 @@ >>> { >>> _Unwind_Ptr Start; >>> _Unwind_Ptr LPStart; >>> + _Unwind_Ptr ttype_base; >>> const unsigned char *TType; >>> const unsigned char *action_table; >>> unsigned char ttype_encoding; >>> @@ -184,7 +185,7 @@ >>> _Unwind_Ptr ptr; >>> >>> ptr = (_Unwind_Ptr) (info->TType - (i * 4)); >>> - ptr = _Unwind_decode_target2(ptr); >>> + ptr = _Unwind_decode_typeinfo_ptr (info->ttype_base, (_Unwind_Word) >>> ptr); >>> >>> return reinterpret_cast<void **>(ptr); >>> } >>> @@ -325,6 +326,7 @@ >>> >>> // Parse the LSDA header. >>> p = parse_lsda_header (context, language_specific_data, &info); >>> + info.ttype_base = base_of_encoded_value (info.ttype_encoding, context); >>> #ifdef HAVE_GETIPINFO >>> ip = _Unwind_GetIPInfo (context, &ip_before_insn); >>> #else >> >> No. The purpose of my patch was to remove the arm specific code. >> >> The only difference I can see in this bit of code is that libstdc++ uses >> base_of_encoded_value/read_encoded_value_with_base whereas libjava uses >> context/read_encoded_value. >> >> I expect you want something like the patch below (completely untested). > > I checked the attached patch, test results at > http://gcc.gnu.org/ml/gcc-testresults/2011-10/msg01377.html > > which are the same as with my suggested patch. > > Ok for the trunk? OK. One question: where is_GLIBCXX_OVERRIDE_TTYPE_ENCODING defined? Andrew. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch] C6X unwinding/exception handling 2011-10-17 11:21 ` Andrew Haley @ 2011-10-17 11:27 ` Matthias Klose 0 siblings, 0 replies; 10+ messages in thread From: Matthias Klose @ 2011-10-17 11:27 UTC (permalink / raw) To: java On 10/17/2011 01:21 PM, Andrew Haley wrote: > On 10/17/2011 12:01 PM, Matthias Klose wrote: >> On 10/10/2011 02:23 PM, Paul Brook wrote: >>>> Index: libjava/exception.cc >>>> =================================================================== >>>> --- libjava/exception.cc (revision 179739) >>>> +++ libjava/exception.cc (working copy) >>>> @@ -135,6 +135,7 @@ >>>> { >>>> _Unwind_Ptr Start; >>>> _Unwind_Ptr LPStart; >>>> + _Unwind_Ptr ttype_base; >>>> const unsigned char *TType; >>>> const unsigned char *action_table; >>>> unsigned char ttype_encoding; >>>> @@ -184,7 +185,7 @@ >>>> _Unwind_Ptr ptr; >>>> >>>> ptr = (_Unwind_Ptr) (info->TType - (i * 4)); >>>> - ptr = _Unwind_decode_target2(ptr); >>>> + ptr = _Unwind_decode_typeinfo_ptr (info->ttype_base, (_Unwind_Word) >>>> ptr); >>>> >>>> return reinterpret_cast<void **>(ptr); >>>> } >>>> @@ -325,6 +326,7 @@ >>>> >>>> // Parse the LSDA header. >>>> p = parse_lsda_header (context, language_specific_data, &info); >>>> + info.ttype_base = base_of_encoded_value (info.ttype_encoding, context); >>>> #ifdef HAVE_GETIPINFO >>>> ip = _Unwind_GetIPInfo (context, &ip_before_insn); >>>> #else >>> >>> No. The purpose of my patch was to remove the arm specific code. >>> >>> The only difference I can see in this bit of code is that libstdc++ uses >>> base_of_encoded_value/read_encoded_value_with_base whereas libjava uses >>> context/read_encoded_value. >>> >>> I expect you want something like the patch below (completely untested). >> >> I checked the attached patch, test results at >> http://gcc.gnu.org/ml/gcc-testresults/2011-10/msg01377.html >> >> which are the same as with my suggested patch. >> >> Ok for the trunk? > > OK. One question: where is_GLIBCXX_OVERRIDE_TTYPE_ENCODING defined? in libgcc/config/arm/unwind-arm.h ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch] C6X unwinding/exception handling 2011-10-17 11:01 ` Matthias Klose 2011-10-17 11:21 ` Andrew Haley @ 2011-10-17 13:49 ` Paul Brook 2011-10-17 14:11 ` Nicola Pero 1 sibling, 1 reply; 10+ messages in thread From: Paul Brook @ 2011-10-17 13:49 UTC (permalink / raw) To: Matthias Klose; +Cc: Andrew Haley, gcc-patches, GCC Java, Nicola Pero > I checked the attached patch, test results at > http://gcc.gnu.org/ml/gcc-testresults/2011-10/msg01377.html > > which are the same as with my suggested patch. > > Ok for the trunk? I probably don't have authority to approve this, but looks OK to me. Paul ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch] C6X unwinding/exception handling 2011-10-17 13:49 ` Paul Brook @ 2011-10-17 14:11 ` Nicola Pero 2011-10-20 12:29 ` Bernd Schmidt 0 siblings, 1 reply; 10+ messages in thread From: Nicola Pero @ 2011-10-17 14:11 UTC (permalink / raw) To: Paul Brook; +Cc: Matthias Klose, Andrew Haley, gcc-patches, GCC Java >> I checked the attached patch, test results at >> http://gcc.gnu.org/ml/gcc-testresults/2011-10/msg01377.html >> >> which are the same as with my suggested patch. >> >> Ok for the trunk? > > I probably don't have authority to approve this, but looks OK to me. The libobjc bits are Ok for trunk. Thanks ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch] C6X unwinding/exception handling 2011-10-17 14:11 ` Nicola Pero @ 2011-10-20 12:29 ` Bernd Schmidt 0 siblings, 0 replies; 10+ messages in thread From: Bernd Schmidt @ 2011-10-20 12:29 UTC (permalink / raw) To: Nicola Pero Cc: Paul Brook, Matthias Klose, Andrew Haley, gcc-patches, GCC Java On 10/17/11 16:10, Nicola Pero wrote: >>> I checked the attached patch, test results at >>> http://gcc.gnu.org/ml/gcc-testresults/2011-10/msg01377.html >>> >>> which are the same as with my suggested patch. >>> >>> Ok for the trunk? >> >> I probably don't have authority to approve this, but looks OK to me. > > The libobjc bits are Ok for trunk. This is just making sure libjava/libobjc match libsupc++, correct? OK if Andrew doesn't object in the next day or so. Bernd ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2011-10-20 12:29 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <201108041531.58790.paul@codesourcery.com> [not found] ` <201109131348.13087.paul@codesourcery.com> 2011-10-09 11:10 ` [patch] C6X unwinding/exception handling Matthias Klose 2011-10-10 10:33 ` Andrew Haley 2011-10-10 11:27 ` Matthias Klose 2011-10-10 12:23 ` Paul Brook 2011-10-17 11:01 ` Matthias Klose 2011-10-17 11:21 ` Andrew Haley 2011-10-17 11:27 ` Matthias Klose 2011-10-17 13:49 ` Paul Brook 2011-10-17 14:11 ` Nicola Pero 2011-10-20 12:29 ` Bernd Schmidt
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).