[v2] fix glibc ABI compat

Submitted by Szabolcs Nagy on March 28, 2020, 4:39 p.m.

Details

Message ID 20200328163954.GV14278@port70.net
State New
Series "fix glibc ABI compat"
Headers show

Commit Message

Szabolcs Nagy March 28, 2020, 4:39 p.m.
v2: export __strftime_l only, not the resolv symbols

Patch hide | download patch | download mbox

From 6304ba52b696c781668d792aa089d51283e9e5d3 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sat, 28 Mar 2020 11:11:32 +0000
Subject: [PATCH v2] fix glibc ABI compat

commit 0676c3a34c7bf12b33f8f5efb92476f4ffc7f20e made various
internal symbols hidden, but at least __strftime_l is useful
for glibc ABI compatibility since it is used by glibc linked
libstdc++ so make it avilable again to avoid regression.

the following symbols are hidden in musl, but exported in glibc
and present in current glibc public headers too:

__dn_expand
__res_mkquery
__res_send
__stpcpy
__stpncpy

glibc resolv symbols are not completely covered in musl and
making a small subset available does not help much. it seems
there never was a redirection to __stpcpy or __stpncpy in
glibc headers so they are unlikely to be used.
---
 src/include/time.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/include/time.h b/src/include/time.h
index cbabde47..4f94bc39 100644
--- a/src/include/time.h
+++ b/src/include/time.h
@@ -10,6 +10,6 @@  hidden char *__asctime_r(const struct tm *, char *);
 hidden struct tm *__gmtime_r(const time_t *restrict, struct tm *restrict);
 hidden struct tm *__localtime_r(const time_t *restrict, struct tm *restrict);
 
-hidden size_t __strftime_l(char *restrict, size_t, const char *restrict, const struct tm *restrict, locale_t);
+size_t __strftime_l(char *restrict, size_t, const char *restrict, const struct tm *restrict, locale_t);
 
 #endif
-- 
2.24.1