From patchwork Thu May 12 12:59:27 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: 53867 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 16D0B3839C71 for ; Thu, 12 May 2022 13:14:11 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 16D0B3839C71 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1652361251; bh=mgfadx6fxY4tCbVGyxtQPKnAG9PTJEorvru2Sqy0kow=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=pMGUVTa0ACx+s84cJAD+HLxPdybbk2dCiwZWHODL+2e+JF5z3Fo0fbkdQMpRAcmq+ NbdQI2cIqsRCPmyrDlSVaC146c23dObALodPl9lu2IG/qjgXB1WFU7UWFEIBdtd+jn xFU6ztqGzPd4ZV+8EUWXEbyC7HA6svA5UEsE/N8s= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-oa1-x2d.google.com (mail-oa1-x2d.google.com [IPv6:2001:4860:4864:20::2d]) by sourceware.org (Postfix) with ESMTPS id E12823839C6F for ; Thu, 12 May 2022 12:59:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E12823839C6F Received: by mail-oa1-x2d.google.com with SMTP id 586e51a60fabf-d39f741ba0so6454006fac.13 for ; Thu, 12 May 2022 05:59:37 -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=mgfadx6fxY4tCbVGyxtQPKnAG9PTJEorvru2Sqy0kow=; b=2wmZlDG04fRMX27f8VVxYjhYLKgn2cyjhPmDFBsR+DBctfz+8EmvBgbppD5A13exJD lEk0KKe+pc7xMCD6BnL2XiqVQDnVFabiIYSsXy68v6FX5/s3rH00jBQaxO/DNYt8nChQ Vc8V/SibxzKGiapr6WxmvmwHkCfzDU4LjuVsua3t0bXfNfc6CkXQPvoGMHbwVe9zSh0m RtEz163HXapbHm03PM6Ef1fdyM2gj2aj3Ge99IQEXrlaBqqovbstkJhflHXS/RXHW724 WxGRolrdw/vmWFja9IuqYkQveQHAQohajIJYOjr8UwKbnhjhSwpxwPSQ0ebGSBx3zcJu WhwA== X-Gm-Message-State: AOAM533Sed342x8bkdpbci2/pUhPlLer6fHM5Cq/mFk2ZmHA2Ma8ANWe DC0MjCcRa87oRhdwsHBsQeY4B0nfbYyIAQ== X-Google-Smtp-Source: ABdhPJxmw7z4aL5FD0VyigeqayQ2xzOzTwp8fb7M3R3Npjuaq6GNokP/SoIOt/bAQoQftyb0lW+ZcA== X-Received: by 2002:a05:6870:969e:b0:ed:9e77:8eba with SMTP id o30-20020a056870969e00b000ed9e778ebamr5710382oaq.269.1652360376952; Thu, 12 May 2022 05:59:36 -0700 (PDT) Received: from birita.. ([2804:431:c7ca:5fbd:6a01:8849:5cb:128b]) by smtp.gmail.com with ESMTPSA id a11-20020a056870d18b00b000edf5a12baasm1527144oac.46.2022.05.12.05.59.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 May 2022 05:59:36 -0700 (PDT) To: libc-alpha@sourceware.org, Fangrui Song Subject: [PATCH v2 0/4] Remove fno_unit_at_a_time configure check Date: Thu, 12 May 2022 09:59:27 -0300 Message-Id: <20220512125931.523712-1-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=-5.4 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.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) 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 require gcc -fno-toplevel-reorder option to avoid compiler to reorder the compat assembly directives due a assembler 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) Makeconfig | 3 +- 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 | 34 +++++++++++++++++-- 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 27 files changed, 175 insertions(+), 117 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%)