From patchwork Thu Apr 20 19:58:37 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joseph Myers X-Patchwork-Id: 752988 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3w88nr0J9Wz9s7j for ; Fri, 21 Apr 2017 05:58:55 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="QUy7qMOY"; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:subject:message-id:mime-version :content-type; q=dns; s=default; b=rlsB56Tyo2fo+ksde38kWmYL3gojZ aN6FkOLgRWVzizIzH2IqNRQ57jtdI/ekmUHBK1XBurOJmfflYFIfwldubhd+1yNC klmV4fflJu/fpaTUGp0OFeg/6JDvhjQurEHf1DB7ND4tAZ02/TLNYBOS1UV5rwQ2 +x9qAYUwWa+NF8= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:subject:message-id:mime-version :content-type; s=default; bh=421E+xttXJmuwjgFyKX7XZjOgI0=; b=QUy 7qMOY57gmUmMOjVOP4hLhyt/H1yozbGjA3rKQI7o0n+koqWff0Fy726SPwcq8uZr 4PPB0509gEblEyXvCgg2J/zW/oOma7WVbY0N/Bzk3K4hJJbg5/8x8B5t3yt+wCCU rbtM3eHDspnwF8OlUnrjgszOt8OmptFtooJyUo7Y= Received: (qmail 66119 invoked by alias); 20 Apr 2017 19:58:46 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 66105 invoked by uid 89); 20 Apr 2017 19:58:46 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.4 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS, URIBL_RED autolearn=ham version=3.3.2 spammy=stripped X-HELO: relay1.mentorg.com Date: Thu, 20 Apr 2017 19:58:37 +0000 From: Joseph Myers To: Subject: Do not use wildcard symbol names for public versions in Versions files Message-ID: User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 X-ClientProxiedBy: svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) As noted in , stdlib/Versions and wcsmbs/Versions list some functions as __strto*_internal and __wcsto*_internal rather than explicitly listing the symbols to be exported (so any new internal function matching one of those patterns would be wrongly added to version GLIBC_2.0), which seems like a bad idea. This patch changes those files to list the exported symbols explicitly. There are still entries in sysdeps/nacl/Versions for __nacl_irt_*, but as GLIBC_PRIVATE symbols that seems less significant. Tested with build-many-glibcs.py that installed stripped shared libraries are unchanged by the patch. 2017-04-20 Joseph Myers * stdlib/Versions (__strtod_internal): List explicitly, not as wildcard. (__strtof_internal): Likewise. (__strtold_internal): Likewise. (__strtol_internal): Likewise. (__strtoll_internal): Likewise. (__strtoul_internal): Likewise. (__strtoull_internal): Likewise. (__strtoq_internal): Likewise. (__strtouq_internal): Likewise. * wcsmbs/Versions (__wcstod_internal): Likewise. (__wcstof_internal): Likewise. (__wcstold_internal): Likewise. (__wcstol_internal): Likewise. (__wcstoll_internal): Likewise. (__wcstoul_internal): Likewise. (__wcstoull_internal): Likewise. diff --git a/stdlib/Versions b/stdlib/Versions index 415b994..9cade20 100644 --- a/stdlib/Versions +++ b/stdlib/Versions @@ -4,7 +4,11 @@ libc { __xpg_basename; # functions used in inline functions or macros - __strto*_internal; + __strtod_internal; __strtof_internal; __strtold_internal; + __strtol_internal; __strtoll_internal; + __strtoul_internal; __strtoull_internal; + # functions formerly so used (compatibility symbols) + __strtoq_internal; __strtouq_internal; # compatibility symbol __secure_getenv; diff --git a/wcsmbs/Versions b/wcsmbs/Versions index 1ff5ff3..b8f7bd7 100644 --- a/wcsmbs/Versions +++ b/wcsmbs/Versions @@ -1,7 +1,10 @@ libc { GLIBC_2.0 { # functions used in inline functions or macros - __mbrlen; __mbrtowc; __wcsto*_internal; + __mbrlen; __mbrtowc; + __wcstod_internal; __wcstof_internal; __wcstold_internal; + __wcstol_internal; __wcstoll_internal; + __wcstoul_internal; __wcstoull_internal; # b* btowc;