Message ID | alpine.DEB.2.20.1701032135220.14638@digraph.polyomino.org.uk |
---|---|
State | New |
Headers | show |
Ping. This patch <https://sourceware.org/ml/libc-alpha/2017-01/msg00094.html> is pending review. Can someone confirm these functions have indeed been absent from MicroBlaze librt all along?
Ping^2. This patch <https://sourceware.org/ml/libc-alpha/2017-01/msg00094.html> is still pending review. Can someone confirm these functions have indeed been absent from MicroBlaze librt all along?
On 17/01/2017 20:50, Joseph Myers wrote: > Ping^2. This patch > <https://sourceware.org/ml/libc-alpha/2017-01/msg00094.html> is still > pending review. Can someone confirm these functions have indeed been > absent from MicroBlaze librt all along? > I am not sure if it is suffice to confirm the symbol existence, but I could build a microblaze-linux-gnu using 2.18 release branch (with minor adjustment on configure to not fail with make 4.*) and these symbol indeed are present on librt: glibc/build/microblaze-linux-gnu$ objdump -t rt/librt.so | grep clock_ 000062a8 g F .text 00000030 clock_gettime 00006308 g F .text 00000030 clock_getcpuclockid 00006278 g F .text 00000030 clock_getres 00000000 F *UND* 00000000 __clock_nanosleep@@GLIBC_PRIVATE 00000000 F *UND* 00000000 __clock_getres@@GLIBC_PRIVATE 00000000 F *UND* 00000000 __clock_gettime@@GLIBC_PRIVATE 00006338 g F .text 00000030 clock_nanosleep 000062d8 g F .text 00000030 clock_settime 00000000 F *UND* 00000000 __clock_getcpuclockid@@GLIBC_PRIVATE 00000000 F *UND* 00000000 __clock_settime@@GLIBC_PRIVATE
On Wed, 18 Jan 2017, Adhemerval Zanella wrote: > I am not sure if it is suffice to confirm the symbol existence, but > I could build a microblaze-linux-gnu using 2.18 release branch (with > minor adjustment on configure to not fail with make 4.*) and these > symbol indeed are present on librt: > > glibc/build/microblaze-linux-gnu$ objdump -t rt/librt.so | grep clock_ objdump -T (--dynamic-syms) output, showing the symbol versions, would be more useful. If the symbols are indeed part of the librt ABI for MicroBlaze we need a more complicated fix to ensure they are present in that library with current sources. I suspect the cause of the symbols being present would have been the Versions.def issue fixed by <https://sourceware.org/ml/libc-alpha/2014-02/msg00598.html>.
On 18/01/2017 11:42, Joseph Myers wrote: > On Wed, 18 Jan 2017, Adhemerval Zanella wrote: > >> I am not sure if it is suffice to confirm the symbol existence, but >> I could build a microblaze-linux-gnu using 2.18 release branch (with >> minor adjustment on configure to not fail with make 4.*) and these >> symbol indeed are present on librt: >> >> glibc/build/microblaze-linux-gnu$ objdump -t rt/librt.so | grep clock_ > > objdump -T (--dynamic-syms) output, showing the symbol versions, would be > more useful. $ objdump -T rt/librt.so | grep clock_ 00000000 DF *UND* 00000000 GLIBC_PRIVATE __clock_nanosleep 00000000 DF *UND* 00000000 GLIBC_PRIVATE __clock_getres 00000000 DF *UND* 00000000 GLIBC_PRIVATE __clock_gettime 00000000 DF *UND* 00000000 GLIBC_PRIVATE __clock_getcpuclockid 00000000 DF *UND* 00000000 GLIBC_PRIVATE __clock_settime 00006278 g DF .text 00000030 GLIBC_2.18 clock_getres 000062a8 g DF .text 00000030 GLIBC_2.18 clock_gettime 00006308 g DF .text 00000030 GLIBC_2.18 clock_getcpuclockid 00006338 g DF .text 00000030 GLIBC_2.18 clock_nanosleep 000062d8 g DF .text 00000030 GLIBC_2.18 clock_settime It indeed shows the symbols being exported the 2.18 version. > > If the symbols are indeed part of the librt ABI for MicroBlaze we need a > more complicated fix to ensure they are present in that library with > current sources. I suspect the cause of the symbols being present would > have been the Versions.def issue fixed by > <https://sourceware.org/ml/libc-alpha/2014-02/msg00598.html>. > The symbols seems to be removed on 2.20 release and 2.23 also have these symbols absent (I could not verify on 2.21 and 2.22 since the build is broken on microblaze with my current GCC 6.2.1 toolchain). So we have potentially two releases with these symbol on librt.so (2.18 and 2.19). I am not sure which is the best course of action in this case, if it would be better to just follow the default practice to assume no librt symbols or follow old release behaviour.
diff --git a/sysdeps/unix/sysv/linux/microblaze/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/librt.abilist index 9f6ecb0..e672dfc 100644 --- a/sysdeps/unix/sysv/linux/microblaze/librt.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/librt.abilist @@ -15,11 +15,6 @@ GLIBC_2.18 aio_suspend F GLIBC_2.18 aio_suspend64 F GLIBC_2.18 aio_write F GLIBC_2.18 aio_write64 F -GLIBC_2.18 clock_getcpuclockid F -GLIBC_2.18 clock_getres F -GLIBC_2.18 clock_gettime F -GLIBC_2.18 clock_nanosleep F -GLIBC_2.18 clock_settime F GLIBC_2.18 lio_listio F GLIBC_2.18 lio_listio64 F GLIBC_2.18 mq_close F