From patchwork Tue Sep 10 10:53:31 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aurelien Jarno X-Patchwork-Id: 34465 Received: (qmail 52305 invoked by alias); 10 Sep 2019 10:53:42 -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 52297 invoked by uid 89); 10 Sep 2019 10:53:42 -0000 Authentication-Results: sourceware.org; auth=none 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, SPF_HELO_PASS autolearn=ham version=3.3.1 spammy=H*Ad:U*rth, HContent-Transfer-Encoding:8bit X-HELO: hall.aurel32.net From: Aurelien Jarno To: libc-alpha@sourceware.org Cc: Richard Henderson , Aurelien Jarno Subject: [PATCH] alpha: force old OSF1 syscalls for getegid, geteuid and getppid [BZ #24986] Date: Tue, 10 Sep 2019 12:53:31 +0200 Message-Id: <20190910105331.25628-1-aurelien@aurel32.net> MIME-Version: 1.0 On alpha, Linux kernel 5.1 added the standard getegid, geteuid and getppid syscalls (commit ecf7e0a4ad15287). Up to now alpha was using the corresponding OSF1 syscalls through: - sysdeps/unix/alpha/getegid.S - sysdeps/unix/alpha/geteuid.S - sysdeps/unix/alpha/getppid.S When building against kernel headers >= 5.1, the glibc now use the new syscalls through sysdeps/unix/sysv/linux/syscalls.list. When it is then used with an older kernel, the corresponding 3 functions fail. A quick fix is to move the OSF1 wrappers under the sysdeps/unix/sysv/linux/alpha directory so they override the standard linux ones. A better fix would be to try the new syscalls and fallback to the old OSF1 in case the new ones fail. This can be implemented in a later commit. Changelog: [BZ #24986] * sysdeps/unix/alpha/getegid.S: Move to ... * sysdeps/unix/sysv/linux/alpha/getegid.S: ... here. * sysdeps/unix/alpha/geteuid.S: Move to ... * sysdeps/unix/sysv/linux/alpha/geteuid.S: ... here. * sysdeps/unix/alpha/getppid.S: Move to ... * sysdeps/unix/sysv/linux/alpha/getppid.S: ... here --- ChangeLog | 10 ++++++++++ sysdeps/unix/{ => sysv/linux}/alpha/getegid.S | 0 sysdeps/unix/{ => sysv/linux}/alpha/geteuid.S | 0 sysdeps/unix/{ => sysv/linux}/alpha/getppid.S | 0 4 files changed, 10 insertions(+) rename sysdeps/unix/{ => sysv/linux}/alpha/getegid.S (100%) rename sysdeps/unix/{ => sysv/linux}/alpha/geteuid.S (100%) rename sysdeps/unix/{ => sysv/linux}/alpha/getppid.S (100%) diff --git a/ChangeLog b/ChangeLog index 00658e68350..4950b4e2125 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2019-09-10 Aurelien Jarno + + [BZ #24986] + * sysdeps/unix/alpha/getegid.S: Move to ... + * sysdeps/unix/sysv/linux/alpha/getegid.S: ... here. + * sysdeps/unix/alpha/geteuid.S: Move to ... + * sysdeps/unix/sysv/linux/alpha/geteuid.S: ... here. + * sysdeps/unix/alpha/getppid.S: Move to ... + * sysdeps/unix/sysv/linux/alpha/getppid.S: ... here + 2019-09-09 Paul Eggert Fix http: URL in 'configure' diff --git a/sysdeps/unix/alpha/getegid.S b/sysdeps/unix/sysv/linux/alpha/getegid.S similarity index 100% rename from sysdeps/unix/alpha/getegid.S rename to sysdeps/unix/sysv/linux/alpha/getegid.S diff --git a/sysdeps/unix/alpha/geteuid.S b/sysdeps/unix/sysv/linux/alpha/geteuid.S similarity index 100% rename from sysdeps/unix/alpha/geteuid.S rename to sysdeps/unix/sysv/linux/alpha/geteuid.S diff --git a/sysdeps/unix/alpha/getppid.S b/sysdeps/unix/sysv/linux/alpha/getppid.S similarity index 100% rename from sysdeps/unix/alpha/getppid.S rename to sysdeps/unix/sysv/linux/alpha/getppid.S