Skip to content

Commit 94304fc

Browse files
committed
Downgrade GLIBC_2.29 symbols (fixes #2229)
1 parent 8337c7e commit 94304fc

File tree

4 files changed

+24
-6
lines changed

4 files changed

+24
-6
lines changed

utils/compat/glibc_version.h

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,35 @@
33

44
#ifdef __x86_64__
55
#ifndef __ASSEMBLER__
6-
__asm__(".symver memcpy,memcpy@GLIBC_2.2.5");
76
__asm__(".symver memcmp,memcmp@GLIBC_2.2.5");
7+
__asm__(".symver memcpy,memcpy@GLIBC_2.2.5");
88
__asm__(".symver powf,powf@GLIBC_2.2.5");
9+
__asm__(".symver log,log@GLIBC_2.2.5");
10+
__asm__(".symver pow,pow@GLIBC_2.2.5");
11+
__asm__(".symver exp,exp@GLIBC_2.2.5");
912
#else
10-
.symver memcpy,memcpy@GLIBC_2.2.5
1113
.symver memcmp,memcmp@GLIBC_2.2.5
14+
.symver memcpy,memcpy@GLIBC_2.2.5
1215
.symver powf,powf@GLIBC_2.2.5
16+
.symver log,log@GLIBC_2.2.5
17+
.symver pow,pow@GLIBC_2.2.5
18+
.symver exp,exp@GLIBC_2.2.5
1319
#endif
1420
#else
1521
#ifndef __ASSEMBLER__
16-
__asm__(".symver memcpy,memcpy@GLIBC_2.0");
1722
__asm__(".symver memcmp,memcmp@GLIBC_2.0");
23+
__asm__(".symver memcpy,memcpy@GLIBC_2.0");
1824
__asm__(".symver powf,powf@GLIBC_2.0");
25+
__asm__(".symver log,log@GLIBC_2.0");
26+
__asm__(".symver pow,pow@GLIBC_2.0");
27+
__asm__(".symver exp,exp@GLIBC_2.0");
1928
#else
20-
.symver memcpy,memcpy@GLIBC_2.0
2129
.symver memcmp,memcmp@GLIBC_2.0
30+
.symver memcpy,memcpy@GLIBC_2.0
2231
.symver powf,powf@GLIBC_2.0
32+
.symver log,log@GLIBC_2.0
33+
.symver pow,pow@GLIBC_2.0
34+
.symver exp,exp@GLIBC_2.0
2335
#endif
2436

2537
#endif

utils/compat/glibc_version_x64.redef

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,6 @@
77
memcmp memcmp@GLIBC_2.2.5
88
memcpy memcpy@GLIBC_2.2.5
99
powf powf@GLIBC_2.2.5
10+
log log@GLIBC_2.2.5
11+
pow pow@GLIBC_2.2.5
12+
exp exp@GLIBC_2.2.5

utils/compat/glibc_version_x86.redef

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,6 @@
77
memcmp memcmp@GLIBC_2.0
88
memcpy memcpy@GLIBC_2.0
99
powf powf@GLIBC_2.0
10+
log log@GLIBC_2.0
11+
pow pow@GLIBC_2.0
12+
exp exp@GLIBC_2.0

utils/docker-entrypoint.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
# 64-bits
44
if [ ! -d /compat/x64 ]; then
55
mkdir -p /compat/x64
6-
objcopy --redefine-syms=/compat/glibc_version_x64.redef /usr/lib/gcc/x86_64-linux-gnu/8/libstdc++.a /compat/x64/libstdc++.a
6+
objcopy --redefine-syms=/compat/glibc_version_x64.redef "$(gcc --print-file-name=libstdc++.a)" /compat/x64/libstdc++.a
77
objcopy --redefine-syms=/compat/glibc_version_x64.redef /usr/lib/x86_64-linux-gnu/libmysqlclient.a /compat/x64/libmysqlclient.a
88
fi
99

1010
# 32-bits
1111
if [ ! -d /compat/x86 ] && [[ $BUILD_BITS = "32" ]]; then
1212
apt-get update && apt-get install -y libmysqlclient-dev:i386
1313
mkdir -p /compat/x86
14-
objcopy --redefine-syms=/compat/glibc_version_x86.redef /usr/lib/gcc/x86_64-linux-gnu/8/32/libstdc++.a /compat/x86/libstdc++.a
14+
objcopy --redefine-syms=/compat/glibc_version_x86.redef "$(gcc -m32 --print-file-name=libstdc++.a)" /compat/x86/libstdc++.a
1515
objcopy --redefine-syms=/compat/glibc_version_x86.redef /usr/lib/i386-linux-gnu/libmysqlclient.a /compat/x86/libmysqlclient.a
1616
fi
1717

0 commit comments

Comments
 (0)