From patchwork Mon Jul 5 13:41:24 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 44136 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 27AEA3840003 for ; Mon, 5 Jul 2021 13:41:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 27AEA3840003 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1625492512; bh=bAQb/yDUxBHLNc+3dcVHp3iYyxKYG4qCEvv4agDHZVk=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=qChGPbD8DE4okAiOJZARMLftp8sANNwmg2pOn6HDzEFLdsvZ8GLXi1f40GeWatgl9 QJrAzXU+2BdTjC9mGem8QZ23i9GXJpQ233cwHXtFPJHOiTSTfKhcVz1UHvnevuLbAK fh7m+tM057dFnnOAadWurygy5mDVJ0uI+OYbfhAs= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id 4ED573858031 for ; Mon, 5 Jul 2021 13:41:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4ED573858031 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-390-4XX7hDTdNSmn-4yHHr7unA-1; Mon, 05 Jul 2021 09:41:27 -0400 X-MC-Unique: 4XX7hDTdNSmn-4yHHr7unA-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id EE995800D62 for ; Mon, 5 Jul 2021 13:41:26 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-115-5.ams2.redhat.com [10.36.115.5]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 53058100EBAF for ; Mon, 5 Jul 2021 13:41:26 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 0/8] Additional time64 aliases X-From-Line: 789471b308d81211a8788646f5997433a031e5d9 Mon Sep 17 00:00:00 2001 Message-Id: Date: Mon, 05 Jul 2021 15:41:24 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-7.3 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" This series adds several aliases for system call wrappers which are to some degree type-generic wrappers. There are two reasons for adding them: our existing emulation may be incompatible with some legacy applications in an essentially unfixable way (e.g., EFAULT differences), and new kernel features may need emulation, and the kernel will not allow us to detect the time_t size based on the multiplexer constant. I do not propose to change the implementation in this series, it's just a way to be able to be able to differentiate between time64 and legacy applications in the future. Thanks, Florian Florian Weimer (8): misc: Add time64 alias for ioctl io: Add time64 alias for fcntl Linux: Add time64 alias for prctl socket: Add time64 alias for sendmmsg socket: Add time64 alias for recvmsg socket: Add time64 alias for sendmsg socket: Add time64 alias for getsockopt socket: Add time64 alias for setsockopt io/Makefile | 2 + io/fcntl.h | 27 ++- io/tst-fcntl-time64.c | 1 + misc/Makefile | 7 +- misc/sys/ioctl.h | 10 + misc/tst-ioctl-time64.c | 1 + misc/tst-ioctl.c | 41 ++++ socket/Makefile | 9 +- socket/sys/socket.h | 65 +++++- socket/tst-sockopt-time64.c | 1 + socket/tst-sockopt.c | 52 +++++ sysdeps/unix/syscalls.list | 2 +- sysdeps/unix/sysv/linux/Makefile | 6 +- sysdeps/unix/sysv/linux/Versions | 8 + sysdeps/unix/sysv/linux/arm/be/libc.abilist | 8 + sysdeps/unix/sysv/linux/arm/le/libc.abilist | 8 + sysdeps/unix/sysv/linux/arm/syscalls.list | 4 +- sysdeps/unix/sysv/linux/csky/libc.abilist | 8 + sysdeps/unix/sysv/linux/fcntl64.c | 3 + sysdeps/unix/sysv/linux/generic/syscalls.list | 4 +- sysdeps/unix/sysv/linux/getsockopt.c | 3 + sysdeps/unix/sysv/linux/hppa/libc.abilist | 8 + sysdeps/unix/sysv/linux/hppa/syscalls.list | 6 +- sysdeps/unix/sysv/linux/i386/libc.abilist | 8 + .../sysv/linux/m68k/coldfire/libc.abilist | 8 + .../unix/sysv/linux/m68k/m680x0/libc.abilist | 8 + .../sysv/linux/microblaze/be/libc.abilist | 8 + .../sysv/linux/microblaze/le/libc.abilist | 8 + .../sysv/linux/mips/mips32/fpu/libc.abilist | 8 + .../sysv/linux/mips/mips32/nofpu/libc.abilist | 8 + .../sysv/linux/mips/mips64/n32/libc.abilist | 8 + sysdeps/unix/sysv/linux/mips/syscalls.list | 4 +- sysdeps/unix/sysv/linux/nios2/libc.abilist | 8 + sysdeps/unix/sysv/linux/powerpc/ioctl.c | 3 + .../linux/powerpc/powerpc32/fpu/libc.abilist | 8 + .../powerpc/powerpc32/nofpu/libc.abilist | 8 + sysdeps/unix/sysv/linux/prctl.c | 3 + sysdeps/unix/sysv/linux/recvmsg.c | 3 + .../unix/sysv/linux/s390/s390-32/libc.abilist | 8 + sysdeps/unix/sysv/linux/sendmmsg.c | 3 + sysdeps/unix/sysv/linux/sendmsg.c | 3 + sysdeps/unix/sysv/linux/setsockopt.c | 3 + sysdeps/unix/sysv/linux/sh/be/libc.abilist | 8 + sysdeps/unix/sysv/linux/sh/le/libc.abilist | 8 + .../sysv/linux/sparc/sparc32/libc.abilist | 8 + sysdeps/unix/sysv/linux/sys/prctl.h | 10 + sysdeps/unix/sysv/linux/tst-prctl-time64.c | 1 + sysdeps/unix/sysv/linux/tst-prctl.c | 33 ++++ .../unix/sysv/linux/tst-scm_rights-time64.c | 1 + sysdeps/unix/sysv/linux/tst-scm_rights.c | 186 ++++++++++++++++++ 50 files changed, 635 insertions(+), 22 deletions(-) create mode 100644 io/tst-fcntl-time64.c create mode 100644 misc/tst-ioctl-time64.c create mode 100644 misc/tst-ioctl.c create mode 100644 socket/tst-sockopt-time64.c create mode 100644 socket/tst-sockopt.c create mode 100644 sysdeps/unix/sysv/linux/tst-prctl-time64.c create mode 100644 sysdeps/unix/sysv/linux/tst-prctl.c create mode 100644 sysdeps/unix/sysv/linux/tst-scm_rights-time64.c create mode 100644 sysdeps/unix/sysv/linux/tst-scm_rights.c