[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Altivec and binary compatibility



> Altivec raises an interesting question of binary compatibility, in the
> area of C++ exceptions and C setjmp/longjmp.
>
> As the jmp_buf is a different size in Altivec and non-Altivec code

Because with Altivec we need to save V registers, right ?  Well, I suppose
intel developers had the same problem with P-III "vector" unit. How did they
solve the problem ?

> it is not possible to jump or pass exceptions between the two.
> This is a problem, because:
> 1) Now would not be a good time to change the size of a jmp_buf.
> 2) We do not need two incompatible 32-bit PowerPC ABIs under Linux.
> 2a) Most libraries installed by a distribution will be non-Altivec code,
> to avoid having both G[123] and G4 binary variants of the distribution.

I agree.

> To add to the problem, throwing exceptions on an error is just what a
> modern C++ library is supposed to do.  Throwing or catching an exception
> in Altivec code will produce sequences that cannot execute on a G3

Why ?? (sorry for my ignorance...)

Bye.


Reply to: