From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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) From: Adhemerval Zanella 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 Content-Transfer-Encoding: 8bit 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-List-Received-Date: Wed, 11 May 2022 19:55:06 -0000 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%) -- 2.34.1