From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS31976 209.132.180.0/23 X-Spam-Status: No, score=-4.0 required=3.0 tests=AWL,BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id D34C81F463 for ; Tue, 17 Dec 2019 14:30:50 +0000 (UTC) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:message-id:date :mime-version:content-type:content-transfer-encoding; q=dns; s= default; b=TFxfyIS0l5yLp+NiBDLUd7vbLtdscypH8+clKhNpRAw46UnL+kOpg BUxNS4G4XPuWiw+3MgLzKGfyy/0Gdvbi619ku+EDbYYIE0KtpKYYv7j4ecm+qXCX 5JwFzMPmBt7FdfYx/X7OmV3+hgMPGs/+ThTi1D9Fzjz7Y1PI63nEFI= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:message-id:date :mime-version:content-type:content-transfer-encoding; s=default; bh=L6gdkEu1XpNQWIu3YyUYZLEk5Bw=; b=ZsTXlqqC5Sf9VtsGhA8Bx+MRPpvC pcmE98OFxnCyvFPIlwiBP6Upby4yZfYZLkVbYVuH5A+2aQf5B4E5ymEFoV/tXTcE iyejgmdiAOotqbEClne5Z/gJn3aoLrsMk18HIOQECF4lRB+ISzBRgOcLoWhU8ZTP nNaOF6u71793ghM= Received: (qmail 3453 invoked by alias); 17 Dec 2019 14:30:45 -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 Received: (qmail 3433 invoked by uid 89); 17 Dec 2019 14:30:44 -0000 Authentication-Results: sourceware.org; auth=none X-HELO: us-smtp-delivery-1.mimecast.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1576593041; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TilelsGR1yuxBkfKxz/ikji8qFaVXk4gQShK2HNfRmo=; b=V3DgymMCUykKKyJdefXJXrGvztNx+TTfNknfSA9FswvwxQDIAcRMSeYMRkXoC0ZnkNiP1w XJ4sINwv37LhKr5G6/EblD6wMYkU2XuHEbTghA5Fz2BFRO/PikCZwuZ2wMaRbcHolrVkzR nfU5/j0kvw9lg+Fzzr5p9u+BYFnYJtg= From: Florian Weimer To: libc-alpha@sourceware.org Cc: Joseph Myers Subject: [PATCH 0/5] Implement built-in system call tables Message-Id: Date: Tue, 17 Dec 2019 15:30:32 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable This series adds built-in system call tables. The core build changes are unchanged from the last submission: Some adjustments were needed on alpha because it recently added the standard syscall names (getpid etc.) to the UAPI headers, in addition to the osf_* and getx* names. The build-many-glibcs.py changes are new. I tried to implement what Joseph suggested to update the tables. If you start with the usual setup: checkout host-libraries compilers (possibly followed by glibcs) and then run checkout linux-5.5 --replace-sources update-syscalls you should get a patched glibc tree with the syscall additions from Linux 5.5 (after it has been released). The update-syscalls command uses the existing tools from the compilers stage, but it creates a new Linux header installation on the side, and uses that to run =E2=80=9Cmake update-syscall-lists=E2=80=9D. This makes t= he command reasonably quick. After that, you can capture the diff and run a full compilers/glibcs cycle if you want. I still view this as required for reproducibility of the glibc system call profile due to the Y2038 changes. The installed shared objects are bit-wise identical after this change. (There is some problem with stripping the .a libraries, so that part I could not verify.) I tried to build a bunch of architectures with the Linux 3.10 headers, and this showed that hppa removed a bunch of _NR_HPUX_* defines from its UAPI headers since then. I have not patched the tables to include those historic system call numbers, but I can do so if necessary. Thanks, Florian Florian Weimer (5): Linux: Add tables with system call numbers Linux: Use system call tables during build build-many-glibcs.py: Introduce LinuxHeadersPolicyForBuild build-many-glibcs.py: Introduce glibc build policy classes build-many-glibcs.py: Implement update-syscalls command NEWS | 3 +- scripts/build-many-glibcs.py | 285 +++++++---- sysdeps/ia64/start.S | 1 - sysdeps/microblaze/backtrace_linux.c | 2 +- sysdeps/unix/sysv/linux/Makefile | 73 ++- .../unix/sysv/linux/aarch64/arch-syscall.h | 290 +++++++++++ sysdeps/unix/sysv/linux/alpha/arch-syscall.h | 468 ++++++++++++++++++ .../unix/sysv/linux/alpha/kernel-features.h | 5 - sysdeps/unix/sysv/linux/alpha/sysdep.h | 25 - sysdeps/unix/sysv/linux/arm/arch-syscall.h | 392 +++++++++++++++ sysdeps/unix/sysv/linux/arm/dl-machine.h | 2 +- .../unix/sysv/linux/arm/fixup-asm-unistd.h | 24 + sysdeps/unix/sysv/linux/arm/sysdep.h | 4 - sysdeps/unix/sysv/linux/arm/tls.h | 2 +- sysdeps/unix/sysv/linux/csky/arch-syscall.h | 309 ++++++++++++ sysdeps/unix/sysv/linux/fixup-asm-unistd.h | 28 ++ sysdeps/unix/sysv/linux/glibcsyscalls.py | 165 ++++++ sysdeps/unix/sysv/linux/hppa/arch-syscall.h | 371 ++++++++++++++ sysdeps/unix/sysv/linux/hppa/clone.S | 1 - sysdeps/unix/sysv/linux/i386/arch-syscall.h | 425 ++++++++++++++++ sysdeps/unix/sysv/linux/ia64/arch-syscall.h | 340 +++++++++++++ sysdeps/unix/sysv/linux/ia64/brk.S | 1 - sysdeps/unix/sysv/linux/ia64/clone2.S | 4 +- sysdeps/unix/sysv/linux/ia64/syscall.S | 2 +- sysdeps/unix/sysv/linux/ia64/sysdep.S | 2 +- sysdeps/unix/sysv/linux/ia64/sysdep.h | 5 +- sysdeps/unix/sysv/linux/include/sys/syscall.h | 29 ++ sysdeps/unix/sysv/linux/m68k/arch-syscall.h | 407 +++++++++++++++ .../unix/sysv/linux/microblaze/arch-syscall.h | 429 ++++++++++++++++ .../sysv/linux/mips/mips32/arch-syscall.h | 402 +++++++++++++++ .../sysv/linux/mips/mips64/n32/arch-syscall.h | 362 ++++++++++++++ .../sysv/linux/mips/mips64/n64/arch-syscall.h | 338 +++++++++++++ sysdeps/unix/sysv/linux/mips/vfork.S | 1 - sysdeps/unix/sysv/linux/nios2/arch-syscall.h | 311 ++++++++++++ sysdeps/unix/sysv/linux/nios2/sysdep.h | 1 - .../linux/powerpc/powerpc32/arch-syscall.h | 417 ++++++++++++++++ .../linux/powerpc/powerpc64/arch-syscall.h | 389 +++++++++++++++ sysdeps/unix/sysv/linux/riscv/flush-icache.c | 1 + .../unix/sysv/linux/riscv/rv64/arch-syscall.h | 291 +++++++++++ .../sysv/linux/s390/s390-32/arch-syscall.h | 406 +++++++++++++++ .../sysv/linux/s390/s390-64/arch-syscall.h | 354 +++++++++++++ sysdeps/unix/sysv/linux/sh/arch-syscall.h | 400 +++++++++++++++ .../sysv/linux/sparc/sparc32/arch-syscall.h | 405 +++++++++++++++ sysdeps/unix/sysv/linux/sparc/sparc32/clone.S | 1 - .../sysv/linux/sparc/sparc64/arch-syscall.h | 368 ++++++++++++++ sysdeps/unix/sysv/linux/sparc/sparc64/clone.S | 1 - sysdeps/unix/sysv/linux/sys/syscall.h | 11 +- sysdeps/unix/sysv/linux/tst-glibcsyscalls.py | 88 ++++ sysdeps/unix/sysv/linux/tst-mman-consts.py | 12 +- .../unix/sysv/linux/update-syscall-lists.py | 66 +++ .../unix/sysv/linux/x86_64/64/arch-syscall.h | 347 +++++++++++++ .../unix/sysv/linux/x86_64/x32/arch-syscall.h | 336 +++++++++++++ 52 files changed, 9227 insertions(+), 175 deletions(-) create mode 100644 sysdeps/unix/sysv/linux/aarch64/arch-syscall.h create mode 100644 sysdeps/unix/sysv/linux/alpha/arch-syscall.h create mode 100644 sysdeps/unix/sysv/linux/arm/arch-syscall.h create mode 100644 sysdeps/unix/sysv/linux/arm/fixup-asm-unistd.h create mode 100644 sysdeps/unix/sysv/linux/csky/arch-syscall.h create mode 100644 sysdeps/unix/sysv/linux/fixup-asm-unistd.h create mode 100644 sysdeps/unix/sysv/linux/glibcsyscalls.py create mode 100644 sysdeps/unix/sysv/linux/hppa/arch-syscall.h create mode 100644 sysdeps/unix/sysv/linux/i386/arch-syscall.h create mode 100644 sysdeps/unix/sysv/linux/ia64/arch-syscall.h create mode 100644 sysdeps/unix/sysv/linux/include/sys/syscall.h create mode 100644 sysdeps/unix/sysv/linux/m68k/arch-syscall.h create mode 100644 sysdeps/unix/sysv/linux/microblaze/arch-syscall.h create mode 100644 sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h create mode 100644 sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h create mode 100644 sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h create mode 100644 sysdeps/unix/sysv/linux/nios2/arch-syscall.h create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.= h create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.= h create mode 100644 sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h create mode 100644 sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h create mode 100644 sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h create mode 100644 sysdeps/unix/sysv/linux/sh/arch-syscall.h create mode 100644 sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h create mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h create mode 100644 sysdeps/unix/sysv/linux/tst-glibcsyscalls.py create mode 100644 sysdeps/unix/sysv/linux/update-syscall-lists.py create mode 100644 sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h create mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h --=20 2.23.0