From patchwork Thu Apr 13 13:09:56 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 20033 Received: (qmail 25087 invoked by alias); 13 Apr 2017 13:09:59 -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 25071 invoked by uid 89); 13 Apr 2017 13:09:58 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RP_MATCHES_RCVD, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=nf X-HELO: mx1.redhat.com DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 3575AC04BD3C Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=fweimer@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 3575AC04BD3C To: GNU C Library From: Florian Weimer Subject: Compat symbols in abilist files Message-ID: <6453f4f9-75b5-68b9-0e6b-22f40aaee599@redhat.com> Date: Thu, 13 Apr 2017 15:09:56 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.0 MIME-Version: 1.0 I've come up with the attached patch to mark compat symbols as such in the abilist files. Do we want to do this? The downside is that when building glibc in certain non-standard configurations, some symbols are not compat symbols anymore (the prime example is probably --enable-obsolete-rpc). On the other hand, the additional verification is valuable. Thanks, Florian ABI checks: Mark compat symbols with "" 2017-04-13 Florian Weimer * scripts/abilist.awk: Mark compat symbols with "." diff --git a/scripts/abilist.awk b/scripts/abilist.awk index bd740d4..cb17373 100644 --- a/scripts/abilist.awk +++ b/scripts/abilist.awk @@ -46,7 +46,10 @@ $2 == "g" || $2 == "w" && (NF == 7 || NF == 8) { size = " 0x" size; version = $6; symbol = $NF; - gsub(/[()]/, "", version); + weak = version ~ /^\(.*\)$/; + if (weak) { + gsub(/[()]/, "", version); + } # binutils versions up through at least 2.23 have some bugs that # caused STV_HIDDEN symbols to appear in .dynsym, though that is useless. @@ -102,6 +105,10 @@ $2 == "g" || $2 == "w" && (NF == 7 || NF == 8) { if (desc == "") desc = symbol " " type size; + if (weak) { + desc = desc " "; + } + if (combine) version = soname " " version (combine_fullname ? " " sofullname : "");