hppa: Add ABI baselines.
commitccf431ffe19efdd608f641ab68e47063691a65c3
authorCarlos O'Donell <carlos@systemhalted.org>
Wed, 2 Jul 2014 03:52:09 +0000 (1 23:52 -0400)
committerCarlos O'Donell <carlos@systemhalted.org>
Wed, 2 Jul 2014 03:59:47 +0000 (1 23:59 -0400)
tree15d5d26ac5f17eac3c6c5a3cb5c8b1c92f5fcfb6
parentca06321df0d5327f30b7ef7065278974dd89c6d8
hppa: Add ABI baselines.

The following ABI baselines were tested against several old releases
of debian and gentoo. Several problems were discovered and fixed as
part of developing the ABI baselines.

Firstly, libBrokenLocale on gentoo exports __ctype_get_mb_cur_max
as @@GLIBC_2.0, but it should be @@GLIBC_2.2 since that's the minimum
version defined in shlib-versions for hppa. I don't know when this
broke, but master properly parses hppa's shlib-versions which clearly
lists libBrokenLocale as defaulting to GLIBC_2.2. Therefore I'm
accepting GLBIC_2.2 as the correct version for this symbol and setting
the baseline to that, despite the fact that the present distribution
is wrong. I don't expect that any new applications should be using
libBrokenLocale, so it should match the oldest behaviour which is to
export a GLIBC_2.2 symbol. For example in debian's 2.7 has it at
version GLIBC_2.2.

Secondly, aio_cancel and aio_cancel64 previously had a compat symbol
at version @GLIBC_2.1 with a new symbol at @@GLIBC_2.3[1]. During the
Linuxthreads to NPTL transition the file aio_cancel.c was lost for hppa
and that resulted in just @@GLIBC_2.1 versions of these symbols being
exported. The @@GLIBC_2.1 version works correctly and uses the right
value of ECANCELLED. Therefore if I were to fix this today it might
break correctly working applications using aio_cancel*@GLIBC_2.1 by
causing those to use the old aio_cancel that used the older value
of ECANCELLED. Thus the best option is to accept that the ABI changed
and ignore older applications in favour of newer applications. The
best thing to do is cleanup the version files (included in the patch).

The rest of the ABI was as expected (ignoring __p_type_syms size
change in 2008).
15 files changed:
ChangeLog
sysdeps/unix/sysv/linux/hppa/Versions
sysdeps/unix/sysv/linux/hppa/ld.abilist [new file with mode: 0644]
sysdeps/unix/sysv/linux/hppa/libBrokenLocale.abilist [new file with mode: 0644]
sysdeps/unix/sysv/linux/hppa/libanl.abilist [new file with mode: 0644]
sysdeps/unix/sysv/linux/hppa/libc.abilist [new file with mode: 0644]
sysdeps/unix/sysv/linux/hppa/libcrypt.abilist [new file with mode: 0644]
sysdeps/unix/sysv/linux/hppa/libdl.abilist [new file with mode: 0644]
sysdeps/unix/sysv/linux/hppa/libm.abilist [new file with mode: 0644]
sysdeps/unix/sysv/linux/hppa/libnsl.abilist [new file with mode: 0644]
sysdeps/unix/sysv/linux/hppa/libpthread.abilist [new file with mode: 0644]
sysdeps/unix/sysv/linux/hppa/libresolv.abilist [new file with mode: 0644]
sysdeps/unix/sysv/linux/hppa/librt.abilist [new file with mode: 0644]
sysdeps/unix/sysv/linux/hppa/libthread_db.abilist [new file with mode: 0644]
sysdeps/unix/sysv/linux/hppa/libutil.abilist [new file with mode: 0644]