From patchwork Fri Jan 21 21:12:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 50337 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 126DA3858405 for ; Fri, 21 Jan 2022 21:12:30 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 126DA3858405 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1642799550; bh=MOczSTJdGlIGNX6XD2UQFDQycSOf7mHBCwFPGznL1Sk=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=YFNzHiA23dwEPaFigxJfX9P5VZoGwppj5ICO3PkERbHERd40j8vixXvaBMO71u77r MP6meaarrZ+1ln/TAim4fmkbfPT2EoE77e7A6UMtPqnPx4CaVBb7YnI+gWKD9Rypf3 F2eHbPOiBMBhEsZenk/JpWy4H5YqiEHbM4Qrgm1w= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com [IPv6:2607:f8b0:4864:20::62b]) by sourceware.org (Postfix) with ESMTPS id 4F8FE3858C39 for ; Fri, 21 Jan 2022 21:12:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4F8FE3858C39 Received: by mail-pl1-x62b.google.com with SMTP id u11so9730960plh.13 for ; Fri, 21 Jan 2022 13:12:08 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=MOczSTJdGlIGNX6XD2UQFDQycSOf7mHBCwFPGznL1Sk=; b=6jPmYHKZCHxtoWr3D9e6Efe3LVlj7NaryUSPwGNVRKou4gtnKGk/kiQSMOtRjXcEbf gF9sMy2cNKfwscklrVMy4+KK+NNeTy9kkgZO4An69VVpSB1SOEF0lbAvkBGwYQShgINo AwmHICBMg0+oSyD/YIpda5nxbvIg28vZ/Dg5vcJpbNuuOSLiLF6hDS26XsZTOjKgLvv8 LLh7dbBXC64RH9NOuwOqQH2KvQ0/wUvckww6DFK8UUIODxobnLkuxnk9KNZIcyDnm66u WV1b3VGJJ6aZAK076FfenKYDQWQclq/ai5q415UinZD5NxQ4tPH4SOmx+Q9RYWnlOt92 uNDA== X-Gm-Message-State: AOAM532qorNfUdNeE+x1zYB9Z5a3lyJdI9Dm/VgwslqTCP9hFEfzlHmv U9g0hN8XfIugdaeEDMXfJ7ygC1bzC9Y= X-Google-Smtp-Source: ABdhPJwlwdSjUcLecPr5SfseO2LHKlGEuJNHwAzv6RnJOJFpYCXK6G41+U1dSily3mOJYJUvnrhmyQ== X-Received: by 2002:a17:902:e8c6:b0:149:f09e:db37 with SMTP id v6-20020a170902e8c600b00149f09edb37mr5223354plg.146.1642799527430; Fri, 21 Jan 2022 13:12:07 -0800 (PST) Received: from gnu-tgl-3.localdomain ([172.58.35.133]) by smtp.gmail.com with ESMTPSA id v16sm5943296pje.8.2022.01.21.13.12.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Jan 2022 13:12:06 -0800 (PST) Received: from gnu-tgl-3.. (localhost [IPv6:::1]) by gnu-tgl-3.localdomain (Postfix) with ESMTP id 38AADC0218; Fri, 21 Jan 2022 13:12:05 -0800 (PST) To: libc-alpha@sourceware.org Subject: [PATCH v9 0/3] Add p_align tests for PT_LOAD segments Date: Fri, 21 Jan 2022 13:12:02 -0800 Message-Id: <20220121211205.268178-1-hjl.tools@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=-3020.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=no 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: "H.J. Lu via Libc-alpha" From: "H.J. Lu" Reply-To: "H.J. Lu" Cc: Florian Weimer Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Changes from v8: 1. Drop elf: Properly align all PT_LOAD segments, which has been checked into mastr branch. 2. Build tst-p_alignmod-base.so with -Wl,-z,max-page-size=0x200000. 3. Simplify tst-p_alignmod1-edit.c. Changes from v7: 1. Skip non-power of two alignment when considering the maximum p_align. 2. Add tst-p_alignmod-base.c to build tst-p_alignmod-base.so with bool __attribute__ ((weak, noclone, noinline)) is_aligned_p (void *p, int align) { return (((uintptr_t) p) & (align - 1)) == 0; } 3. Update the Copyright year. Changes from v6: 1. Rebase. 2. Add tests for other p_align cases. H.J. Lu (3): elf: Add a test for PT_LOAD segments with mixed p_align [BZ #28676] elf: Add a test for PT_LOAD segments with p_align == 1 [BZ #28688] elf: Add a test for PT_LOAD segments with invalid p_align [BZ #28688] elf/Makefile | 39 ++++++++++++ elf/tst-elf-edit.h | 126 +++++++++++++++++++++++++++++++++++++ elf/tst-p_align.h | 20 ++++++ elf/tst-p_align1.c | 27 ++++++++ elf/tst-p_align2.c | 27 ++++++++ elf/tst-p_align3.c | 27 ++++++++ elf/tst-p_align3.sh | 27 ++++++++ elf/tst-p_alignmod-base.c | 41 ++++++++++++ elf/tst-p_alignmod1-edit.c | 27 ++++++++ elf/tst-p_alignmod2-edit.c | 27 ++++++++ elf/tst-p_alignmod3.c | 25 ++++++++ 11 files changed, 413 insertions(+) create mode 100644 elf/tst-elf-edit.h create mode 100644 elf/tst-p_align.h create mode 100644 elf/tst-p_align1.c create mode 100644 elf/tst-p_align2.c create mode 100644 elf/tst-p_align3.c create mode 100755 elf/tst-p_align3.sh create mode 100644 elf/tst-p_alignmod-base.c create mode 100644 elf/tst-p_alignmod1-edit.c create mode 100644 elf/tst-p_alignmod2-edit.c create mode 100644 elf/tst-p_alignmod3.c