From patchwork Thu Aug 1 18:15:34 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 33906 Received: (qmail 102519 invoked by alias); 1 Aug 2019 18:15:52 -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 102450 invoked by uid 89); 1 Aug 2019 18:15:51 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-15.9 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 autolearn=ham version=3.3.1 spammy=accident X-HELO: mail-qt1-f193.google.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references; bh=YAJOTy82WEnFh7qT7GuiRDcR9YkfP5ZBtUwlSVkOU9E=; b=aYmOpBLelYuxqx+oF2k1VhSNlVvWlTblm+vfBdUNBMEchP4iIGagx7liryJxamJ0gu JEOFbmkG5kAL1RLGkFhOxpaRO77P/O1CUcsqVSzwJvijbVa91fHt424JrKEJrLT4NtWv VXWVs1ajU5GAY7VrM7DawZmquTWo8sWk4w2FK9oM978MQ38Xl0ZGUebCO1/MFrVuZcl8 ePIk0JSMLXQI06/N9buDj+3mVTNSik09osSe41Yfc+ZwKnwiMhmjVt7y+VR+gGQuQMyy zLY9xwaHpeCi/3qQHje0/1hci7CsekrBVDSqZkKnQKW1PoWDMZcPAfcZhS4D135q0+yg pylA== Return-Path: From: Adhemerval Zanella To: libc-alpha@sourceware.org Subject: [PATCH 2/2] linux: Make profil_counter a compat_symbol (BZ#17726) Date: Thu, 1 Aug 2019 15:15:34 -0300 Message-Id: <20190801181534.8802-2-adhemerval.zanella@linaro.org> In-Reply-To: <20190801181534.8802-1-adhemerval.zanella@linaro.org> References: <20190801181534.8802-1-adhemerval.zanella@linaro.org> As indicated by Joseph's comment on BZ#17726, this symbol is most likely a historical ABI accident. This patch make it on both arm and sparc ABIs a compat_symbol. Checked with a build arm-linux-gnueabihf, sparcv9-linux-gnu, adn sparc64-linux-gnu to see if the symbol is still present. * gmon/Versions (libc) [GLIBC_2.31]: New entry. * sysdeps/unix/sysv/linux/arm/profil-counter.h (profil_counter): Make a compat_symbol. * sysdeps/unix/sysv/linux/sparc/profil-counter.h (__profil_counter_global): Likewise. --- gmon/Versions | 2 ++ sysdeps/unix/sysv/linux/arm/profil-counter.h | 5 ++++- sysdeps/unix/sysv/linux/sparc/profil-counter.h | 5 ++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/gmon/Versions b/gmon/Versions index d0b63334f2..cc705bd978 100644 --- a/gmon/Versions +++ b/gmon/Versions @@ -19,4 +19,6 @@ libc { GLIBC_2.2.3 { sprofil; } + GLIBC_2.31 { + } } diff --git a/sysdeps/unix/sysv/linux/arm/profil-counter.h b/sysdeps/unix/sysv/linux/arm/profil-counter.h index 29a9c7fecc..6243a02bb5 100644 --- a/sysdeps/unix/sysv/linux/arm/profil-counter.h +++ b/sysdeps/unix/sysv/linux/arm/profil-counter.h @@ -30,5 +30,8 @@ __profil_counter (int signo, siginfo_t *_si, void *scp) asm volatile (""); } #ifndef __profil_counter -weak_alias (__profil_counter, profil_counter) +# include +# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_31) +compat_symbol (libc, __profil_counter, profil_counter, GLIBC_2_0); +# endif #endif diff --git a/sysdeps/unix/sysv/linux/sparc/profil-counter.h b/sysdeps/unix/sysv/linux/sparc/profil-counter.h index ad06a4fe06..01271103bb 100644 --- a/sysdeps/unix/sysv/linux/sparc/profil-counter.h +++ b/sysdeps/unix/sysv/linux/sparc/profil-counter.h @@ -21,6 +21,8 @@ #include #ifndef __profil_counter +# include +# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_31) void __profil_counter_global (int signo, struct sigcontext *si) { @@ -30,5 +32,6 @@ __profil_counter_global (int signo, struct sigcontext *si) profil_count (si->si_regs.pc); #endif } -weak_alias (__profil_counter_global, profil_counter) +compat_symbol (libc, __profil_counter_global, profil_counter, GLIBC_2_0); +# endif #endif