From: "Alex Bennée" <alex.bennee@linaro.org>
To: Laurent Vivier <laurent@vivier.eu>
Cc: qemu-devel@nongnu.org, "Peter Maydell" <peter.maydell@linaro.org>,
"Philippe Mathieu-Daudé" <philmd@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] tests/tcg/multiarch: fix 32bit linux-test on 64bit host
Date: Wed, 14 Nov 2018 10:23:51 +0000 [thread overview]
Message-ID: <87a7mcdkjs.fsf@linaro.org> (raw)
In-Reply-To: <20181113175437.26492-1-laurent@vivier.eu>
Laurent Vivier <laurent@vivier.eu> writes:
> Fix:
>
> TEST linux-test on i386
> .../tests/tcg/multiarch/linux-test.c:201: readdir
>
> readdir() calls getdents64() to have the list of the entries in a
> directory, and getdents64() can return 64bit d_off values (with ext4,
> for instance) that will not fit in the 32bit d_off field of the
> readdir() dirent structure.
>
> To avoid that, use readdir64() to use a 64bit d_off field too.
>
> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
I guess the only remaining question is do we want to defend the other
case or just say it's not supported and all binaries are expected to use
modern-ish libcs with getdents64?
Anyway:
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
I'm preparing a pull-req with a travis patch, would you like me to
include this as well?
> ---
> tests/tcg/multiarch/linux-test.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tests/tcg/multiarch/linux-test.c b/tests/tcg/multiarch/linux-test.c
> index e80eccc0ce..fa4243fc04 100644
> --- a/tests/tcg/multiarch/linux-test.c
> +++ b/tests/tcg/multiarch/linux-test.c
> @@ -83,7 +83,7 @@ static void test_file(void)
> struct utimbuf tbuf;
> struct iovec vecs[2];
> DIR *dir;
> - struct dirent *de;
> + struct dirent64 *de;
> /* TODO: make common tempdir creation for tcg tests */
> char template[] = "/tmp/linux-test-XXXXXX";
> char *tmpdir = mkdtemp(template);
> @@ -186,7 +186,7 @@ static void test_file(void)
> error("opendir");
> len = 0;
> for(;;) {
> - de = readdir(dir);
> + de = readdir64(dir);
> if (!de)
> break;
> if (strcmp(de->d_name, ".") != 0 &&
--
Alex Bennée
next prev parent reply other threads:[~2018-11-14 10:24 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-13 17:54 [Qemu-devel] [PATCH] tests/tcg/multiarch: fix 32bit linux-test on 64bit host Laurent Vivier
2018-11-14 10:23 ` Alex Bennée [this message]
2018-11-14 10:36 ` Laurent Vivier
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=87a7mcdkjs.fsf@linaro.org \
--to=alex.bennee@linaro.org \
--cc=laurent@vivier.eu \
--cc=peter.maydell@linaro.org \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.