From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/14109 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Szabolcs Nagy Newsgroups: gmane.linux.lib.musl.general Subject: Re: __strftime_l: symbol not found Date: Wed, 8 May 2019 20:31:29 +0200 Message-ID: <20190508183129.GR26605@port70.net> References: Reply-To: musl@lists.openwall.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="77594"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mutt/1.10.1 (2018-07-13) Cc: John Mudd To: musl@lists.openwall.com Original-X-From: musl-return-14125-gllmg-musl=m.gmane.org@lists.openwall.com Wed May 08 20:31:45 2019 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by blaine.gmane.org with smtp (Exim 4.89) (envelope-from ) id 1hORM1-000JvX-0t for gllmg-musl@m.gmane.org; Wed, 08 May 2019 20:31:45 +0200 Original-Received: (qmail 29932 invoked by uid 550); 8 May 2019 18:31:42 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 29885 invoked from network); 8 May 2019 18:31:41 -0000 Mail-Followup-To: musl@lists.openwall.com, John Mudd Content-Disposition: inline In-Reply-To: Xref: news.gmane.org gmane.linux.lib.musl.general:14109 Archived-At: * John Mudd [2019-05-08 12:26:15 -0400]: > Hi, I'm upgrading my musl from 1.19 to 1.22 but it looks like I lost > the __strftime_l function. It's present in the 1.19 libc.so but not in 1.22. user binary is not supposed to have reference to this symbol, it's musl internal (now hidden, previously visible) it can be argued that the symbol is part of the glibc abi compat since glibc exports it, but even on glibc i'm not sure how you would end up with such symbol reference (glibc headers don't refer to it). > > $ nm -D /home/mudd/musl-1.1.19.install/lib/libc.so | grep __strftime_l > 0007b6a0 T __strftime_l > $ nm -D /home/mudd/musl-1.1.22.install/lib/libc.so | grep __strftime_l > $ > > > Here's the diff on the source code. I can't explain how this diff would > cause the function to disappear. Any suggestions? > > $ diff musl-1.1.19/src/time/strftime.c /musl-1.1.22/src/time/strftime.c > 9d8 > < #include "libc.h" > 12,13d10 > < const char *__nl_langinfo_l(nl_item, locale_t); > < > 48,50d44 > < const char *__tm_to_tzname(const struct tm *); > < size_t __strftime_l(char *restrict, size_t, const char *restrict, const > struct tm *restrict, locale_t); > < > 184,186c178,179 > < *l = snprintf(*s, sizeof *s, "%+.2d%.2d", > < (tm->__tm_gmtoff)/3600, > < abs(tm->__tm_gmtoff%3600)/60); > --- > > *l = snprintf(*s, sizeof *s, "%+.4ld", > > tm->__tm_gmtoff/3600*100 + tm->__tm_gmtoff%3600/60); > $