From patchwork Mon Nov 12 02:14:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Rafael Avila de Espindola X-Patchwork-Id: 30113 X-Patchwork-Delegate: schwab@linux-m68k.org Received: (qmail 120233 invoked by alias); 12 Nov 2018 02:14:48 -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 120059 invoked by uid 89); 12 Nov 2018 02:14:47 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.7 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT, RCVD_IN_DNSWL_LOW, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy=powerpc64 X-HELO: mail4.protonmail.ch Date: Mon, 12 Nov 2018 02:14:33 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=espindo.la; s=protonmail; t=1541988877; bh=HoKwdyCusP1nJMzsYVAgqi3Efzt8cd0m30YOLcsU6gg=; h=Date:To:From:Reply-To:Subject:Feedback-ID:From; b=wZeWVy4p0XiyEYbEs1xQIxTSuf05OknVM2W1SaOM2hcLJyi5BbNTPIIP/M2IP2VES T5PikCs7RleLdKUHnddGNrNB3XUQfs84owclKBA6gPMHAVHrxJ8gkcZ/6w5tbTW6Io KE7Ng/Op6UeAN11kVDUTXwFp7ay6rWeAxZjDNyrY= To: "libc-alpha@sourceware.org" , "H.J. Lu" , Florian Weimer , Szabolcs Nagy From: Rafael Avila de Espindola Reply-To: Rafael Avila de Espindola Subject: [PATCH] Enable VDSO on powerpc statically linked programs. Message-ID: <2jWPyUdZn_KRlTOhGPZ8WLrkeR47A23498zkSXyUSfS25IrmGAbXd0OoQNoxPSy6mZZVePq36jiKdU2K99-M6TzsoKfcgrZ3Dsa_4ZI9U2g=@espindo.la> MIME-Version: 1.0 The attached program enables vdso on powerpc statically linked programs. The gcc compile farm only has 64 bit powerpc machines, so that is all I was able to test. 2018-11-11 Rafael Ávila de Espíndola [BZ #19767] * sysdeps/unix/sysv/linux/powerpc/init-first.c: remove #ifdef SHARED. * sysdeps/unix/sysv/linux/powerpc/libc-vdso.h: remove #ifdef SHARED. * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: define USE_VSYSCALL. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: define USE_VSYSCALL. From a7070e1793da4fdc4a9a88d81e9297655b8849f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20=C3=81vila=20de=20Esp=C3=ADndola?= Date: Sun, 11 Nov 2018 17:53:10 -0800 Subject: [PATCH] Enable VDSO on static on powerpc. --- sysdeps/unix/sysv/linux/powerpc/init-first.c | 8 +++----- sysdeps/unix/sysv/linux/powerpc/libc-vdso.h | 4 ---- sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h | 5 +++++ sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h | 5 +++++ 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/sysdeps/unix/sysv/linux/powerpc/init-first.c b/sysdeps/unix/sysv/linux/powerpc/init-first.c index 0a4becbed6..c8a28008db 100644 --- a/sysdeps/unix/sysv/linux/powerpc/init-first.c +++ b/sysdeps/unix/sysv/linux/powerpc/init-first.c @@ -16,9 +16,8 @@ License along with the GNU C Library; if not, see . */ -#ifdef SHARED -# include -# include +#include +#include int (*VDSO_SYMBOL(gettimeofday)) (struct timeval *, void *) attribute_hidden; @@ -79,7 +78,6 @@ _libc_vdso_platform_setup (void) #endif } -# define VDSO_SETUP _libc_vdso_platform_setup -#endif +#define VDSO_SETUP _libc_vdso_platform_setup #include diff --git a/sysdeps/unix/sysv/linux/powerpc/libc-vdso.h b/sysdeps/unix/sysv/linux/powerpc/libc-vdso.h index 5fe817d6cb..bdefab2902 100644 --- a/sysdeps/unix/sysv/linux/powerpc/libc-vdso.h +++ b/sysdeps/unix/sysv/linux/powerpc/libc-vdso.h @@ -20,8 +20,6 @@ #ifndef _LIBC_VDSO_H #define _LIBC_VDSO_H -#ifdef SHARED - #include extern int (*VDSO_SYMBOL(gettimeofday)) (struct timeval *, void *) @@ -69,6 +67,4 @@ extern void *VDSO_SYMBOL(sigtramp_rt32); #define VDSO_IFUNC_RET(value) ((void *) (value)) #endif -#endif - #endif /* _LIBC_VDSO_H */ diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h b/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h index ec5c5250f8..71c1d7316e 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h @@ -18,6 +18,11 @@ #ifndef _LINUX_POWERPC_SYSDEP_H #define _LINUX_POWERPC_SYSDEP_H 1 +/* Always enable vsyscalls on powerpc32 */ +#ifndef USE_VSYSCALL +#define USE_VSYSCALL +#endif + #include #include #include diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h index 1f17f7bd5f..dca3317284 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h @@ -20,6 +20,11 @@ #ifndef _LINUX_POWERPC_SYSDEP_H #define _LINUX_POWERPC_SYSDEP_H 1 +/* Always enable vsyscalls on powerpc64 */ +#ifndef USE_VSYSCALL +#define USE_VSYSCALL +#endif + #include #include #include -- 2.19.1