From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13991 invoked by alias); 5 Nov 2016 10:53:22 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 13979 invoked by uid 89); 5 Nov 2016 10:53:21 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=1.8 required=5.0 tests=AWL,BAYES_50,KAM_LAZY_DOMAIN_SECURITY autolearn=no version=3.3.2 spammy=H*x:Mailer, H*UA:Mailer, cal, sk:fweimer X-HELO: aev204.rev.netart.pl Date: Sat, 05 Nov 2016 10:53:00 -0000 From: Rafal Luzynski Reply-To: Rafal Luzynski To: libc-alpha@sourceware.org, Florian Weimer Message-ID: <1458120697.2205845.1478343189427@poczta.nazwa.pl> In-Reply-To: <71b7640e-55b0-06a5-1dff-b0fcbaf0eea9@redhat.com> References: <758885038.1799972.1477615768169@poczta.nazwa.pl> <71b7640e-55b0-06a5-1dff-b0fcbaf0eea9@redhat.com> Subject: Re: [RFC][PATCH v4 06/11] Provide backward compatibility for strftime family (bug 10871). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Originating-Client: com.openexchange.ox.gui.dhtml X-SW-Source: 2016-11/txt/msg00221.txt.bz2 4.11.2016 14:40 Florian Weimer wrote: > > > On 10/28/2016 02:49 AM, Rafal Luzynski wrote: > > As %OB format specifier has been added to strftime/wcsftime > > family of functions backward compatibility implementation must be > > provided for older binaries which assume that %B returns > > a month name in the nominative case. > > I think this is a misuse of symbol versioning. Why would I want to pick > up this change when compiling from source, but not for existing binaries? > > Florian There may be applications which rely on the fact that "%B" returns the month name in a nominative case. An example is cal(1) which has been pointed out in [1]. Their source code should be changed to use "%OB" but it cannot be expected from the existing binaries. Did I understand your question correctly? You could also ask how to provide the backward compatibility for the applications compiled from source. I think it's impossible and it's been kinda agreed in [2]. I think that another argument is that if you're compiling an application from the source code then you can change %B to %OB or put some code detecting the current glibc version (at compile time or even at runtime). Regards, Rafal Luzynski [1] https://sourceware.org/ml/libc-alpha/2016-03/msg00698.html [2] https://sourceware.org/ml/libc-alpha/2016-06/msg00021.html