From patchwork Thu Aug 15 21:18:43 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: 34133 Received: (qmail 52315 invoked by alias); 15 Aug 2019 21:18:56 -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 52254 invoked by uid 89); 15 Aug 2019 21:18:56 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-16.3 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= X-HELO: mail-qk1-f195.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=PcqEohnOJ2nwawyc5G+UXVFc5YRFPwui9NATsOUCPGI=; b=CvnxtAwp1IGvA9PhLYzgTTk1OoECyFAdhnrNWnpRm39VH6YbgZJodIoBqJgST9ZuiC zws9Ec64npYLGRMfwH60qrlenSF0CYUWRLzaWZOjYKpv30jDnYvggqlwscBA8qgdEBom ddnGofsVi4xx0aSc4V2ugzb9N08JIqe1KE8BvBDWQH3tyObFSppcTDinRTMe1aYB8z76 Q+qoYJEfNriOy/QkG/uuAo/ggq7x0tihsYBg3OSfkzGXZqyiQW0qBm4gdFkDIrwr1VGd thh2UhLSwm1QdVgiF8uDRJQggpJqbeth2lPY3+wU4CGakt/0rJC5Oso1cj5EkqGeHAlx 9ubw== Return-Path: From: Adhemerval Zanella To: libc-alpha@sourceware.org Subject: [PATCH 4/4] linux: Make profil_counter a compat_symbol (BZ#17726) Date: Thu, 15 Aug 2019 18:18:43 -0300 Message-Id: <20190815211843.22799-4-adhemerval.zanella@linaro.org> In-Reply-To: <20190815211843.22799-1-adhemerval.zanella@linaro.org> References: <20190815211843.22799-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 against 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 040c7aa59a..df393332e2 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