Re: Distributions still suffering from s390 ABI change problems.
[Posted July 16, 2014 by corbet]
| From: |
| Aurelien Jarno <aurelien-AT-aurel32.net> |
| To: |
| Carlos O'Donell <carlos-AT-redhat.com> |
| Subject: |
| Re: Distributions still suffering from s390 ABI change problems. |
| Date: |
| Tue, 15 Jul 2014 00:19:33 +0200 |
| Message-ID: |
| <20140714221933.GJ1239@hall.aurel32.net> |
| Cc: |
| David Miller <davem-AT-davemloft.net>, Andreas Krebbel <krebbel-AT-linux.vnet.ibm.com>, siddhesh-AT-redhat.com, allan-AT-archlinux.org, libc-alpha-AT-sourceware.org |
On Mon, Jul 14, 2014 at 08:31:23PM +0200, Aurelien Jarno wrote:
> Also there seems to be a problem in the compatibility symbols, some code
> fully compiled against libc 2.18 do not run with libc 2.19, but do run
> with libc 2.19 and the change reverted. I *suspect*, but nothing is
> confirmed yet, that the compatibility symbols to not handle all cases
> of the pthread_cleanup functions.
The problem is that jmp_buf is "internally" used in the
__pthread_unwind_buf_t structure, so its size is changed.
To fix that functions taking this struct as argument should be
versioned. That said pthread.h being part of the public API, some code
might embed __pthread_unwind_buf_t in another structure. At least that
that will permit old programs not depending on any new library to
continue working. At a first glance, the following functions are
affected:
- __pthread_register_cancel
- __pthread_unregister_cancel
- __pthread_register_cancel_defer
- __pthread_unregister_cancel_restore
- __pthread_unwind
- __pthread_unwind_next
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
aurelien@aurel32.net http://www.aurel32.net