Fix compatibility issues with GLIBC(>= 2.34) for prebuilt thirdparty packages (#33314)
Some symbols changed after GLIBC 2.34 according to the release notes(https://lists.gnu.org/archive/html/info-gnu/2021-08/msg00001.html). This may cause linkage errors if we use GLIBC(>= 2.34).
This commit is contained in:
11
thirdparty/download-thirdparty.sh
vendored
11
thirdparty/download-thirdparty.sh
vendored
@ -421,3 +421,14 @@ if [[ "${BASE64_SOURCE}" = "base64-0.5.2" ]]; then
|
||||
cd -
|
||||
fi
|
||||
echo "Finished patching ${BASE64_SOURCE}"
|
||||
|
||||
# patch krb
|
||||
if [[ "${KRB5_SOURCE}" = "krb5-1.19" ]]; then
|
||||
cd "${TP_SOURCE_DIR}/${KRB5_SOURCE}"
|
||||
if [[ ! -f "${PATCHED_MARK}" ]]; then
|
||||
patch -p1 <"${TP_PATCH_DIR}/krb5-1.19.patch"
|
||||
touch "${PATCHED_MARK}"
|
||||
fi
|
||||
cd -
|
||||
fi
|
||||
echo "Finished patching ${KRB5_SOURCE}"
|
||||
|
||||
13
thirdparty/patches/krb5-1.19.patch
vendored
Normal file
13
thirdparty/patches/krb5-1.19.patch
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/src/lib/krb5/os/dnsglue.c b/src/lib/krb5/os/dnsglue.c
|
||||
index 0cd213f..2514fcd 100644
|
||||
--- a/src/lib/krb5/os/dnsglue.c
|
||||
+++ b/src/lib/krb5/os/dnsglue.c
|
||||
@@ -87,6 +87,8 @@ static int initparse(struct krb5int_dns_state *);
|
||||
|
||||
#elif HAVE_RES_NINIT && HAVE_RES_NSEARCH
|
||||
|
||||
+__asm__(".symver __res_nsearch,__res_nsearch@GLIBC_2.2.5");
|
||||
+
|
||||
/* Use res_ninit, res_nsearch, and res_ndestroy or res_nclose. */
|
||||
#define DECLARE_HANDLE(h) struct __res_state h
|
||||
#define INIT_HANDLE(h) (memset(&h, 0, sizeof(h)), res_ninit(&h) == 0)
|
||||
Reference in New Issue
Block a user