Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing symbols while relocating libstdc++.so.6 3.4.30 and libgcc_s.so.1 #1475

Open
vtikoo opened this issue Jun 26, 2023 · 2 comments
Open

Comments

@vtikoo
Copy link
Collaborator

vtikoo commented Jun 26, 2023

While running numpy_core_tests, following symbols are missing -

$readelf --relocs appdir/usr/lib/x86_64-linux-gnu/libgcc_s.so.1 | grep dl_find_object
00000001f108 000e00000007 R_X86_64_JUMP_SLO 0000000000000000 _dl_find_object@GLIBC_2.35 + 0
$readelf --relocs appdir/usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep arc4random
000000214150 000900000007 R_X86_64_JUMP_SLO 0000000000000000 arc4random@GLIBC_2.36 + 0
$readelf --relocs appdir/usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep libc_
000000213298 003000000006 R_X86_64_GLOB_DAT 0000000000000000 __libc_single_threaded@GLIBC_2.32 + 0

arc4random can be mitigated by runtime interpositioning libbsddev.

All these symbols are part of glibc shared object file -

 $strings appdir/usr/lib/x86_64-linux-gnu/libc.so.6 | grep _dl_find_object
_dl_find_object
$strings appdir/usr/lib/x86_64-linux-gnu/libc.so.6 | grep arc4random
arc4random_uniform
arc4random_buf
arc4random
Fatal glibc error: cannot get entropy for arc4random
$strings appdir/usr/lib/x86_64-linux-gnu/libc.so.6 | grep __libc_single_threaded
__libc_single_threaded

libstdc++ version information -

$strings appdir/usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep LIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
GLIBCXX_3.4.29
GLIBCXX_3.4.30
GLIBCXX_DEBUG_MESSAGE_LENGTH

libgcc_s version information -

$strings appdir/usr/lib/x86_64-linux-gnu/libgcc_s.so.1 | grep GCC
GCC_3.0
GCC_3.3
GCC_3.3.1
GCC_3.4
GCC_3.4.2
GCC_3.4.4
GCC_4.0.0
GCC_4.2.0
GCC_4.3.0
GCC_4.7.0
GCC_4.8.0
GCC_7.0.0
GCC_12.0.0
@vtikoo vtikoo changed the title Missing symbols while relocating libstdc++.so.6 3.4.30 Missing symbols while relocating libstdc++.so.6 3.4.30 and libgcc_s.so.1 Jun 26, 2023
@anakrish
Copy link
Collaborator

For __libc_single_threaded, see

@vtikoo
Copy link
Collaborator Author

vtikoo commented Jun 17, 2024

@radhikaj we are hitting this for .net 8 too. This seems like a musl C vs glibc difference. We could check if newer musl versions support this (I couldn't find anything promising from my cursory search). Or implement these symbols in musl ourselves.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants