From patchwork Mon Jun 21 11:46:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43932 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 6A9B73937421 for ; Mon, 21 Jun 2021 11:47:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6A9B73937421 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1624276030; bh=yzCxFC0U8IqJ23ANVH2LlUlv44ccLSCwipCGNrvdXLA=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=OWlmF2pvXX37w2ijJTdXgIk2rUcXf73Cvd2QorcAgGMriMKvuBc7ZuzBmYwBTZ/TT jYyQintEx2IbzrepwcdOA8ixBBgw9QtERC9X04fEAigCelvli1FG2UIfX5Z+w1YSmU Brohv8z1lXSGXFqrv7pTC9wKpVHVcbottqJE6o30= 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 7D7A6383F436 for ; Mon, 21 Jun 2021 11:46:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7D7A6383F436 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-344-rohrcSTrPnum8dNnfsAf_g-1; Mon, 21 Jun 2021 07:46:46 -0400 X-MC-Unique: rohrcSTrPnum8dNnfsAf_g-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 327A1100CF6E for ; Mon, 21 Jun 2021 11:46:46 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-115-60.ams2.redhat.com [10.36.115.60]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 37FAF60843 for ; Mon, 21 Jun 2021 11:46:45 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 0/3] Move libutil into libc X-From-Line: 160aec1b978d7e678128b560be39e5e2c2caab97 Mon Sep 17 00:00:00 2001 Message-Id: Date: Mon, 21 Jun 2021 13:46:43 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-6.7 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_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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" There is no pthread dependency, so this move applies to both Linux and Hurd. Some preparations for PLT avoidance are needed. The symbols are quite intertwined, so this is not split up into separate commits. On s390 (31-bit), some tweaks are needed due to the login@@GLIBC_2.9 symbol version. Thanks, Florian Florian Weimer (3): login: Hidden prototypes for _getpt, __ptsname_r, grantpt, unlockpt login: Rework hidden prototypes for __setutent, __utmpname, __endutent login: Move libutil into libc include/pty.h | 3 +- include/stdlib.h | 6 ++ include/utmp.h | 14 +++-- login/Makefile | 15 +++-- login/Versions | 9 ++- login/forkpty.c | 29 +++++---- login/getpt.c | 1 + login/getutent_r.c | 2 + login/grantpt.c | 2 +- login/libutil-compat.c | 33 +++++++++++ login/login.c | 22 ++++--- login/login_tty.c | 32 ++++++---- login/logout.c | 19 ++++-- login/logwtmp.c | 12 +++- login/openpty.c | 59 ++++++++++--------- login/ptsname.c | 1 + login/utmpname.c | 1 + sysdeps/mach/hurd/i386/libc.abilist | 12 ++++ sysdeps/mach/hurd/i386/libutil.abilist | 7 +-- sysdeps/mach/hurd/ptsname.c | 1 + sysdeps/unix/bsd/getpt.c | 3 +- sysdeps/unix/bsd/unlockpt.c | 1 + sysdeps/unix/grantpt.c | 1 + sysdeps/unix/sysv/linux/aarch64/libc.abilist | 12 ++++ .../unix/sysv/linux/aarch64/libutil.abilist | 7 +-- sysdeps/unix/sysv/linux/alpha/libc.abilist | 12 ++++ sysdeps/unix/sysv/linux/alpha/libutil.abilist | 7 +-- sysdeps/unix/sysv/linux/arc/libc.abilist | 12 ++++ sysdeps/unix/sysv/linux/arc/libutil.abilist | 7 +-- sysdeps/unix/sysv/linux/arm/be/libc.abilist | 12 ++++ .../unix/sysv/linux/arm/be/libutil.abilist | 7 +-- sysdeps/unix/sysv/linux/arm/le/libc.abilist | 12 ++++ .../unix/sysv/linux/arm/le/libutil.abilist | 7 +-- sysdeps/unix/sysv/linux/csky/libc.abilist | 12 ++++ sysdeps/unix/sysv/linux/csky/libutil.abilist | 7 +-- sysdeps/unix/sysv/linux/getpt.c | 2 + sysdeps/unix/sysv/linux/grantpt.c | 1 + sysdeps/unix/sysv/linux/hppa/libc.abilist | 12 ++++ sysdeps/unix/sysv/linux/hppa/libutil.abilist | 7 +-- sysdeps/unix/sysv/linux/i386/libc.abilist | 12 ++++ sysdeps/unix/sysv/linux/i386/libutil.abilist | 7 +-- sysdeps/unix/sysv/linux/ia64/libc.abilist | 12 ++++ sysdeps/unix/sysv/linux/ia64/libutil.abilist | 7 +-- .../sysv/linux/m68k/coldfire/libc.abilist | 12 ++++ .../sysv/linux/m68k/coldfire/libutil.abilist | 7 +-- .../unix/sysv/linux/m68k/m680x0/libc.abilist | 12 ++++ .../sysv/linux/m68k/m680x0/libutil.abilist | 7 +-- .../sysv/linux/microblaze/be/libc.abilist | 12 ++++ .../sysv/linux/microblaze/be/libutil.abilist | 7 +-- .../sysv/linux/microblaze/le/libc.abilist | 12 ++++ .../sysv/linux/microblaze/le/libutil.abilist | 7 +-- .../sysv/linux/mips/mips32/fpu/libc.abilist | 12 ++++ .../sysv/linux/mips/mips32/libutil.abilist | 7 +-- .../sysv/linux/mips/mips32/nofpu/libc.abilist | 12 ++++ .../sysv/linux/mips/mips64/libutil.abilist | 7 +-- .../sysv/linux/mips/mips64/n32/libc.abilist | 12 ++++ .../sysv/linux/mips/mips64/n64/libc.abilist | 12 ++++ sysdeps/unix/sysv/linux/nios2/libc.abilist | 12 ++++ sysdeps/unix/sysv/linux/nios2/libutil.abilist | 7 +-- .../linux/powerpc/powerpc32/fpu/libc.abilist | 12 ++++ .../linux/powerpc/powerpc32/libutil.abilist | 7 +-- .../powerpc/powerpc32/nofpu/libc.abilist | 12 ++++ .../linux/powerpc/powerpc64/be/libc.abilist | 12 ++++ .../powerpc/powerpc64/be/libutil.abilist | 7 +-- .../linux/powerpc/powerpc64/le/libc.abilist | 12 ++++ .../powerpc/powerpc64/le/libutil.abilist | 7 +-- sysdeps/unix/sysv/linux/ptsname.c | 1 + .../unix/sysv/linux/riscv/rv32/libc.abilist | 12 ++++ .../sysv/linux/riscv/rv32/libutil.abilist | 7 +-- .../unix/sysv/linux/riscv/rv64/libc.abilist | 12 ++++ .../sysv/linux/riscv/rv64/libutil.abilist | 7 +-- sysdeps/unix/sysv/linux/s390/s390-32/Makefile | 3 +- sysdeps/unix/sysv/linux/s390/s390-32/Versions | 3 +- .../unix/sysv/linux/s390/s390-32/libc.abilist | 13 ++++ .../sysv/linux/s390/s390-32/libutil-compat.c | 23 ++++++++ .../sysv/linux/s390/s390-32/libutil.abilist | 9 +-- sysdeps/unix/sysv/linux/s390/s390-32/login.c | 11 ++-- .../unix/sysv/linux/s390/s390-32/login32.c | 12 ++-- .../unix/sysv/linux/s390/s390-64/libc.abilist | 12 ++++ .../sysv/linux/s390/s390-64/libutil.abilist | 7 +-- sysdeps/unix/sysv/linux/sh/be/libc.abilist | 12 ++++ sysdeps/unix/sysv/linux/sh/be/libutil.abilist | 7 +-- sysdeps/unix/sysv/linux/sh/le/libc.abilist | 12 ++++ sysdeps/unix/sysv/linux/sh/le/libutil.abilist | 7 +-- .../sysv/linux/sparc/sparc32/libc.abilist | 12 ++++ .../sysv/linux/sparc/sparc32/libutil.abilist | 7 +-- .../sysv/linux/sparc/sparc64/libc.abilist | 12 ++++ .../sysv/linux/sparc/sparc64/libutil.abilist | 7 +-- sysdeps/unix/sysv/linux/unlockpt.c | 1 + .../unix/sysv/linux/x86_64/64/libc.abilist | 12 ++++ .../unix/sysv/linux/x86_64/64/libutil.abilist | 7 +-- .../unix/sysv/linux/x86_64/x32/libc.abilist | 12 ++++ .../sysv/linux/x86_64/x32/libutil.abilist | 7 +-- 93 files changed, 658 insertions(+), 274 deletions(-) create mode 100644 login/libutil-compat.c create mode 100644 sysdeps/unix/sysv/linux/s390/s390-32/libutil-compat.c