From: Jan Beulich <jbeulich@suse.com>
To: "H.J. Lu" <hjl.tools@gmail.com>
Cc: Binutils <binutils@sourceware.org>
Subject: Re: [PATCH] ld: Require GCC 8.0 for p_align-1.c tests
Date: Mon, 17 Jan 2022 14:51:26 +0100 [thread overview]
Message-ID: <62989164-2784-07f0-ea30-9000c9c9eb6f@suse.com> (raw)
In-Reply-To: <CAMe9rOpSivPoaz+jwPdGxkES_DV_RefaE7ZbsMuJv8v9Z13O8A@mail.gmail.com>
On 17.01.2022 14:44, H.J. Lu wrote:
> On Mon, Jan 17, 2022 at 2:38 AM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 14.01.2022 15:14, H.J. Lu wrote:
>>> On Fri, Jan 14, 2022 at 6:08 AM Jan Beulich <jbeulich@suse.com> wrote:
>>>>
>>>> On 14.01.2022 15:02, H.J. Lu wrote:
>>>>> On Fri, Jan 14, 2022 at 5:40 AM Jan Beulich <jbeulich@suse.com> wrote:
>>>>>>
>>>>>> On 14.01.2022 14:03, H.J. Lu wrote:
>>>>>>> On Fri, Jan 14, 2022 at 12:27 AM Jan Beulich <jbeulich@suse.com> 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 <ckennelly@google.com>
>>>>>>> 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?
>>
>> gcc 7.4.1
>>
>> No idea how that matters, though.
>
> Try this.
I can see that this might help with the other problem I did report, but I
don't see how gcc version and kernel in use would correlate. I guess I
could build binutils on that box with gcc 11, and then the kernel still
wouldn't do what you expect it to do. Much like I could continue using
gcc 7 and use a newer kernel, and then the test would be skipped for no
reason.
What I don't understand is why this needs to be a "run" test in the first
place. You're only after checking that the produced binary is correct,
aren't you?
Jan
next prev parent reply other threads:[~2022-01-17 13:51 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-29 19:39 [PATCH v3] elf: Set p_align to the minimum page size if possible H.J. Lu
2022-01-14 8:12 ` Jan Beulich
2022-02-10 12:44 ` Jan Beulich
2022-01-14 8:27 ` Jan Beulich
2022-01-14 13:03 ` H.J. Lu
2022-01-14 13:40 ` Jan Beulich
2022-01-14 14:02 ` H.J. Lu
2022-01-14 14:07 ` Jan Beulich
2022-01-14 14:14 ` H.J. Lu
2022-01-17 10:38 ` Jan Beulich
2022-01-17 13:44 ` [PATCH] ld: Require GCC 8.0 for p_align-1.c tests H.J. Lu
2022-01-17 13:51 ` Jan Beulich [this message]
2022-01-17 13:54 ` H.J. Lu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=62989164-2784-07f0-ea30-9000c9c9eb6f@suse.com \
--to=jbeulich@suse.com \
--cc=binutils@sourceware.org \
--cc=hjl.tools@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).