From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pj1-x1036.google.com (mail-pj1-x1036.google.com [IPv6:2607:f8b0:4864:20::1036]) by sourceware.org (Postfix) with ESMTPS id 859933835C14 for ; Fri, 14 Jan 2022 14:14:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 859933835C14 Received: by mail-pj1-x1036.google.com with SMTP id b1-20020a17090a990100b001b14bd47532so14291673pjp.0 for ; Fri, 14 Jan 2022 06:14:54 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=+GT/YyrFWqEUJCb5IrsIBWYFME2HHieI10tNqWeiNe4=; b=bZfxlyhHU0JWk4jB7xmAzLYNhhHwWJA46qGXCfSwVieHcs2aic2o18v+cqq51OFon3 ASTx0vkA67MJqxfkelc/XCO55FZiESVPEtt3UVauripfnesvfT6XeSRVEHt8PQsGC2F8 Bi8U/m7mvbu90/65vV/X1T8TgjAv78yrXrCTaNBguIViheLCBT/rMLTUAajDbdxitE6w uuNaEczGBs89/DKRa8QerUurZC5zyKzYmPVs7dU19tsUHfxY28Rt4TAYyDzOUZbeOmR6 E4dYFT7BGm8HieWvnGePxkeew4Ntt3hUHHx5HcmqE1WLSnHw2IaSoSooURylG8FxnuEK hZyA== X-Gm-Message-State: AOAM530Dp5GNE2H4fmvh6x6XuRFhCgs1C4ED6a2SnfXatFUYckhbZl3P vicfzdKACwf0CoTXGKWsNN0lL0tgAYXwEpc9NLJn0cmS X-Google-Smtp-Source: ABdhPJxIOonIdxACaYpgV6xQpbFnXL+vfMvvHFaogyGK3d1rXp9OLtmgaHdHeslnIIsjySk0jBfp5EEOL6ArnzZPpuM= X-Received: by 2002:a17:902:e544:b0:14a:555c:add3 with SMTP id n4-20020a170902e54400b0014a555cadd3mr9381146plf.102.1642169693498; Fri, 14 Jan 2022 06:14:53 -0800 (PST) MIME-Version: 1.0 References: <20211229193949.146079-1-hjl.tools@gmail.com> <11e134a2-1ee7-bec4-fa03-1d76609923f7@suse.com> <5843914b-e666-3c55-2e5b-5b320d55cf51@suse.com> In-Reply-To: From: "H.J. Lu" Date: Fri, 14 Jan 2022 06:14:17 -0800 Message-ID: Subject: Re: [PATCH v3] elf: Set p_align to the minimum page size if possible To: Jan Beulich Cc: Binutils Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-3021.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP 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: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Jan 2022 14:14:56 -0000 On Fri, Jan 14, 2022 at 6:08 AM Jan Beulich wrote: > > On 14.01.2022 15:02, H.J. Lu wrote: > > On Fri, Jan 14, 2022 at 5:40 AM Jan Beulich wrote: > >> > >> On 14.01.2022 14:03, H.J. Lu wrote: > >>> On Fri, Jan 14, 2022 at 12:27 AM Jan Beulich wrote: > >>>> > >>>> On 29.12.2021 20:39, H.J. Lu via Binutils wrote: > >>>>> --- a/ld/testsuite/ld-elf/linux-x86.exp > >>>>> +++ b/ld/testsuite/ld-elf/linux-x86.exp > >>>>> @@ -185,6 +185,42 @@ run_ld_link_exec_tests [list \ > >>>>> "" \ > >>>>> "tmpdir/indirect-extern-access-2.so" \ > >>>>> ] \ > >>>>> + [list \ > >>>>> + "Run p_align-1a without PIE" \ > >>>>> + "$NOPIE_LDFLAGS" \ > >>>>> + "" \ > >>>>> + { p_align-1.c } \ > >>>>> + "p_align-1a" \ > >>>>> + "pass.out" \ > >>>>> + "$NOPIE_CFLAGS" \ > >>>>> + ] \ > >>>>> + [list \ > >>>>> + "Run p_align-1b with PIE" \ > >>>>> + "-pie" \ > >>>>> + "" \ > >>>>> + { p_align-1.c } \ > >>>>> + "p_align-1b" \ > >>>>> + "pass.out" \ > >>>>> + "-fpie" \ > >>>>> + ] \ > >>>>> + [list \ > >>>>> + "Run p_align-1c with -Wl,-z,max-page-size=0x1000 without PIE" \ > >>>>> + "$NOPIE_LDFLAGS -Wl,-z,max-page-size=0x1000" \ > >>>>> + "" \ > >>>>> + { p_align-1.c } \ > >>>>> + "p_align-1c" \ > >>>>> + "pass.out" \ > >>>>> + "$NOPIE_CFLAGS" \ > >>>>> + ] \ > >>>>> + [list \ > >>>>> + "Run p_align-1d with -Wl,-z,max-page-size=0x1000 with PIE" \ > >>>>> + "-pie -Wl,-z,max-page-size=0x1000" \ > >>>>> + "" \ > >>>>> + { p_align-1.c } \ > >>>>> + "p_align-1d" \ > >>>>> + "pass.out" \ > >>>>> + "-fpie" \ > >>>>> + ] \ > >>>>> ] > >>>> > >>>> The two PIE variants of this also fail for me on glibc 2.26. Looks > >>>> like LOAD segments' alignment isn't being honored there, at least > >>>> not if it's as big as it is here. > >>>> > >>> > >>> The PIE alignment needs the kernel fix: > >>> > >>> commit ce81bb256a224259ab686742a6284930cbe4f1fa > >>> Author: Chris Kennelly > >>> Date: Thu Oct 15 20:12:32 2020 -0700 > >>> > >>> fs/binfmt_elf: use PT_LOAD p_align values for suitable start address > >> > >> Well, then the test needs to be skipped if that fix is not in place. > >> After all you're testing binutils behavior here, not kernel or libc one. > >> I'm running a variety of (largely up-to-date) kernels on all of my > >> systems. But it looks like our kernel folks decided against backporting > >> this particular change. And I don't think you expect people to remember > >> to run the testsuite only on top of "certain" kernels? > > > > Care to submit a patch? > > I have no idea what to check for. I would really expect you to fix such > an issue (or really two of them, considering the other problem) recently > introduced by you. What compiler are you using on the broken kernel? -- H.J.