From patchwork Mon Jan 3 23:04:29 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: 49492 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 700E13858C2C for ; Mon, 3 Jan 2022 23:05:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 700E13858C2C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1641251143; bh=wfV2F+mCTDUjZu7TTSy3qKXPaJpq2LkfVxzzA0pssTM=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=H19EMNcRPFIXqB0iVL9Ka9bQl0dXUUCH8aqQPuGlpLtQxCS769kMl0ZACUYlkEB7n ZiJZNrZ6y719ELagrZ0qZRaY2CI2uwIx7qQAMXYHnB5wqzMc61WrhV7iiBlVTvuUMx AxzLKjKfZexkgiTsM+vzbGlZ34QCtk8DJP/PTpH8= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pj1-x102c.google.com (mail-pj1-x102c.google.com [IPv6:2607:f8b0:4864:20::102c]) by sourceware.org (Postfix) with ESMTPS id B37813858405 for ; Mon, 3 Jan 2022 23:04:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B37813858405 Received: by mail-pj1-x102c.google.com with SMTP id z9-20020a17090a7b8900b001b13558eadaso38948859pjc.4 for ; Mon, 03 Jan 2022 15:04:37 -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=wfV2F+mCTDUjZu7TTSy3qKXPaJpq2LkfVxzzA0pssTM=; b=PD+aw/okF4Xy8v3hTDMbupkKF26OzX0ECxmNZ5BFIF+qiOIBwdAnCS/a3GwPbd3n14 Kc4KpvLzMK4IDG+N01/2nv/NxZDColI5pP2pBBGe3/HU2AZ+RKVqRTVrjXA8yZe/yLGL wglfR5Lau1W1V+xI2BraUagsdv8kthqfQdVcHeYEvEFUcsjrj/6kaUcYDUUvNP8kcDQI p90eeC79kq3EuVPzLNqY7EgvZzX+F0LlewcBhvICt3aec4VAAmzPA3vNuLiRduSgsL7z 4MokQ+VKtCxoLd3O/gnDqhHtCD9//WIQHvtbla+CKe3YQ56DgqNLe0G7JXe5IcfSMoZW jkmw== X-Gm-Message-State: AOAM5338SKKNvHC6HGsCJF/YYqBWmMF7hbWHUN4TJY56nIfpyMzKeRxr XQCDlex8OOGqWCRi5vi3fMRbkfjZq0A= X-Google-Smtp-Source: ABdhPJx8tP4mwMe1yEYFvkUng+eZiAo2ZBl8/9DzL8IiLCMP9B0I1hcqQLpJcAYx0rqPqGHQGNRsfA== X-Received: by 2002:a17:90b:3809:: with SMTP id mq9mr57563020pjb.245.1641251076525; Mon, 03 Jan 2022 15:04:36 -0800 (PST) Received: from gnu-tgl-3.localdomain ([172.58.35.133]) by smtp.gmail.com with ESMTPSA id h1sm19176676pfi.109.2022.01.03.15.04.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Jan 2022 15:04:35 -0800 (PST) Received: from gnu-tgl-2.localdomain (gnu-tgl-2 [192.168.1.42]) by gnu-tgl-3.localdomain (Postfix) with ESMTPS id A80F4C09C5; Mon, 3 Jan 2022 15:04:34 -0800 (PST) Received: from gnu-tgl-2.. (localhost [IPv6:::1]) by gnu-tgl-2.localdomain (Postfix) with ESMTP id 7C3B1300435; Mon, 3 Jan 2022 15:04:33 -0800 (PST) To: libc-alpha@sourceware.org Subject: [PATCH v7 0/4] Properly align all PT_LOAD segments with tests Date: Mon, 3 Jan 2022 15:04:29 -0800 Message-Id: <20220103230433.1907240-1-hjl.tools@gmail.com> X-Mailer: git-send-email 2.33.1 MIME-Version: 1.0 X-Spam-Status: No, score=-3020.3 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 v6: 1. Rebase. 2. Add tests for other p_align cases. Linker may set p_align of a PT_LOAD segment larger than p_align of the first PT_LOAD segment to satisfy a section alignment. We should align the first PT_LOAD segment to the maximum p_align of all PT_LOAD segments. H.J. Lu (4): elf: Properly align all PT_LOAD segments [BZ #28676] 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 | 42 +++++++++++++ elf/dl-load.c | 9 ++- elf/tst-elf-edit.h | 126 +++++++++++++++++++++++++++++++++++++ elf/tst-p_align1.c | 27 ++++++++ elf/tst-p_align2.c | 27 ++++++++ elf/tst-p_align3.c | 27 ++++++++ elf/tst-p_align3.sh | 26 ++++++++ elf/tst-p_alignmod1-edit.c | 34 ++++++++++ elf/tst-p_alignmod2-edit.c | 27 ++++++++ elf/tst-p_alignmod3.c | 22 +++++++ 10 files changed, 366 insertions(+), 1 deletion(-) create mode 100644 elf/tst-elf-edit.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_alignmod1-edit.c create mode 100644 elf/tst-p_alignmod2-edit.c create mode 100644 elf/tst-p_alignmod3.c