aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/hppa/librt.abilist
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos@systemhalted.org>2014-07-01 23:52:09 -0400
committerCarlos O'Donell <carlos@systemhalted.org>2014-07-01 23:59:47 -0400
commitccf431ffe19efdd608f641ab68e47063691a65c3 (patch)
tree15d5d26ac5f17eac3c6c5a3cb5c8b1c92f5fcfb6 /sysdeps/unix/sysv/linux/hppa/librt.abilist
parentca06321df0d5327f30b7ef7065278974dd89c6d8 (diff)
downloadglibc-ccf431ffe19efdd608f641ab68e47063691a65c3.tar
glibc-ccf431ffe19efdd608f641ab68e47063691a65c3.tar.gz
glibc-ccf431ffe19efdd608f641ab68e47063691a65c3.tar.bz2
glibc-ccf431ffe19efdd608f641ab68e47063691a65c3.zip
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).
Diffstat (limited to 'sysdeps/unix/sysv/linux/hppa/librt.abilist')
-rw-r--r--sysdeps/unix/sysv/linux/hppa/librt.abilist56
1 files changed, 56 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/hppa/librt.abilist b/sysdeps/unix/sysv/linux/hppa/librt.abilist
new file mode 100644
index 0000000000..b2a5f2d182
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/hppa/librt.abilist
@@ -0,0 +1,56 @@
+GLIBC_2.1
+ GLIBC_2.1 A
+ aio_cancel F
+ aio_cancel64 F
+ aio_error F
+ aio_error64 F
+ aio_fsync F
+ aio_fsync64 F
+ aio_init F
+ aio_read F
+ aio_read64 F
+ aio_return F
+ aio_return64 F
+ aio_suspend F
+ aio_suspend64 F
+ aio_write F
+ aio_write64 F
+ lio_listio F
+ lio_listio64 F
+GLIBC_2.2
+ GLIBC_2.2 A
+ clock_getcpuclockid F
+ clock_getres F
+ clock_gettime F
+ clock_nanosleep F
+ clock_settime F
+ shm_open F
+ shm_unlink F
+ timer_create F
+ timer_delete F
+ timer_getoverrun F
+ timer_gettime F
+ timer_settime F
+GLIBC_2.3
+ GLIBC_2.3 A
+ aio_cancel F
+ aio_cancel64 F
+GLIBC_2.3.4
+ GLIBC_2.3.4 A
+ mq_close F
+ mq_getattr F
+ mq_notify F
+ mq_open F
+ mq_receive F
+ mq_send F
+ mq_setattr F
+ mq_timedreceive F
+ mq_timedsend F
+ mq_unlink F
+GLIBC_2.4
+ GLIBC_2.4 A
+ lio_listio F
+ lio_listio64 F
+GLIBC_2.7
+ GLIBC_2.7 A
+ __mq_open_2 F