[Bug 1535] New: doubts on test_posix_memalign

bugzilla-daemon at rtems.org bugzilla-daemon at rtems.org
Sat May 29 03:54:58 UTC 2010


https://www.rtems.org/bugzilla/show_bug.cgi?id=1535

           Summary: doubts on test_posix_memalign
           Product: RTEMS
           Version: 4.10
          Platform: All
        OS/Version: RTEMS
            Status: NEW
          Severity: normal
          Priority: P3
         Component: tests
        AssignedTo: joel.sherrill at oarcorp.com
        ReportedBy: ralf.corsepius at rtems.org


I am having several doubts on test_posix_memalign-test in
testsuites/libtests/malloctest/init.c 

a) The maxShift-loop iterates over "sizeof(int)" to set up the 2nd arg of
posix_memalign.

However, posix_memalign's 2nd arg is a size_t, not an int. Therefore, the loop
should iterate over a sizeof(size_t), IMO.

b) The computation of maxShift can be improved.
Instead of an if sizeof(X) == Y cascade, it can be computed from 
(sizeof(X) * CHAR_BIT)

c) SUSv4 says:
"The posix_memalign() function shall allocate size bytes aligned on a boundary
specified by alignment, and shall return a pointer to the allocated memory in
memptr. The value of alignment shall be a power of two multiple of 
sizeof( void *)."

Linux's man posix_memalign says:
"... alignment, which must be a power of two and a multiple of sizeof(void *)."

AFAIU, test_posix_memalign does not take this consideration into account,
instead it starts its checks at "2".

-- 
Configure bugmail: https://www.rtems.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the bugs mailing list