[PATCH 15/30] nptl: Remove pread from libpthread
Florian Weimer
fweimer@redhat.com
Wed Mar 17 20:04:03 GMT 2021
* Adhemerval Zanella:
>> Sorry, two more things: I don't quite see how alpha is an outlier here.
>>
>> And ideally, this should receive the same treatment (and similar commit
>> message) as lseek64 because I think we should switch from GLIBC_2.2
>> symbols to GLIBC_2.1 for the default, and make the GLIBC_2.2 symbols
>> compat versions.
>>
>> Both comments apply to the pwrite change as well.
>
> Alpha is outlier because it requires to handle a GLIBC_2_1 and
> GLIBC_2_2 symbol versioning *also* for pread and __pread (not only
> for LFS pread64 and __pread64 as usual LFS ABIs).
Ah I see it now: mips64-linux-gnu-n64 has only this:
1556: 0000000000109b70 300 FUNC GLOBAL DEFAULT 12 __libc_pread@@GLIBC_PRIVATE
2229: 0000000000109b70 300 FUNC WEAK DEFAULT 12 pread@@GLIBC_2.2
Likewise ia64-linux-gnu:
1640: 00000000001bb180 528 FUNC GLOBAL DEFAULT 11 __libc_pread@@GLIBC_PRIVATE
2624: 00000000001bb180 528 FUNC WEAK DEFAULT 11 pread@@GLIBC_2.2
While i686-linux-gnu has:
1327: 000f8480 218 FUNC GLOBAL DEFAULT 13 __libc_pread@@GLIBC_PRIVATE
2371: 000f8480 218 FUNC GLOBAL DEFAULT 13 pread@@GLIBC_2.2
2373: 000f8480 218 FUNC GLOBAL DEFAULT 13 pread@GLIBC_2.1
And alpha-linux-gnu has:
1406: 00000000000fc490 296 FUNC GLOBAL DEFAULT 11 __libc_pread@@GLIBC_PRIVATE
2522: 00000000000fc490 296 FUNC GLOBAL DEFAULT 11 pread@@GLIBC_2.2
2524: 00000000000fc490 296 FUNC GLOBAL DEFAULT 11 pread@GLIBC_2.1
I compared it to the 32-bit ports …
It's a bit unfortunate that we have to pollute the generic code for
this. But I don't see a way to avoid this if we bias the symbol version
towards pread@@GLIBC_2.1, to avoid the new pread@@GLIBC_2.34 symbol.
Thanks,
Florian
More information about the Libc-alpha
mailing list