G++ ABI mismatches
Nathan Sidwell
nathan at codesourcery.com
Tue Aug 26 08:14:10 UTC 2003
Richard Henderson wrote:
> On Mon, Aug 25, 2003 at 08:47:51AM +0100, Nathan Sidwell wrote:
>
>>>... I also noticed that G++ is building __cxa_begin_catch with type
>>>void*(*)(void*), instead of void(*)(void*) as it is defined in section
>>>2.5.3 of the ABI spec.
>>>
>>>Which one is wrong?
>>
>>gcc's implementation is incorrect. its return value is never used
>
>
> This is false.
>
> The return value is the adjusted pointer to the exception object.
> Consider the following test case, which shows that pointer adjustment
> must happen on a per-handler basis.
doh! In grepping for cxa_being_catch I forgot that the compiler
generates those calls. <slaps forehead>
nathan
--
Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery LLC
The voices in my head said this was stupid too
nathan at codesourcery.com :: http://www.planetfall.pwp.blueyonder.co.uk
More information about the cxx-abi-dev
mailing list