I'm getting the following failure on my Xscale (ARM) board
shmt09 1 PASS : sbrk, sbrk, shmget, shmat
shmt09 2 PASS : sbrk, shmat
shmat: Invalid argument
shmt09 3 FAIL : Error: shmat Failed, shmid = 1409024, errno = 29
The following is the suspect code (around line 160):
#ifdef __mips__
vp = (void *)((char *)sbrk(0) + 256 * K_1);
#elif defined(__powerpc__) || defined(__powerpc64__)
vp = (void *)((char *)sbrk(0) + getpagesize());
#else
/* SHM_RND rounds vp on the nearest multiple of SHMLBA */
vp = (void *)SHMALIGN((char *)sbrk(0) + 1);
#endif
c3 = (char *)shmat(shmid, vp, SHM_RND);
It looks like vp is providing an invalid argument to shmat.
I ran the test with vp set to the following and added printf's to
return "vp" and sbrk(0) values:
Debug Case 1:
vp = (void *)SHMALIGN((char *)sbrk(0) + 1);
The variable "vp" returns: vp = 0x1d000
the function sbrk() returns: sbrk(0) 0x1c17f
I then changed the vp variable to (added __arm__ to the __mips__
section above) and the test passes:
Debug Case 2:
vp = (void *)((char *)sbrk(0) + 256 * K_1);
The variable "vp" returns: vp = 0x5c17f
the function sbrk() returns: brk(0) 0x1c17f
I do not understand why Debug Case 2: (default code in ltp) fails.
The shared mem current page is 0x1c17f and vp is 0x1d000 this seems
correct or at least no different than Debug Case 2 were vp is a page
or more higher in address than what sbrk(0) returns.
Regards,
Shane
System:
Xscale PXA270
64 MB Ram
Kernel 2.6.23.16
libc-2.5
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list