linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Adrian Cox <apc@agelectronics.co.uk>
To: LinuxPPC-Dev <linuxppc-dev@lists.linuxppc.org>,
	Debian PowerPC <debian-powerpc@lists.debian.org>
Subject: Altivec and binary compatibility
Date: Fri, 04 Feb 2000 10:29:26 +0000	[thread overview]
Message-ID: <389AAA06.CBCDB19A@agelectronics.co.uk> (raw)


Altivec raises an interesting question of binary compatibility, in the
area of C++ exceptions and \x03C setjmp/longjmp.

As the jmp_buf is a different size in Altivec and non-Altivec code, 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.

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
(which is precisely what got me considering this).

Does anybody have any bright ideas, beyond ensuring that everybody
restricts the use of Altivec compilation to routines which only call
safe functions? As long as Altivec code requires the vector keyword,
that's probably a reasonable assumption.

- Adrian Cox, AG Electronics

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

             reply	other threads:[~2000-02-04 10:29 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-02-04 10:29 Adrian Cox [this message]
2000-02-07 15:11 ` Altivec and binary compatibility Giuliano Pochini
2000-02-07 18:06   ` Adrian Cox
2000-02-08 20:11     ` Giuliano Pochini
2000-02-11  9:41       ` Adrian Cox
     [not found]     ` <v03010d02b4cce4346bac@[192.168.1.16]>
     [not found]       ` <38A7D0FD.D6A7E95D@agelectronics.co.uk>
2000-02-20  1:18         ` Giuliano Pochini
2000-02-20 16:00         ` Giuliano Pochini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=389AAA06.CBCDB19A@agelectronics.co.uk \
    --to=apc@agelectronics.co.uk \
    --cc=debian-powerpc@lists.debian.org \
    --cc=linuxppc-dev@lists.linuxppc.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 NNTP newsgroup(s).