From patchwork Wed May 11 19:54:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 53820 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 03F2C383643D for ; Wed, 11 May 2022 19:55:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 03F2C383643D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1652298926; bh=NZlioQAZyge7ap7a/ZLgTyWLtzTK1GBqYoXHMphrLko=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=g7N7kSBe1KvVVMNo6+hHNN/Sp4Q4R7BpqZ3H9RYnMlP6SexyrhXpuHPbCTtgBkIZG knUvWrOmqdz4n/qNfdYjNUeChaYPzmFrAN5C3G3+9TDxZE9bUvpGh/cuHqECP/fCa2 rzT/jsdSn0ucUg55HfxnnZCeQNJ7BiKSdSYIYtS4= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-ot1-x335.google.com (mail-ot1-x335.google.com [IPv6:2607:f8b0:4864:20::335]) by sourceware.org (Postfix) with ESMTPS id B680138438DE for ; Wed, 11 May 2022 19:55:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B680138438DE Received: by mail-ot1-x335.google.com with SMTP id z5-20020a9d62c5000000b00606041d11f1so1203072otk.2 for ; Wed, 11 May 2022 12:55:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=NZlioQAZyge7ap7a/ZLgTyWLtzTK1GBqYoXHMphrLko=; b=2icauEWy5mh1eHlN3OSJNfhYCu6/u4VqVXYNjpBpgAZHDpaFStYFfxA20thWZ83S5m ZT/IufzpXfu2S2Ctzbgsah9+4lAkc+Ca+AGr6+8ppoawxn1758CMg/EietoZzSLtqSEG cwwR6n+mYGYoapYIuto7mnTdm8OiRL0AB4B5vOxglRwQ2qYdDGuiq8FpHrSvYLuTxfI5 wBANJrlp53uItxiMdxZhBC/JBclY8Un2q51UrWGtXrIcW+XBxXFJmMKaxhDFfoxMiN+e fCwUyBNELz8GY0uQr1UxOa5qsRJ06/Iagg6X5PwGagQg/DCiF3pQvUoslw1Q67bzFsQJ T/kQ== X-Gm-Message-State: AOAM530fKGLVXrUMz+TXG/HFzjRPQcRSabSdrztEqLFit+3NJqrEny/S o+jWP3FS/0apE0Lby8ADZnA1q6jYG7cxDw== X-Google-Smtp-Source: ABdhPJyQYEKc/zjNgRAZzfNdm/SbIZVGvB/BM4VkiQOqKRdF4pqFqrNma9KifKfP6dkBLNR2iSeS2Q== X-Received: by 2002:a05:6830:1e86:b0:606:48b8:252c with SMTP id n6-20020a0568301e8600b0060648b8252cmr10746838otr.204.1652298901724; Wed, 11 May 2022 12:55:01 -0700 (PDT) Received: from birita.. ([2804:431:c7ca:5fbd:9d46:f0f6:e4b6:b83b]) by smtp.gmail.com with ESMTPSA id k22-20020a05687015d600b000edde90fac9sm886322oad.53.2022.05.11.12.55.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 May 2022 12:55:01 -0700 (PDT) To: libc-alpha@sourceware.org, Fangrui Song Subject: [PATCH 0/4] Remove fno_unit_at_a_time configure check Date: Wed, 11 May 2022 16:54:53 -0300 Message-Id: <20220511195457.410681-1-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=-5.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE 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: Adhemerval Zanella via Libc-alpha From: Adhemerval Zanella Netto Reply-To: Adhemerval Zanella Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Both siglist.c and errlist.c requires -fno-toplevel-reorder gcc options to avoid compiler to reorder the compat assembly directives due a static linker issue [1] (fixed on binutils 2.39). This patchset removes the flag requirement by reorganizing how the compat symbols are created: an intermediary compiler assembly with just the data definition is used as input to another source file that actually creates the compat symbols. This prevents compiler to move any compat directive prior the _sys_errlist_internal definition itself. [1] https://sourceware.org/bugzilla/show_bug.cgi?id=29012 Adhemerval Zanella (3): stdio: Remove the usage of $(fno-unit-at-a-time) for errlist.c stdio: Remove the usage of $(fno-unit-at-a-time) for siglist.c Remove configure fno_unit_at_a_time H.J. Lu (1): Add declare_object_symbol_alias for assembly codes (BZ #28128) config.make.in | 1 - configure | 32 ----------------- configure.ac | 19 ----------- include/libc-symbols.h | 14 ++++---- include/signal.h | 6 ++-- include/stdio.h | 1 + stdio-common/Makefile | 31 +++++++++++++++-- stdio-common/err_map.h | 24 +++++++++++++ stdio-common/errlist-compat-data.h | 1 + stdio-common/errlist-compat.c | 1 - stdio-common/errlist-data-gen.c | 34 +++++++++++++++++++ stdio-common/errlist-data.S | 7 ++++ stdio-common/errlist.c | 20 +++-------- stdio-common/{siglist.c => siglist-gen.c} | 4 --- stdio-common/siglist.S | 7 ++++ ...{siglist-compat.h => siglist-compat-def.h} | 27 ++++++++------- sysdeps/generic/siglist-compat.c | 1 - sysdeps/mach/hurd/{errlist.c => err_map.h} | 9 +++-- .../{siglist-compat.c => siglist-compat.h} | 7 ++-- ...errlist-compat.c => errlist-compat-data.h} | 0 ...errlist-compat.c => errlist-compat-data.h} | 0 sysdeps/unix/sysv/linux/errlist-compat.h | 33 +++++++++++------- ...errlist-compat.c => errlist-compat-data.h} | 0 ...errlist-compat.c => errlist-compat-data.h} | 0 .../{siglist-compat.c => siglist-compat.h} | 7 ++-- ...errlist-compat.c => errlist-compat-data.h} | 0 26 files changed, 170 insertions(+), 116 deletions(-) create mode 100644 stdio-common/err_map.h create mode 100644 stdio-common/errlist-compat-data.h delete mode 100644 stdio-common/errlist-compat.c create mode 100644 stdio-common/errlist-data-gen.c create mode 100644 stdio-common/errlist-data.S rename stdio-common/{siglist.c => siglist-gen.c} (92%) create mode 100644 stdio-common/siglist.S rename sysdeps/generic/{siglist-compat.h => siglist-compat-def.h} (69%) delete mode 100644 sysdeps/generic/siglist-compat.c rename sysdeps/mach/hurd/{errlist.c => err_map.h} (83%) rename sysdeps/mach/hurd/{siglist-compat.c => siglist-compat.h} (86%) rename sysdeps/unix/sysv/linux/alpha/{errlist-compat.c => errlist-compat-data.h} (100%) rename sysdeps/unix/sysv/linux/{errlist-compat.c => errlist-compat-data.h} (100%) rename sysdeps/unix/sysv/linux/hppa/{errlist-compat.c => errlist-compat-data.h} (100%) rename sysdeps/unix/sysv/linux/mips/{errlist-compat.c => errlist-compat-data.h} (100%) rename sysdeps/unix/sysv/linux/{siglist-compat.c => siglist-compat.h} (87%) rename sysdeps/unix/sysv/linux/sparc/{errlist-compat.c => errlist-compat-data.h} (100%)