On Thu, Jul 16, 2009 at 11:37 PM, hefan<[email protected]> wrote:
> hi,
>
> *[Patch 1/1] Patch for fixing the failed testcase openposix_mmap_11_4
>
> -modified the file
> *testcases/open_posix_testsuite/conformance/interfaces/mmap/11-4.c
>
>
> Signed-off-by: fredrick he <[email protected]>
>
> ---
> ltp.orig/testcases/open_posix_testsuite/conformance/interfaces/mmap/11-4.c
> 2009-07-17 11:53:36.000000000 +0800
> +++
> ltp/testcases/open_posix_testsuite/conformance/interfaces/mmap/11-4.c
> 2009-07-17 11:57:09.000000000 +0800
> @@ -130,7 +130,9 @@ int main()
> flag = MAP_SHARED;
> off = 0;
> pa = mmap(addr, len, prot, flag, fd_2, off);
> - pa_2 = mmap(addr, len, prot, flag, fd_2, off);
> + addr = pa;
> + memset(addr,0,len*2);
> + pa_2 = mmap(addr, len, prot, flag|MAP_FIXED, fd_2, off);
> if (pa_2 == MAP_FAILED)
> {
> printf("Test FAIL: " TNAME " Error at 2nd mmap(): %s\n",
Hi Fan,
Some questions / observations:
1. Yes, the testcases does fail on my machine today.
2. Yes, doing what you say above does work (at least the testcase passes).
3. Are you positive that your set of steps above in fact don't
invalidate the purpose of the testcase, by accident, in particular the
memset call? I ask because of the following statement in the mmap
manpage:
If addr is NULL, then the kernel chooses the address at which to create
the mapping; this is the most portable method of creating a new map-
ping. If addr is not NULL, then the kernel takes it as a hint about
where to place the mapping; on Linux, the mapping will be created at a
nearby page boundary. The address of the new mapping is returned as
the result of the call.
What you're in effect doing is changing the 2nd mmap call from an
arbitrary address to a set virtual address at 0x0. Is that indeed
correct?
4. Have you talked to the openposix test suite folks about this yet?
5. FWIW the same results are seen on FreeBSD, so I don't doubt that
the testcase is broken -- I just want to ensure that it's fixed in the
proper way :)...
[gcoo...@optimus /scratch/open_posix_testsuite]$
conformance/interfaces/mmap/11-4.test
pa: 0x800537000
pa_2: 0x800537000
Test Fail: mmap/11-4.c Modification of the partial page at the end of
an object is written out
[gcoo...@optimus /scratch/open_posix_testsuite]$ uname -a
FreeBSD optimus.zenmetsuhitotuyaneshita.net 8.0-CURRENT FreeBSD
8.0-CURRENT #0: Sun Jul 5 14:43:07 PDT 2009
[email protected]:/usr/obj/usr/src/sys/OPTIMUS
amd64
Thanks,
-Garrett
------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge
This is your chance to win up to $100,000 in prizes! For a limited time,
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize
details at: http://p.sf.net/sfu/Challenge
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list