mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-27 15:30:07 +00:00
ccf431ffe1
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).
39 lines
935 B
Plaintext
39 lines
935 B
Plaintext
libc {
|
|
# The comment lines with "#errlist-compat" are magic; see errlist-compat.awk.
|
|
# When you get an error from errlist-compat.awk, you need to add a new
|
|
# version here. Don't do this blindly, since this means changing the ABI
|
|
# for all GNU/Linux configurations.
|
|
|
|
GLIBC_2.1 {
|
|
#errlist-compat 253
|
|
_sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
|
|
}
|
|
GLIBC_2.2 {
|
|
# New rlimit interface
|
|
getrlimit; setrlimit; getrlimit64; setrlimit64;
|
|
}
|
|
GLIBC_2.3 {
|
|
#errlist-compat 254
|
|
_sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
|
|
}
|
|
GLIBC_2.4 {
|
|
#errlist-compat 256
|
|
_sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
|
|
}
|
|
GLIBC_2.11 {
|
|
fallocate64;
|
|
}
|
|
GLIBC_2.12 {
|
|
#errlist-compat 257
|
|
_sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
|
|
}
|
|
GLIBC_2.17 {
|
|
#errlist-compat 260
|
|
_sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
|
|
prlimit64;
|
|
}
|
|
GLIBC_2.19 {
|
|
fanotify_mark;
|
|
}
|
|
}
|